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 2021), Parallele Programmierung mit C++ (ebenfalls im Sommersemester 2021) 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 H12.
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 17. Februar 2020, um 14:00 Uhr im H12
- Dienstag, den 31. März 2020
Zur Vorbereitung auf die schriftliche Prüfung steht eine Probeklausur zur Verfügung, die am 6. Februar 2020 in der Vorlesung besprochen wird.
Aufgrund der aktuellen Krise bezüglich des Coronavirus hat die Universitätsleitung beschlossen, alle anstehenden Prüfungen bis auf weiteres abzusagen. Das betrifft auch die schriftliche Prüfung am 31. März 2020.
Inzwischen gibt es einen neuen Prüfungstermin: Montag, den 15. Juni, um 8:00 Uhr im H2. Anmeldungen zu dem neuen Termin sollten ab sofort möglich sein. Genaue Richtlinien zur Durchführung schriftlicher Prüfungen während der Corona-Krise fehlen noch, aber es ist davon auszugehen, dass Maskenpflicht herrscht und jederzeit Abstand zu anderen zu wahren ist. Während der Prüfung im H2 wird es genügend Abstand zwischen allen Prüfungsteilnehmern geben.
Vorlesungen
Hier werden begleitend zur Vorlesung die Folien und der Vorlesungsbegleiter veröffentlicht.
Folien aus der Vorlesung:
- 17. Oktober 2019: Syllabus, Was ist systemnahe Software?
- 24. Oktober 2019: Erste Schritte mit C
- 31. Oktober und 7. November 2019: Skalare Datentypen in C
- 14. November 2019: Arrays
- 21. November 2019: Verbunde, dynamische Datenstrukturen
- 28. November 2019: Triviale Speicherverwaltungen, virtueller Adressraum
- 5. Dezember 2019: Eine einfache Speicherverwaltung, Experimentierkasten zur Speicherverwaltung, Wettbewerb zum 7. Übungsblatt (Testumgebung)
- 12. Dezember 2019: Kommandozeilenparameter, Modularisierung
- 9. Januar 2020: Dateisysteme
- 16. Januar 2020: Sichere Programmierung in C
- 23. Januar 2020: Das Ein- und Ausgabe-System (1. Teil)
- 30. Januar 2020: Das Ein- und Ausgabe-System (2. Teil)
- 13. Februar 2020: Gepufferte Eingabe und reguläre Ausdrücke
- Alle bisherigen Folien in einem PDF-Dokument (Stand 13. Februar 2020)
Vorlesungsbegleiter:
Ü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.
- Die Übungsaufgaben stehen auf einer separaten Webseite zur Verfügung.
Kontakt
Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.23
Moritz Carmesin (Übungsleiter)