Organization

Events & Dates

The lecture will be organized in lectures, tutorials, and office hours. The lectures present the content. There will be weekly tutorials in which you discuss the exercise sheets of the course and in which you can also talk to your tutor if you have trouble with the lecture content. We offer office hours, where you can ask questions about the lecture content or seek assistance with programming projects. To this end, the Forum serves a similar purpose (please keep questions in English). Prior to the first programming project, there will be a brief introduction to these projects. It is not mandatory to participate in any of these offers, it is your responsibility to decide how much help you require.

All dates and events can be looked up in the CMS Timetable. In general, all events will be held in person, without recordings. However, course material like lecture slides will of course be uploaded to the CMS Materials section. Lectures take place in HS002 E1 3 (Tue 14-16, Thu 10-12). Office hours will be held in building E1 1, seminar room 3.06. For the tutorials, please refer to your personal status page in the CMS to find out when and where they are held once you have been assigned to one.
 

Exercise Sheets

Every week, we will give out exercise sheets with which you can test your understanding of the lecture topics. These exercise sheets are not mandatory, i.e., it is not required to complete them in order to achieve the exam admission and do not influence your final grade for the lecture. However, we strongly recommend you to examine them.

We do not hand out digital solutions. The solutions of each exercise sheet will be covered in the tutorial two weeks after the sheet is released.
 

Programming Projects

There will be five programming projects, including an introductory project. The general topics of these projects are:

  • Implementation of heuristics for heuristic search algorithms
  • Learning a strategy (policy) for a sequential decision making problem using supervised learning
  • Implementation of basic machine learning algorithms

The programming projects are written in C++ and Python. For students not familiar with these languages, we will offer additional lecture-like demonstration sessions to help you get accustomed to the language. Nevertheless, you should at least have basic familiarity with C in order to profit from these demonstrations.

Grading

The programming projects are mandatory and must be worked on alone. All programming projects amount to 100 points in total. You must achieve at least 40 out of 100 points in the programming projects in order to be allowed to write the exam. The programming projects do not have an influence on the final grade.

Programming projects will mostly be graded based on correctness of your implementation. To this end, we provide both public tests which you can inspect and test your implementation with at any time, as well as daily tests which are anonymous and executed once a day on our test servers. Passing the public tests for a specific project task is required to be eligible for any points in this task. The daily tests are used to grade the task. There are no secret tests for tasks graded based on correctness. In particular, if you manage to pass all daily tests for a project task, you are done with this task and are guaranteed to receive full points for it.

In some projects, you may be asked to learn and submit machine learning models, which we will grade by comparing their performance in specific tasks against a baseline model. For these projects, there are no public tests, but there are daily tests which will report to you the relative performance of your model against the baseline on a chosen set of daily tasks. For these projects only, we may use additional secret tests that also assess the performance of your models on a chosen set of secret tasks. If used, the secret tests will not be run until after the project deadline. The final score is a weighted average of daily test and secret test performance.

For exact information on how specific project tasks are graded, please refer to the corresponding project description once it is published.

Hacking Clause: Any intentional attempt to disclose the content of non-public tests through programmatic means is considered an attack on our testing infrastructure and will be met with immediate expulsion from the course and potential legal consequences if applicable. Additionally, trying to prevent the normal test execution by e.g., installing a signal handler is considered cheating and will result in zero points for the offending project, or expulsion from the course for repeated offenders.
 
Plagiarism Clause: We will regularly run plagiarism tests to detect any intentional attempt to copy code for the implementation of a project task from other participants or internet sources. This will result in zero points for the entire project in which the attempt was noticed, which holds for the students that shared their implementation with others as well as those students making use of this information. Importantly, self-written test cases are excluded from this rule, unless they contain code relevant for the implementation of a project task. Repeated or severe offenders will be expelled from the course.
 
LLM Clause: We disadvise you from using LLMs in your studies, in general not only in this course. This is because using them will cause you to learn (much) less, while learning is supposedly the purpose of your studies. That said, we do not disallow the use of  LLMs in the programming exercises. Be aware though of plagiarism issues due to similar LLM-produced code. You must be able to explain your code, and exactly how you obtained it, including logs/demonstrations for use of LLMs.
 

Examination Regulations

To qualify for the main exam and the re-exam, students must achieve at least 40 out of 100 points in the programming projects and pass the mid-term exam. The mid-term exam is not an examination in the sense of the study regulations, but only an examination prerequisite. It has no influence on your grade.

To pass the course, you need to pass either the main exam or the re-exam. The final course grade is the best of both exam grades. Both exams will be closed book. You may bring one hand-written A4 sheet with notes.

The passing threshold for all exams (including the mid-term) is usually set to 50% of the available points. However, we may change the threshold (for any exam) to adjust for exam difficulty. 

Further information will be provided in due course.

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.