Natural Language Processing

ETH Zürich, Fall 2026: Course catalog

Course Description

The course constitutes an introduction to modern techniques in the field of natural language processing (NLP). Our primary focus is on the algorithmic aspects of structured NLP models. The course is self-contained and designed to complement other machine learning courses at ETH Zürich, e.g., Deep Learning (263-3210-00L) and Advanced Machine Learning (252-0535-00L). At some points in the course, familiarity with advanced algorithms, e.g., the contents of Algorithms Lab (263-0006-00L), and mathematical statistics, e.g., the contents of Fundamentals of Mathematical Statistics (401-3621-00L), will be useful. However, the necessary background knowledge can certainly be picked up in the context of the course, i.e., neither of the above-listed courses is a hard prerequisite. The course also has a strong focus on algebraic methods, e.g., semiring theory. In addition to machine learning, we also cover the linguistic background necessary for reading the NLP literature.

News

03.09.2026   Class website is online!

Organisation

On the Use of Class Time

There are two lecture slots for NLP. The first slot is on Monday from 12h to 14h. During this time, the main lecture will be given. The second slot is on Tuesday from 13h to 14h and will occasionally be used as a spill-over time if we did not get through all of the lecture material on Monday (this ensures that the class stays on track). By default, there is no lecture on Tuesdays. Changes to the schedule will be announced on the course Moodle forum.

Moodle Forum

In addition to class time, there will also be a discussion forum on the course Moodle page. Students are free to ask questions of the teaching staff and of others there. The forum supports LaTeX for easier discussion of technical material.

Important: There are a few important points you should keep in mind about the course forum:

  1. The Moodle forum will be the main communications hub for the course. You are responsible for receiving all messages broadcast there.
  2. Search for answers in the forum before posting a new question.
  3. Ask questions on the public forum as much as possible.
  4. Answer to posts in threads.

If you feel like you would benefit from any other discussion board on the forum, feel free to suggest it to the teaching team!

Reporting Errata

Please report any errata in this document. Such errata can be, e.g., typos, conceptual mistakes, unclear points, found in the lecture slides, assignments, tutorials or course notes. Every contribution is very welcome and will help us improve the teaching materials!

Course Notes

We are currently working on turning out class content into a book! The current draft of the book, i.e., the course notes, can be found here.

Other useful literature:

Grading

Marks for the course will be determined by the following formula:

  • 70% Final Exam
  • 30% Assignment or Class Project

On the Final Exam

The final exam is comprehensive and should be assumed to cover all the material in the slides and class notes. About 50% of exam questions will be very similar (or even identical) to the theory portion of the class assignments. Thus, it behooves you to at least look at all the assignment questions while preparing for the final exam even if you do not turn them all in for a grade. Solutions for the assignments will not be provided (they will be re-used every year), but the teaching staff can answer questions if you solve the problems ahead of time.

Very important: We require the solutions to be properly typeset. Handwritten solutions will not be accepted. We recommend using LaTeX (with Overleaf), but markdown files with MathJax for the mathematical expressions are also fine. We provide a template for the writeups here.

Additionally, the solutions have to be presented in a clean and readable way, with all sub-steps of the solutions presented in a logical order. Note that this does not mean that your submissions have to be overly verbose and long. It simply means that you should explain your reasoning and the steps of your solutions in a clear and concise way.

The detailed instructions for the submission will be given in each assignment separately.

On the Tutorials

Tutorials will take place Wednesdays 16h to 19h in HG F7. Their main purpose is to repeat the most important insights from the corresponding lecture and to discuss the solutions of the exercises. Therefore, we strongly encourage you to solve the exercises beforehand.

Furthermore, we will introduce new assignments and allow you to ask questions about them. Roughly, we expect to devote 2 hours per week to exercises and 1 hour to the assignments (when a new assignment has been released). We therefore strongly encourage you to look at the assignment problems in due time and come to the discussions sessions with your questions. We want the sessions to be useful for you!

Assignment Office Hours

In addition to the tutorials, we will hold assignment-specific online office hours on Zoom during the week before the deadline of the assignment. You will have the opportunity to talk to the TAs responsible for that assignment and ask individual questions you do not want to discuss on the public Moodle forum. We will send out 10 minute slots for you to sign up for closer to the time on Moodle.

Syllabus

