Electroencephalography (EEG) is a complex task, which needs many types of engineering expertise to measure, analyze and interpret brain signals. In this current work the biophysics of EEG is introduced, then I present some potential possibilities to examine the brain signals. The topics of signal preprocessing, signal-to-noise ratio and interpreting signal components are discussed. The other track of this work is the machine learning discussion, from simple linear models to more complex recurrent deep learning methods the theoretical foundations are overviewed. The aim of this section to provide an oppurtunity for analyzing EEG signal sets with recurrent neural networks. My main method of benchmarking these algorithms is binary classification over a real-life EEG dataset and state-of-art neural network models compared to a more classical approach called Support Vector Machines. Using this dataset I show how categorical separation of brain signals can be done and I offer potentially a new method to interpret class differences in EEG sets.