There are no official prerequisites for this course. We will delve into various tools, techniques, and ideas within the topic of Natural Langauge Processing. Some central ideas are: algorithms and data structures, linear algebra, calculus, machine learning, and neural networks. We will create everything from the ground up, so that the student can have a clear grasp on the technologies used in NLP. There are, however, some helpful aids that the student should consult: