I have just started to work on problems in neuroscience on my own. I sought to analyze the P300 response from EEG data because I was trying to understand a Kaggle.com challenge that used it. I found a few available datasets online, a couple of which were from BCI competitions, but have not been able to successfully separate the signals with the P300 response from those without the response. So far, I have subtracted the average of a channel from the channel and run a bandpass filter on the data. This seems to produce good looking data, but looking for the associated event related potential (ERP) leads to inclusive results.
It appears that the data from the BCI competition may not be easy to analyze, but it is the most documented P300 response with available data that I can find. That said, some of the techniques used involve mathematical functions such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-weights to find the signal and classify and analyze it. I am aware of references available for these mathematical techniques but not in the context of neuroscience.
Furthermore, I am aware that there are some EEG analysis toolboxes for Python, but it is more important for me to understand the data than to feed it through a black box. Also, I have found these toolboxes rather undocumented.