News

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.