Brain Computer Interfaces: Fundamentals and Methods