The course in Natural Language Processing (NLP) addresses fundamental questions at the intersection of human languages and computer science. It tries to answer how computers acquire, comprehend and produce a human language. The course covers a broad range of topics in natural language processing, including word and sentence tokenization, text classification and sentiment analysis, spelling correction, information extraction, parsing, part of speech tagging, meaning extraction, and question answering, speech and image processing and machine translation.