Lecture: Systemnahe Programmierung
Course:
- Responsible: Dr. Matthias Frank, Dr. Matthias Wübbeling, Prof. Dr. Peter Martini
- Start: 13.10.2026
- Dates: Tue. 14:15 to 15:45, weekly, HSZ - HS2
- Course number: 614300340
Exercises:
- Responsible: Dr. Matthias Frank, Dr. Matthias Wübbeling, Prof. Dr. Peter Martini, (Organisatorische Anfragen bitte an <tut-sys-prog@lists.iai.uni-bonn.de>)
- Start: siehe Orga-Slides
- Dates:
Other:
- Term: Bachelor Computer Science, Bachelor Cyber Security, Bachelor Lehramt
- Requirements:
- Faculty: BA-INF 034/129
- Effort: 2L + 2E / 6CP
Ankündigungen und wichtige Termine
WICHTIG
Informationen zum Übungsbetrieb und wichtige Ankündigungen während des Semesterbetriebes erhaltet ihr über die Mailingliste, meldet euch also rechtzeitig an:
vl-sys-prog@...
Zugangsdaten
Die Zugangsdaten zum Material auf dieser Webseite (wie Vorlesungsfolien, Übungszettel, ...) werden/wurden in der 1. Vorlesung bekannt gegeben. Zugriff innerhalb des Uni-Netzes (sowie mit VPN des HRZ oder der Informatik) ist ohne Zugangsdaten möglich. Bei Bedarf fragen Sie Ihre Komiliton/innen, das Tutorenteam oder die Dozenten nach den Zugangsdaten (... jedoch nicht per E-Mail !).
Übungsanmeldung
Die Übungsanmeldung wird über das
Tutorienvergabesystem (TVS) erfolgen. Die Übungsanmeldung wird am __ Freitag 09.10.2026 _____ geöffnet und endet am ___ Mittwoch 14.10.2026 um 23.59h _______. Im Laufe des __ Donnerstag 15.10. oder Freitag__ erhalten alle Teilnehmer/innen von ihrem Tutor weitere Informationen zu den Kleingruppen.
Die Übungsanmeldung über TVS sollte aus anderen Informatik-Modulen bekannt sein. Eine Registrierung in TVS ist mit Matrikelnummer möglich, siehe Anweisungen bei TVS. FFF-Teilnehmer/innen ohne Matrikelnummer wenden sich umgehend per E-Mail an tvs@cs.uni-bonn.de und bitten um manuelle Registrierung.
Die ersten gemeinsamen Tutorien finden dann in der Woche vom 19. Oktober statt, in denen dann auch die Kleingruppen für Flavius gebildet werden.
Weitere Informationen findet ihr auf dem ersten Übungsblatt.
Für die Abgabe der Übungen in Gruppen wird das Versionierungssystem git auf einem Server der Informatik genutzt. Für den Zugang ist ein gültiger Informatik-Account nötig. Wenn Sie noch keinen Informatik-Account haben sollten, kümmern Sie sich bitte selbständig und rechtzeitig/umgehend darum! (Weitere Informationen dazu auf den Webseiten der Systemgruppe).
Die Kleingruppen-Übungen finden im WS 2026/2027 vollständig in Präsenz statt.
(erledigte Ankündigungen und erledigte Termine siehe ganz unten)
Krankmeldungen für Prüfungstermine: Beachten Sie bitte hierzu unbedingt die entsprechenden
Hinweise des Prüfungsamts Informatik! (-> dort: An- und Abmeldung für Module und Prüfungen -> Prüfungsabmeldung auf Grund von Krankheit). Zusätzlich sind die Organisatoren der Systemnahen Programmierung per E-Mail über die eingereichte Krankmeldung zu informieren.
Bitte beachten Sie für Ihre strategische Planung der Teilnahme an den Prüfungen: Im Modul Systemnahe Programmierung wird es KEINEN dritten Prüfungstermin geben! Die zweite Prüfungsmöglichkeit deckt den Fall einer Krankheit beim ersten Termin ab.
Mailingliste
Für die Vorlesung Systemnahe Programmierung wurde eine Mailingliste eingerichtet, über die aktuelle Informationen zur Vorlesung und den Übungen verbreitet werden. Die Anmeldung ist unter dieser
Adresse möglich. Es werden nur Anmeldungen von Studenten akzeptiert, die auch für die Übungen angemeldet sind. Die Mails der Mailingliste werden archiviert.
Fragen von allgemeinem Interesse und Diskussionen zwischen den Teilnehmer/innen sollen ebenfalls über die Mailingliste laufen.
Bei gezielten Fragen an das Team der Tutor/innen und Dozenten kann der Mail-Alias tut-sys-prog (at) lists.iai.uni-bonn.de genutzt werden.
Programmiersprache C
Im Bereich der systemnahen Programmierung wird als Programmiersprache häufig kein objektorientiertes Java oder C++ verwendet, sondern C. Um die Vorlesung erfolgreich absolvieren zu können, ist die Kenntnis von C sehr wichtig. Aus dem Modul BA-INF 016 "Algorithmen und Programmierung" (bzw. vor 2019 aus BA-INF 014 "Algorithmisches Denken und imperative Programmierung" (aka ADiP) sind Konzepte einer imperativen Programmiersprache bzw. programmiersprachliche Grundkonzepte bekannt (im besten Falle wurde C behandelt).
Der Klassiker über die Programmiersprache C ist nach wie vor das Buch von Brian W. Kernighan und Dennis Ritchie: The C Programming Language. Für Teilnehmer/innen mit Vorkenntnissen und Erfahrungen mit Java könnten die folgenden Links hilfreich sein:
- http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/: C von A bis Z - Das umfassende Handbuch, Jürgen Wolf, Rheinwerk Computing <openbook>
http://www.cs.princeton.edu/introcs/faq/c2java.html: Tabellarische Gegenüberstellung von Java und C
Alte Klausuren
Da eine gewisse Diskrepanz zwischen den Übungsaufgaben und den Klausuraufgaben zu erkennen ist, haben wir uns dieses Jahr dafür entschieden, ein paar alte Klausuren zu veröffentlichen, um euch einen Eindruck zu geben, was von euch in der Klausur verlangt wird.
Bitte behaltet dabei im Hinterkopf, dass die Vorlesung in den letzten Jahren teilweise anders aufgebaut war und das teilweise andere Schwerpunkte gesetzt waren. Diese hier gezeigten Altklausuren decken offensichtlich nicht alle Themenbereiche ab. Klammert euch nicht nur an diese Altklausuren!
Trotzdem hoffen wir natürlich, dass dieser Einblick für euch hilfreich ist.
| Zur Klausurvorbereitung | Alte Klausuren | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Signaturenliste wichtiger Systemfunktionen | |||||||||
WS2013/14 | |||||||||
WS2014/15 | |||||||||
Folien und Präsentationen
Von den Studentenrechnern des Instituts aus sind die Dateien frei zugänglich (ebenso per Verbindung über VPN); Zugriffe von anderen Rechnern erfordern ein Paßwort, welches in der 1. Vorlesung bekannt gegeben wurde (siehe oben). Bitte erfragen Sie diese Zugangsdaten nicht per E-Mail!
| Kapitel | PDF-File |
|---|---|
0. Allgemeine Informationen | |
Informationen zur Einführung in C (wird im WS 2026/27 nicht live in der Vorlesung behandelt) | |
1. Maschinenprogrammierung in Assembler1.1. Motivation |
|
| 1. Ergänzung: Speicherverwaltung malloc & free | |
2. Prozesse und Threads2.1 Prozesse 2.2 Threads 2.3 Interprozesskommunikation | folgt im weiteren Verlauf des Semesters
|
3. Netzwerkprogrammierung in C 3.1. Motivation 3.2. Netzwerkprogrammierung: Sockets & Co. 3.3. I/O-Multiplexing 3.4. Server-Strukturen |
|
Zusätzliche Hilfsmittel
| Hilfsmittel | ||
|---|---|---|
Assembler Code Table |
Übungstermine, -gruppen und Tutoren
Der Übungsbetrieb findet zu folgenden Terminen statt (letztes Update: ):
Gruppenzuteilung der Sys-Prog Übungen (Stand ) - bitte die begleitende Mail auf der Mailingliste beachten.
