Provide the students with an in depth understanding of the field of computational linguistics (a.k.a. NLP). We will cover the main problems taken into consideration by the field, such as text analysis, text classification, information extraction, dialogue, translation. We will present an historical overview of the field with a quick look at historical approaches, followed by a rich treatment of the most modern approaches (based on transformers).