This course introduces students to natural language processing (NLP) concepts and methods. Students will learn how to conduct both supervised and unsupervised NLP. The course covers 1) the basics of NLP, 2) text (document) classification, 3) text summarization, 4) text similarity & clustering, 5) semantic analysis, 6) sentiment analysis, and 7) deep learning approaches (Recurrent Neural Networks and transformer-based architecture.