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 (erst im Sommersemester 2019), Parallele Programmierung mit C++ und High Performance Computing. 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.
Die Vorlesung beginnt am 19. Oktober um 16 Uhr im 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 19. Februar 2018, um 14:00 bis 16:00 Uhr im H12
- Osterdienstag, den 3. April 2018, um 14:00 bis 16:00 Uhr im H12
Zur Vorbereitung auf die schriftliche Prüfung steht eine Probeklausur zur Verfügung, die am 8. Februar 2018 in der Vorlesung besprochen werden wird.
Vorlesungen
Zur Vorlesung steht ein Vorlesungsbegleiter zur Verfügung, der jedoch nicht den gesamten Inhalt abdeckt und nicht immer so weitgehend aktualisiert wurde wie die Folien zur Vorlesung. Die Vorlesungsfolien stehen ebenfalls zur Verfügung und werden hier kapitelweise veröffentlicht.
- 19. Oktober 2017: Syllabus, Was ist Systemnahe Software?
- 26. Oktober 2017: Erste Schritte mit C
- 2. November 2017: Ganzzahlige Datentypen
- 9. November 2017: Gleitkommazahlen, Aufzählungstypen und Zeiger
- 16. November 2017: Arrays
- 23. November 2017: Verbundtypen
- 30. November 2017: Einführung zu dynamischen Datenstrukturen in C
- 7. Dezember 2017: Eine einfache Speicherverwaltung (Experimentierkasten zur Speicherverwaltung: 2017-12-07.alloc.tar, Wettbewerb)
- 14. Dezember 2017: Kommandozeilenargumente, Modularisierung
- 11. January 2018: POSIX-Dateisysteme
- 18. Januar 2018: Sichere Programmierung mit C
- 25. Januar und 1. Februar 2018: Ein- und Ausgabesystem
- 15. Februar 2018: Gepufferte Eingabe und reguläre Ausdrücke
- Alle Folien in einem PDF-Dokument mit Navigation (Stand: 25. Januar 2018)
Ü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.
Materialien
Kontakt
Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.22
Fabian Berstecher (Übungsleiter)