News

Main Exam on Monday, 20th of July

Written on 17.07.26 by Thorsten Klößner

Dear students,

the main exam will take place next Monday, 20th of July and will begin at 9:00 (sharp). The exam will be distributed across 4 different lecture halls. Every student has been assigned a lecture hall and a fixed seat within this lecture hall. Please have a look at the personal status… Read more

Dear students,

the main exam will take place next Monday, 20th of July and will begin at 9:00 (sharp). The exam will be distributed across 4 different lecture halls. Every student has been assigned a lecture hall and a fixed seat within this lecture hall. Please have a look at the personal status page of the CMS to find out which room and seat you have been assigned to. Students with compensation for disadvantages should have been assigned a seat in the front row.

To enable us to check your identity, please bring your student ID and a photo ID. Also bring a document-proof pen. The exam is closed-book, i.e., you may not use additional external aids. You will be provided an official appendix containing for example the RISC-V instruction set or the C0 operational semantics rules, like in the minitests.

Regards,
Thorsten Klößner

Information: Catchup Minitest

Written on 13.07.26 by Johannes Schmalz

Dear students,

The catchup minitests will be held on Wednesday 15.07. during the regular tutorial slots, i.e., at 12:00, 14:00, and 16:00. If you are eligible, you may join any of the slots, regardless of which tutorial you are registered to, and there is no need to register or let us know which… Read more

Dear students,

The catchup minitests will be held on Wednesday 15.07. during the regular tutorial slots, i.e., at 12:00, 14:00, and 16:00. If you are eligible, you may join any of the slots, regardless of which tutorial you are registered to, and there is no need to register or let us know which time slot you plan to attend.

The sessions will be located in SR 106 (E1.1).

You are only eligible to take a catchup minitest if you missed one of the minitests due to illness and sent us a doctor's certificate, or if you contacted us with some other reason that we approved. If you have not contacted us, but think you should be eligible to take the catchup minitest, then please make a post to StudentRequests via the link in "Materials" on CMS.

If you missed multiple minitests, you can write them one after the other, or you may spread them over multiple timeslots. 

Important: If you want to take the exam, you must register for it today. Registration closes today, and we cannot register anyone after the deadline. If you later do not earn enough points to qualify, we can unregister you. However, you must register yourself by the deadline in the usual way.

Test 5.4 bonus points

Written on 10.07.26 by Marcel Ullrich

Dear students,

We decided to count the minitest task 5.4. "Java Iterator with Project 5 Theme" as bonus points.
With this change, admission is effectively lowered to 56.5 points of the possible 120 (instead of the previous 60).

Regards,
Your Prog2 Team

Exam, Project 6, Mock Exam

Written on 10.07.26 by Marcel Ullrich

Dear students, 

The exam takes place on the 20th of July.
It starts at 8:59 am. Be a few minutes early to ensure we can start on time.
The exam will take 180 minutes.
Your room and seat will be announced on your personal status page shortly before.

The points for Project 6 have been released.… Read more

Dear students, 

The exam takes place on the 20th of July.
It starts at 8:59 am. Be a few minutes early to ensure we can start on time.
The exam will take 180 minutes.
Your room and seat will be announced on your personal status page shortly before.

The points for Project 6 have been released. You can find them on your personal status page along with the feedback on the leaderboard.
Note: The plagiarism and LLM usage checks have not been performed yet. Violation of our project policies might lead to changes in your points.

You can see your Main Exam admission status on your personal status page.
Information about the sickness-replacement minitest will be announced separately.

You need to register in VIPA or LSF to take part in the exam.
Deadline LSF: 13.07.2026
You can register in the LSF until one week before the exam (next Monday).
We will import the registration next week.

The mock exam created by the tutors is now available on the materials page in the CMS.

Good luck in the exam,
The Prog2 Team

Lecture Evaluation

Written on 09.07.26 by Joerg Hoffmann

Dear students,

the lecture evaluation arrived today. The summary is uploaded in the materials section.

best regards,

Jörg Hoffmann

 

Talk on Agentic Software Development

Written on 17.06.26 by Sebastian Hack

We'd like to draw your attention on a talk by Jens Dittrich about agentic software development, i.e. software development with the assistance of AI agents. We think that this is relevant for all CS students. The talk will take place June 18, 10:15 in E2 2. Here are title and… Read more

We'd like to draw your attention on a talk by Jens Dittrich about agentic software development, i.e. software development with the assistance of AI agents. We think that this is relevant for all CS students. The talk will take place June 18, 10:15 in E2 2. Here are title and abstract:

Title:

Agentic Software Development - a Checkpoint

Abstract:

AI agents are changing software development at a remarkable pace. Their long-term implications may rival those of the personal computer, the Internet, and the smartphone.

I will give an overview of the state of the art in agent-based software development and show a live demo of agentic coding. Drawing on my own experience building and running production software with agentic development, I will then discuss what this shift means for the job market, evolving job roles, and CS and software education.

Speaker:

