Natural Language Processing (NLP) enables computers to work with human language. In this course, students will explore the core models and algorithms that underpin modern NLP, with a strong emphasis on large language models (LLMs). The teaching is in the form of video lectures, interactive sessions, and programming assignments. The final part of the course is a project where students apply their learning to their own field of research.

Course Type:

  • AS track: elective
  • AI track: elective
  • Joint Curriculum: advanced

Time: Given even years, Spring

Teachers: Marco Kuhlmann (LiU), Richard Johansson (CTH)

Examiner: Marco Kuhlmann (LiU)

The participants are assumed to have a background in mathematics corresponding to the contents of the WASP-course “Introduction to Mathematics for Machine Learning (4hp)”. The course requires solid programming experience in a high-level language; the programming assignments will use Python. Students are expected to be comfortable with modern deep learning techniques and frameworks, for instance as taught by the WASP course Deep Learning . No previous knowledge of NLP is required.

Natural Language Processing (NLP) develops methods for making human language accessible to computers. The goal of this course is to provide students with a theoretical understanding of and practical experience with the advanced algorithms that power modern NLP. The course focuses on methods based on deep neural networks.

On completion of the course, the student should be able to

  • explain and analyse state-of-the-art deep learning architectures for NLP
  • implement such architectures and apply them to practical problems
  • design and carry out evaluations of deep learning architectures for NLP
  • use current approaches to NLP in the student’s own field of research

The course content is presented in three modules:

  1. Introduction to deep learning for NLP. Overview of large language models (LLMs). Tokenisation and embeddings. Attention. LLM architectures, including GPT and BERT.
  2. Introduction to LLM development. Pretraining. Instruction fine-tuning. Alignment with human preferences. Data. Societal, environmental and ethical aspects.
  3. Current research in NLP. Applications of NLP in other research areas.

Each module presents relevant validation methods, tools, software libraries, and datasets.

Daniel Jurafsky and James H. Martin. 2025. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition with Language Models, 3rd edition. Online manuscript released August 24, 2025. https://web.stanford.edu/~jurafsky/slp3

Each module features:

  • video lectures introducing technical concepts
  • reading assignments
  • a set of non-examinatory programming exercises and discussion tasks
  • interactive sessions where students apply and deepen their understanding

For the first two modules, there are also examinatory programming assignments. The final assignment is a project where students apply their learning to their own field of research.

4 programming assignments, 1 self-defined project