Systemnahe Software I
Die Vorlesung dient der Einführung in die systemnahe Software. Unter systemnah wird die Nähe zur Prozessorarchitektur und den Schnittstellen des Betriebssystems verstanden. Ein tieferes Verständnis der systemnahen Programmierung ist auch hilfreich bei der Entwicklung hochperformanter Software, wie sie beispielsweise bei numerischen Anwendungen benötigt wird. Zu den auf dieser Vorlesung aufbauenden Vorlesungen gehören u.a. Systemnahe Software II (im Sommersemester 2019), Parallele Programmierung mit C++ (ebenfalls im Sommersemester 2019) und High Performance Computing I (in jedem Wintersemester). Die Vorlesung ist sehr praxisorientiert und die Übungen sind integraler Bestandteil der Veranstaltung.
Inhalt
- Einführung in die Programmiersprache C
- Datentypen und ihre Repräsentierung
- Dynamische Speicherverwaltung
- Entwicklungswerkzeuge im Umfeld von C
- Sicheres Programmieren mit C
- POSIX-Dateisysteme einschließlich der zugehörigen Schnittstellen
Termine
- Vorlesung: Donnerstag, 16-18 Uhr, N24, Hörsaal H12.
- Übungen: Freitag, 14-16 Uhr, N24, Hörsaal H14.
- Am 1. November 2018 findet keine Vorlesung statt (Allerheiligen). Am 2. November wird es aber wie gewohnt Übungen geben mit einem Übungsblatt, das der Vorbereitung auf die nächste Vorlesung am 8. November dient.
Voraussetzungen
Vorausgesetzt werden die Kenntnisse aus einer Grundvorlesung für Informatik. Insbesondere sollten elementare Algorithmen und Datenstrukturen bekannt sein und praktische Erfahrungen mit einer Programmiersprache bestehen (z.B. Java).
Prüfungen
Die Vorlesung ist ein Wahlpflichtmodul im Modulhandbuch der Bachelor- und Master-Studiengänge Elektrotechnik, Informationssystemtechnik, Informatik, Medieninformatik und Software-Engineering. Ebenso kann die Vorlesung als Wahlpflichtfach bei den Bachelor-Studiengängen Mathematik, Wirtschaftsmathematik, Mathematische Biometrie und Wirtschaftsphysik gewählt werden. Die Prüfung wird schriftlich über 120 Minuten stattfinden mit zwei offen wählbaren Terminen:
- Montag, den 18. Februar 2019, um 14:00 Uhr im Hörsaal H12 (N24)
- Dienstag, den 2. April 2019, um 14:00 Uhr im Hörsaal H12 (N24)
Zur Vorbereitung auf die schriftliche Prüfung steht eine Probeklausur zur Verfügung, die am 7. Februar 2019 in der Vorlesung besprochen wird.
Vorlesungen
Folien aus der Vorlesung:
- 18. Oktober 2018: Syllabus, Was ist Systemnahe Software?
- 25. Oktober 2018: Erste Schritte mit C
- 8. November 2018: Skalare Datentypen
- 15. November 2018: Arrays
- 22. November 2018: Verbunde, dynamische Datenstrukturen
- 29. November 2018: Virtueller Speicher und zugehörige Systemaufrufe
- 6. Dezember 2018: Eine einfache Speicherverwaltung, Experimentierkasten zur Speicherverwaltung, Wettbewerb zum 8. Übungsblatt (Testumgebung)
- 13. Dezember 2018: Kommandozeilenparameter, Modularisierung
- 10. Januar 2019: Dateisysteme
- 17. Januar 2019: Sichere Programmierung in C
- 24. und 31. Januar 2019: Systemaufrufe zur Ein- und Ausgabe
- 14. Februar 2019: Gepufferte Eingabe und reguläre Ausdrücke
- Alle bisherigen Folien in einem PDF-Dokument (Stand: 14. Februar 2019)
Vorlesungsbegleiter:
- Kapitel 1 bis 6 (Einführung zu C bis hin zu den Ausdrücken)
- Kapitel 7 bis 13 (Datentypen, Funktionen, dynamische Datenstrukturen, Kommandozeilenparameter, Präprozessor, Modularisierung, C-Standards)
- Kapitel 14 bis 16 (Sicheres Programmieren in C, Dateisystem, Systemaufrufe zur Ein- und Ausgabe)
- Vollständiges Skript
Übungen
- Melden Sie sich bitte für die Teilnahme in den Übungen bei SLC an.
- Die Übungen sind zeitintensiv und integraler Teil einer praxisorientierten Vorlesung.
- Zu den Übungsblättern und den zugehörigen Materialien
Kontakt
Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.23
Moritz Carmesin (Übungsleiter)