Jens Dittrich

Short Bio:

Jens Dittrich is a full professor of database systems and big data analytics at Saarland University, Department of Computer Science, Saarland Informatics Campus. He is an experienced software developer and architect who also develops production software. For the past four years, he and his team have been developing the CS department's master application system (~50,000 users), increasingly using agentic development themselves.

Course Evaluation

Written on 16.06.26 (last change on 17.06.26) by Daniel Höller

Dear students,

The links for the course evaluation (lecture and tutorials separately) are now on the Materials page in CMS.

The evaluation will be open until July 8 July 5.

Best regards,
Daniel Höller

Additional Feedback in Daily Tests

Written on 28.05.26 by Marcel Ullrich

We updated the daily test yesterday for Project 3 to indicate undefined behaviour and memory issues in your code (similar to Project 2).
The checks have been moved from eval tests to daily tests to indicate such errors on the leaderboard.

The tests remain the same. All tests are still publicly… Read more

We updated the daily test yesterday for Project 3 to indicate undefined behaviour and memory issues in your code (similar to Project 2).
The checks have been moved from eval tests to daily tests to indicate such errors on the leaderboard.

The tests remain the same. All tests are still publicly available to you in your repository.
You can look at the leaderboard to see if your code contains these bugs that were previously not indicated.

As usual, not all bugs can be indicated in every test run, and undefined behaviour might show up in eval that is not
shown in daily tests. Tests can only ever indicate bugs, but never correctness.

No Lecture on Friday May 15

Written on 12.05.26 by Joerg Hoffmann

Dear students,

just as a reminder that this Friday, May 15, there is no lecture. 

best,

Jörg Hoffmann

Today's Office Hour in E1.3 301 (only today)

Written on 21.04.26 by Johannes Schmalz

Today's Office Hour has been moved to E1.3 301.

This is only for today, and other office hours should be in their scheduled rooms.

Tutorial Assignments are Live!

Written on 14.04.26 by Johannes Schmalz

Hi all,

tutorial assignments have been finalised, and should now be visible. Please double check which tutorial you have been assigned to -- the assignments that were briefly visible on Monday may no longer be current.

Handouts uploaded

Written on 10.04.26 by Joerg Hoffmann

Hi all,

the handouts for today's lecture are uploaded.

Please everybody pay attention to the rules as set out in slide deck 1.

Note reg slide deck 2: I will always upload only the slides done on a given day. Rest of this slide deck will follow next tuesday.

Good luck and have fun in the… Read more

Hi all,

the handouts for today's lecture are uploaded.

Please everybody pay attention to the rules as set out in slide deck 1.

Note reg slide deck 2: I will always upload only the slides done on a given day. Rest of this slide deck will follow next tuesday.

Good luck and have fun in the course!

Jörg Hoffmann

Show all

Programming 2 Precourse

Programming 2 Precourse

The Programming 2 precourse takes place from the 30.03. to 02.04.

The precourse is no official part of Programming 2 but is highly recommended.
It is organized by current and previous Programming 2 tutors.

 

Programming 2

This lecture deals with the basics of imperative/object-oriented programming. To this end, RISC-V, C, and Java are primarily used as programming languages. In this lecture, you will learn:

  • how imperative/object-oriented programs are executed on modern computers.
  • to write small programs in C.
  • to implement and test medium-sized object-oriented software systems in Java.
  • how to familiarize yourself with a new imperative/object-oriented programming language in a couple of days to get involved in an existing project.

Examination Regulations

There are six programming projects which you work on during the course of the lecture. You need at least 50% of the project points to obtain the admission for the end-of-term exam. The programming projects will be worked on by each student individually. Working in groups is not tolerated. You may have at most one project with zero points to be admitted to the exam. For each project, you need to pass all public tests to be able to earn points.

The usage of LLMs has to be marked explicitly in the project. See the first lecture for more information.
The usage has to be documented in full in a file called llm.txt.
For conversational LLMs (e.g., ChatGPT), you have to give a complete transcription. If you use a share link, copy the text additionally into the file.
For autocomplete LLMs (e.g., CoPilot), you have to document in which files you used it and to write what code. Do so in llm.txt.

⚠️ LLMs are not suitable to learn programming. Students using LLMs for programming perform significantly worse.

In addition to the practical projects, we will hold minitests. You also need at least 50% of the points in the minitests to be admitted to the end-of-term exam. The minitests will take place right before the tutorial every other week. To find out on which dates minitests will take place, please refer to the calendar. Each minitest takes 20 minutes.

There will be one end-of-term, for which we also offer a re-exam. The dates of the exams are noted in the calendar. You may partake in both the end-of-term exam as well as the re-exam. The better grade of both exams will count towards the final grade. Passing one of the two exams is required to pass the course.

Your final grade is the better grade between the end-of-term exam and the re-exam.

Organization

The lecture as well as tutorials and office hours will be held in person. See the timetable for more details.

In case of organizational questions, please contact us on the forum.

 

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