Systemprogrammierung - AIN/2
Sommersemester 2025



Termine Sommersemester:

Vorlesung in den ersten 12 Wochen des Semesters immer Donnerstags 11:30 - 13:00 Uhr und Freitags 9.45 - 11:15 Uhr in Raum G240
Übungen Donnerstags 14:00 - 15:30 Uhr oder 15:45 - 17:15 Uhr im Labor F033 oder Freitags 11:30 - 13:00 Uhr im Labor O201 (Gruppeneinteilung in Moodle beachten)


Die Klausur

findet voraussichtlich am Freitag, 25. Juli 2025 von 9:00 - 10:30 Uhr in Raum O-102/103 statt.
Bitte achten Sie auf eventuelle Termin- und Raumänderungen.
Als einziges Hilfsmittel ist ein Spickzettel im Umfang eines beidseitig beschriebenen oder bedruckten DIN-A4-Blatts erlaubt.

⤵ SYPR-Klausurvorbereitung.pdf
⤵ SYPR-Probeklausur.pdf

+++ Lerntipp +++ Falls Sie sich noch nicht sicher fühlen, dann nutzen Sie beim ersten Lösen der Probeklausur zunächst alle verfügbaren Hilfsmittel (Rechner, Lehrveranstaltungsunterlagen, Internet). Tun sie das frühzeitig schon einige Wochen vor der Prüfungszeit.
Lösen Sie die Aufgaben der Probeklausur aber auf jeden Fall auch mal unter Zeitdruck mit nur den im Ernstfall erlaubten Hilfsmitteln. Das können Sie auch aufgabenweise tun. Die Punktzahl einer Aufgabe gibt an, wieviel Prozent der Gesamtbearbeitungszeit Sie für die Aufgabe in etwa aufwenden sollten.

Lernplattform Moodle:

Schreiben Sie sich bitte in den Moodle-Kurs "Systemprogrammierung" von AIN ein.


Die Folien aus der Vorlesung:

⤵ SYPR-Teil-1.pdf – Einführung
⤵ SYPR-Teil-2.pdf – C Daten - Literale, Variablen, Typen
⤵ SYPR-Teil-3.pdf – C Anweisungen - Ausdrücke, Operatoren, Ablaufsteuerung
⤵ SYPR-Teil-4.pdf – C Programme - Funktionen, Übersetzungseinheiten, Bibliotheken
⤵ SYPR-Teil-5.pdf – POSIX - Elementare Ein-/Ausgabe, Dateizugriff
⤵ SYPR-Teil-6.pdf – Einführung in C++: Referenzen, Operator-Overloading, Namensräume, Klassen
⤵ SYPR-Teil-7.pdf – C++ Standardbibliothek: Templates, Ein-/Ausgabe, Strings, Container, Algorithmen, Iteratoren, intelligente Zeiger
⤵ SYPR-Teil-8.pdf – Werkzeuge - Programmerstellung, Fehlersuche
Literaturliste

Die PDF-Dateien enthalten anklickbare Notizen, die von Browser-Plugins oft nicht gut dargestellt werden.
Laden Sie die Dateien deshalb immer herunter und verwenden Sie einen PDF-Viewer wie z.B. Adobe Acrobat Reader DC.

+++ Lerntipp +++ Rufen Sie sich vor jeder Vorlesung in Erinnerung, was in der vergangenen Vorlesung besprochen wurde. Lernen Sie die neuen Fachbegriffe. Nutzen Sie den Index der einzelnen Vorlesungsteile, um Ihre Kenntnis der Fachbegriffe zu prüfen und zu verbessern. Planen Sie dafür genug Zeit ein.

Die Beispiel-Programme aus der Vorlesung
erscheinen hier nach und nach ...

Teil 2 Makefile intliteral.c doubleliteral.c charliteral.c intvar.c intsum.c pointervar.c (mit Hauptspeicherbelegung) iptrptr.c constpointer.c voidpointer.c name_adresse.c arrayvar.c (mit Hauptspeicherbelegung) arraypointer.c (mit Hauptspeicherbelegung) stringvar.c matrixvar.c matrixpointer.c matrixpointerpointer.c enumvar.c structvar.c intlist.c unionvar.c
Teil 3 verzweigung.c fallunterscheidung.c while-schleife.c do-schleife.c for-schleife.c spruenge.c
Teil 4 main.c (mit Hauptspeicherbelegung) max.c max-makro.c minmaxsum-pointer.c minmaxsum.c localglobalvar.c inparam.c outparam.c localglobalvar/ date/ minmax/ intcmp.c
Teil 5 count.c copy.c list.c
Teil 6 io.cpp einstieg.cpp einstieg-mit-fehlerbehandlung.cpp arrayvar.cpp exception.cpp heap.cpp unique_ptr.cpp Makefile function-overloading.cpp operator-overloading.cpp Namensraum/ Kapselung in C/ Klasse/ eingebettete Klasse/ Vererbung/ Schnittstelle/ dynamic_cast.cpp
Teil 7 Templates/ ostream.cpp istream.cpp htwg::string/ stringvar.cpp htwg::vector/ htwg::array/ vectorvar.cpp max.cpp find.cpp intlist mit std::find/ htwg::unique_ptr/ htwg::shared_ptr/ Intelligente Zeiger/ intlist mit std::unique_ptr/
Teil 8 hallo/ makevar.mak nichtsalsfehler.c

+++ Lerntipp +++ Schreiben Sie die Programmbeispiele aus der Vorlesung ab und bringen Sie sie zum Laufen. Notieren Sie sich jeweils mit eigenen Worten, was die Programme tun, und versuchen Sie einige Zeit später, die Programme aufgrund dieser Notizen selbstständig neu zu schreiben. Überlegen Sie sich auch eigene Abwandlungen der Programme. Tun Sie dies laufend während des Semesters.

Die Übungsaufgaben
erscheinen hier nach und nach ...

Hinweise zu den Übungen
Linux-Arbeitsumgebung
Einstieg am 27./28.3.   (Schaubild mit den Arbeitschritten)
Aufgabe 1: C Grundtypen (Abgabe: 10./11.4.)
Aufgabe 2: C Arrays (Abgabe: 24./25.4.)
Aufgabe 3: C Strings (Abgabe: 8./9.5.)
Aufgabe 4: C Aufzählungen, Strukturen, Varianten, Funktionen, POSIX (Abgabe: 30.5.)
Aufgabe 5: C++ Klassen, Iteratoren, Übersetzungseinheiten (Abgabe: 20.6.)
...

+++ Lerntipp +++ Falls Sie in den Übungen viel Hilfe in Anspruch genommen haben, lösen Sie die Übungsaufgaben nach einiger Zeit nochmals selbstständig und inklusive aller Bonusaufgaben.


Prof. Dr. H. Drachenfels
Hochschule Konstanz - Impressum - Datenschutzerklärung
Letzte Änderung: 11.6.2025