This document provides an introduction to natural language processing (NLP). It discusses the brief history of NLP, major NLP tasks such as machine translation and text classification, common NLP techniques like part-of-speech tagging and parsing, main problems in NLP including ambiguity, and an overview of the topics to be covered in the course such as tokenization, parsing, and topic modeling. The course aims to use Python and R to complete various NLP tasks.