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), 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 20. 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 Vorleistung gilt als erfüllt, wenn in den Übungen 50% der Punkte erreicht worden sind. Für die Anerkennung der Vorleistung müssen Sie sich rechtzeitig beim Uni-Portal hierzu eintragen. Die Prüfung wird schriftlich über 120 Minuten stattfinden mit zwei offen wählbaren Terminen:
- Montag, der 20. Februar 2017, um 14:00 Uhr im H22
- Montag, der 3. April 2017, um 14:00 Uhr im H12
Zur Vorbereitung auf die schriftliche Prüfung steht eine Probeklausur zur Verfügung, die am 9. Februar 2017 in der Vorlesung besprochen werden wird. Hierzu gibt es auch eine Beispiellösung.
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.
- 20. Oktober 2016: Syllabus, Was ist Systemnahe Software?
- 27. Oktober 2016: Erste Schritte mit C
- 3. und 10. November 2016: Elementare Datentypen in C
- 17. November 2016: Arrays
- 24. November 2016: Strukturierte Datentypen, Einführung zu dynamischen Datenstrukturen in C
- 1. Dezember 2016: Alignment, virtueller Adressraum
- 8. Dezember 2016: einfache Speicherverwaltung, Kommandozeilen (Experimentierkasten zur Speicherverwaltung als tar-Archiv)
- 15. Dezember 2016: Modularisierung
- 12. Januar 2017: Dateisysteme
- 19. Januar 2017: Sichere Programmierung in C
- 26. Januar und 2. Februar 2017: Das Ein- und Ausgabe-System
- 16. Februar 2017: Gepufferte Eingabe und reguläre Ausdrücke
- Alle Folien in einer PDF-Datei mit funktionierender Navigation (Stand 29. März 2017 mit einigen Korrekturen)
Ü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. Eine erfolgreiche Teilnahme an den Übungen (Vorleistung) ist erforderlich, um sich für die schriftliche Prüfung anmelden zu können.
- Zu den Übungsblättern und den zugehörigen Materialien.
- Parallel zum 8. Übungsblatt gibt es einen Wettbewerb, der vom 8. Dezember bis Mitternacht am 20. Dezember läuft. In der Vorlesung am 22. Dezember werden die für den Wettbewerb eingereichten Lösungen vorgestellt und, sofern mindestens eine qualifizierte Lösung dabei ist, der Preis verliehen.
Materialien
Kontakt
Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.22
Fabian Berstecher (Übungsleiter)