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.
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 65 (von insgesamt 130) Punkten erreicht worden sind. Für die Anerkennung der Vorleistung müssen Sie sich bis spätestens bis zum 8. Februar 2016 beim Uni-Portal hierzu eintragen. Die Prüfung wird schriftlich stattfinden mit zwei offen wählbaren Terminen:
- Montag, der 15. Februar 2016, um 14:00 Uhr im H4/5
- Mittwoch, der 30. März 2016, um 10:00 Uhr im Raum 1.42 in der Helmholtzstraße 22
- Mittwoch, der 20. April 2016, um 14:00 Uhr im H12 (neuer Prüfungstermin)
Zur Vorbereitung auf die schriftliche Prüfung steht eine Probeklausur zur Verfügung, die in der Vorlesung am 4. Februar 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.
- 15. Oktober 2015: Syllabus, Was ist systemnahe Software?
- 22. Oktober 2015: Erste Schritte mit C
- 29. Oktober und 5. November 2015: Elementare Datentypen
- 12. November 2015: Arrays
- 19. November 2015: struct und union
- 27. November 2015: Dynamische Speicherverwaltung I
- 3. Dezember 2015: Dynamische Speicherverwaltung II, 2015-12-03.alloc.tar.gz (vorgestelltes Beispiel zur Speicherverwaltung mit dem Algorithmus circular first fit)
- 10. Dezember 2015: Kommandozeilenparameter, Modularisierung in C
- 7. Januar 2016: Dateisysteme
- 14. Januar 2016: Sichere Programmierung mit C
- 21. Januar 2016: Ein- und Ausgabe-System
- 11. Februar 2016: Gepufferte Eingabe und reguläre Ausdrücke
- Alle bisher veröffentlichten Folien stehen auch in einer Datei zur Verfügung (Stand 11. Februar 2016).
Ü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
Materialien
Kontakt
Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.22
Fabian Berstecher (Übungsleiter)