This course introduces students to natural language processing (NLP) concepts and methods. Students learn how to conduct both supervised and unsupervised NLP. The course covers the basics of NLP, text (document) classification, text summarization, text similarity and clustering, semantic analysis, sentiment analysis, and deep learning approaches (recurrent neural networks and transformer-based architecture).