This document provides an overview of brain-computer interfaces (BCI). It begins with an introduction to BCI and defines it as a direct channel between the human brain and a computer. The document then outlines the BCI model and covers early work in the 1970s developing algorithms to reconstruct movements from motor cortex neurons. It discusses various BCI approaches, including invasive, semi-invasive, and non-invasive methods, and covers applications such as providing communication assistance to disabled individuals and enhancing computer game control. Current BCI projects are highlighted and the conclusion reiterates the potential for BCI as a therapeutic tool and avenue for human enhancement.