Natural Language Processing (NLP) is one of the fastest growing areas of artificial intelligence. This course covers a wide range of topics, from the basics of NLP to the latest NLP techniques using deep learning. In particular, it provides an in-depth understanding of cutting-edge generative models such as ChatGPT.