This course will introduce the basics of NLP, covering standard frameworks for dealing with natural language as well as methods to solve different NLP problems. The covered topics include language modeling, representation learning, text classification, sequence tagging, machine translation, question answering, and others. Students are expected to learn to solve typical natural language processing tasks at the end of this course.