The basis for this course is in the lecture notes. The list of chapters and sections to study is given for each test in the course schedule. The slides often work as a summary of the lecture notes, and stresses what is important. But that does not mean the exam will restrict itself to aspects discussed during a lecture, or that everything that is discussed during the lectures is in the lecture notes. In order to be safe, I suggest you study both.
In addition, anything that comes up during doing the exercises and lab assignments should be considered part of the course. However, I will not ask any question relating to the instruction set and detailed workings of the SSM application that you used in the third practical.
Below you find a long list of older exams. A recent, more relevant, list of exams is here:
The questions in the final exam of this course will be comparable to the open questions in these two exams. This is because a change with respect to the course years up to 2020, is that this course now has a final exam about all the course material. Until then, the material was split over the midterm and the exam in the final exam week. Of course, the amount of work asked of you during the final exam this year will be less than the sum of the above two: you have three hours, while before students had two hours for each. This also means that not all topics addressed in these examples exams will on any given exam. So, for example, one year I might ask for an LR(0) automaton, in another year I might about FIRST and FOLLOW sets, and in some years I might even ask about both, and then omit another topic.
On this page you can find a large number of exams to practice with, often including a separate version that has answers. Note that over the years the contents of the midterm and final exam might have been differently distributed, so this year certain kinds of questions may end up in a different exam compared to other years.