Introduction to Natural Language Processing

Georgetown University, Fall 2017 & 2019

Course Description:

This course will introduce students to the basics of Natural Language Processing (NLP), a field which combines insights from linguistics and computer science to produce applications such as machine translation, information retrieval, and spell checking. We will cover a range of topics that will help students understand how current NLP technology works and will provide students with a platform for future study and research. We will learn to implement simple representations such as finite-state techniques, n-gram models and basic parsing in the Python programming language. Previous knowledge of Python is not required, but students should be prepared to invest the necessary time and effort to become proficient over the course of the semester. Students who take this course will gain a thorough understanding of the fundamental methods used in natural language understanding, along with an ability to assess the strengths and weaknesses of natural language technologies based on these methods.


As a TA, I primarily helped students complete the programming assignments, as well as grading and giving feedback on those assignments. Since many students were new to programming, I helped them develop basic programming skills like translating ideas to code, testing, and debugging.