Description: This course offers a hands-on introduction to Computational Linguistics and Natural Language Processing, an interdisciplinary field that uses computers to analyze, model, or produce human language. We will learn to process, search, and analyze texts, including tokenization, using regular expressions, and assessing the sentiment and topic of documents. We will study computational methods for processing the structure and compositional semantics of speech, such as part-of-speech tagging, syntactic parsing, information extraction, and understanding meaning. We will also cover more advanced applied topics such as dialogue engineering, machine translation, and automatic speech recognition. While the course does not require a formal background in programming, some familiarity with Python may be helpful.