SingleView of Module
Module (6 Credits)
Systemnahe Programmierung
- Name in diploma supplement
- Systems Programming
- Responsible
- Admission criteria
- See exam regulations.
- Workload
- 180 hours of student workload, in detail:
- Attendance: 60 hours
- Preparation, follow up: 80 hours
- Exam preparation: 40 hours
- Duration
- The module takes 1 semester(s).
- Qualification Targets
Die Studierenden
- besitzen die Fähigkeit zur Programmierung von systemnahem Funktionen unter Nutzung der Programmiersprache C
- verstehen die Besonderheiten hardwarenaher Software und können diese in der Praxis beachten
- können Programme hinsichtlich ihrer Effizienz für Systeme mit beschränkten Ressourcen optimieren
- Module Exam
Zum Modul erfolgt eine modulbezogene Prüfung in der Gestalt einer Klausur (in der Regel: 60-90 Minuten) oder mündlichen Prüfung (in der Regel: 30 Minuten); die konkrete Prüfungsform – Klausur versus mündliche Prüfung – wird innerhalb der ersten Wochen der Vorlesungszeit von der zuständigen Dozentin oder dem zuständigen Dozenten festgelegt.
Prüfungsvorleistung: Vom Dozierenden wird zu Beginn der Veranstaltung festgelegt, ob die erfolgreiche Teilnahme an der Übung (mindestens 50% der Übungspunkte) als Prüfungsvorleistung Zulassungsvoraussetzung zur Modulprüfung ist. Bestandene Prüfungsvorleistungen haben nur Gültigkeit für die Prüfungen, die zu der Veranstaltung im jeweiligen Semester gehören.
Die Prüfung in diesem Modul darf nicht abgelegt werden, wenn Systemnahe Informatik (LV: Embedded Systems) bereits bestanden ist.
- Usage in different degree programs
- Elements
Lecture (3 Credits)
Systemnahe Programmierung
- Name in diploma supplement
- Systems Programming
- Organisational Unit
- Lecturers
- SPW
- 2
- Language
- English
- Cycle
- winter semester
- Participants at most
- no limit
- Preliminary knowledge
Betriebssysteme, Programmierung
- Abstract
Im Gegensatz zur anwendungsorientierten Programmierung, bei welcher die Bereitstellung von Diensten für die Nutzer im Vordergrund steht, adressiert die systemnahe Programmierung die Interaktion zwischen unterschiedlichen Computersystemen. Vor diesem Hintergrund repräsentiert sie das Bindeglied zwischen Hardware und der darauf ausgeführten Software. Implementierungen erfordern von Programmierern spezifisches Wissen zu hardwarenahen Prozessen. Dieses Wissen ist nicht nur relevant für die Entwicklung effizienter Software, sondern auch im Kontext von Systemen mit limitierten Ressourcen, wie beispielsweise eingebetteten Systemen (z.B. in Autos, Robotern oder dem Internet der Dinge). Die Vorlesung und die zugehörige Übung liefern die Grundlagen zum Verständnis und zur Entwicklung von systemnahen Anwendungen.
- Contents
In der Vorlesung werden folgende Themen besprochen:
- Grundlagen von Rechnerstrukturen
- Repräsentation von Programmen auf Maschinenebene
- Programmoptimierung
- Speicherhierarchie
- Linking
- Ein-/Ausgabe auf Systemebene
- Netzwerkprogrammierung
- Nebenläufige Programmierung
- Literature
- Vorlesungsunterlagen "Systemnahe Programmierung", P. J. Marrón (im Semester erhältlich)
- Übungsblätter "Systemnahe Programmierung", P. J. Marrón (im Semester erhältlich)
- Randal E. Bryant and David R. O’Hallaron: Computer Systems, A Programmer’s Perspecive. 3rd Edition. Pearson, 2016
- Participants
Exercise (3 Credits)
Systemnahe Programmierung
- Name in diploma supplement
- Systems Programming
- Organisational Unit
- Lecturers
- SPW
- 2
- Language
- English
- Cycle
- winter semester
- Participants at most
- no limit
- Preliminary knowledge
Betriebssysteme, Programmierung
- Contents
Entsprechend der in der Vorlesung vorgestellten Vorgehensweise zur Entwicklung von systemnahen Funktionen werden verschiedene Beispielprogramme entwickelt. Der Inhalt orientiert sich dabei am Inhalt der Vorlesung. Es werden systemnahe Programmieraufgaben vergeben (Programmiersprache C), die neben praktischen Erfahrungen ein Verständnis für die Wechselwirkung zwischen dem Computersystem und der darauf ausgeführten Software vermitteln.
- Literature
Siehe Literaturangaben der Vorlesung.
- Participants