Week Date   Topic Slides   Readings Supplementary Material Material Exercise Sheets
0 15.9.2026 No lecture
1 21.9.2026 Introduction to NLP, Course logistics,
Introduction of the TA team
Eisenstein Ch. 1
22.9.2026 Introduction to NLP
2 29.9.2026 Backpropagation Goodfellow, Bengio and Courville Ch. 6.5 Chris Olah's Blog
Justin Domke’s Notes
Tim Vieira’s Blog
Moritz Hardt’s Notes
Bauer (1974)
Baur and Strassen (1983)
Griewank and Walter (2008)
Eisner (2016)
Backpropagation Proof
Computation Graph for MLP
Computation Graph Example
3 5.10.2026 Log-Linear Modeling---Meet the Softmax Eisenstein Ch. 2 Ferraro and Eisner (2013)
Jason Eisner’s list of further resources on log-linear modeling
6.10.2026 Log-Linear Modeling---Meet the Softmax
4 12.10.2026 Sentiment Analysis with Multi-layer Perceptrons Eisenstein Ch. 3 and 4;
Goodfellow, Bengio and Courville Ch. 6
13.10.2026 Sentiment Analysis with Multi-layer Perceptrons
5 19.10.2026 Language Modeling with n-grams and LSTMs Eisenstein Ch. 6;
Goodfellow, Bengio and Courville Ch. 10
Good Tutorial on n-gram smoothing
Good–Turing Smoothing
Kneser and Ney (1995)
Bengio et al. (2003)
Mikolov et al. (2010)
20.10.2026 Language Modeling with n-grams and LSTMs
6 26.10.2026 Part-of-Speech Tagging with CRFs Eisenstein Ch. 7 and 8 Tim Vieira's Blog
McCallum et al. (2000)
Lafferty et al. (2001)
Sutton and McCallum (2011)
Koller and Friedman (2009)
27.10.2026 Part-of-Speech Tagging with CRFs, Assignment 2 introduction
7 2.11.2026 Transliteration with WFSTs Eisenstein Ch. 9 AFLT Course Notes Chapters 1, 2, and 3
Knight and Graehl (1998)
Mohri, Pereira and Riley (2008)
3.11.2026 Transliteration with WFSTs
8 9.11.2026 Context-Free Parsing with CKY Eisenstein Ch. 10 The Inside-Outside Algorithm
Jason Eisner’s Slides
Kasami (1966)
Younger (1967)
Cocke and Schwartz (1970)
10.11.2026 Context-Free Parsing with CKY
9 16.11.2026 Dependency Parsing with the Matrix-Tree Theorem Eisenstein Ch. 11 Koo et al. (2007)
Smith and Smith (2007)
McDonald and Satta (2007)
McDonald, Kübler and Nivre (2009)
17.11.2026 Dependency Parsing with the Matrix-Tree Theorem
10 23.11.2026 Semantic Parsing with CCGs Eisenstein Ch. 9.3 and 12 Weir and Joshi (1988)
Kuhlmann and Satta (2014)
Mark Steedman's CCG slides
24.11.2026 Semantic Parsing with CCGs
11 30.11.2026 Machine Translation with Transformers Eisenstein Ch. 18 Vaswani et al. (2017)
The Annotated Transformer
The Illustrated Transformer
The Transformer Family
1.12.2026 Machine Translation with Transformers
12 7.12.2026 Axes of Modeling Review Eisenstein Ch. 2;
Goodfellow, Bengio and Courville Ch. 5 and 11
8.12.2026 Axes of Modeling
13 14.12.2026 Bias and Fairness in NLP Bolukabasi et al. (2016)
Gonen and Goldberg (2019)
Hall Maudslay et al. (2019)
Vargas and Cotterell (2020)
A Course in Machine Learning Chapter 8
15.12.2026 Bias and Fairness in NLP

Tutorial Schedule

Week Date   Topic Teaching Assistant Material
1 16.9.2026 No Tutorial
2 23.9.2026 No tutorial
3 30.9.2026 No tutorial
4 7.10.2026 Backpropagation, Assignment 1 introduction
5 14.10.2026 Log-Linear Modeling
5 21.10.2026 Sentiment Classification with Multi-layer Perceptrons
6 28.10.2026 Language Modeling with n-grams and LSTMs
7 4.11.2026 Part-of-speech Tagging with CRFs, Assignment 2 introduction
8 11.11.2026 Transliteration with WFSTs, Assignment 3 introduction
10 18.11.2026 Context-free Parsing, Assignment 4 introduction
11 25.11.2026 Dependency Parsing with the Matrix-Tree Theorem, Assignment 5 introduction
12 2.12.2026 Semantic Parsing with CCGs
13 9.12.2026 Machine Translation with Transformers, Assignment 6 introduction
14 17.12.2026 Axes of Modeling

Lecturer

Avatar

Ryan Cotterell

Assistant Professor of Computer Science

ETH Zürich

Teaching Assistants NLP F26

Avatar

Blanka Kövér

Master’s Student

ETH Zürich