|
Grundlagen der systemnahen Programmierung in C (GSPiC)2.5 ECTS (englische Bezeichnung: Fundamentals of System-Level Programming in C)
Modulverantwortliche/r: Volkmar Sieh Lehrende:
Volkmar Sieh, Bernhard Heinloth
Studienfächer/Prüfungsordnungsmodule:
Einfrieren der UnivIS-Modul-Beschreibung: 1.4.2021
Grundlagen der systemnahen Programmierung in C (16172, 1 semester)
Start semester: |
SS 2021 | Duration: |
1 (+1)
semester | Cycle: |
jährlich (SS) |
Präsenzzeit: |
45 Std. | Eigenstudium: |
30 Std. | Language: |
Deutsch |
Lectures:
-
-
Systemnahe Programmierung in C (SS 2021)
(Vorlesung, 2 SWS, Volkmar Sieh, Weitere Informationen: https://www4.cs.fau.de/Lehre/SS21/V_SPIC/)
-
Übungen zu Systemnahe Programmierung in C (SS 2021)
(Übung, 2 SWS, Tim Rheinfels et al., Wed, 12:15 - 13:45, Zoom-Meeting)
-
Rechnerübungen zu Systemnahe Programmierung in C (SS 2021 - optional)
(Übung, 2 SWS, Tim Rheinfels et al., Mon, 12:15 - 13:45, Zoom-Meeting; Tue, Thu, 10:15 - 11:45, 16:15 - 17:45, Zoom-Meeting; Wed, Fri, 8:15 - 9:45, Zoom-Meeting)
- Wiederholungsübungen im WS
Inhalt:
- Systemarchitekturen, Betriebssysteme, Mikrocontroller
Einführung in die Programmiersprache C
Vom C-Quellcode zum laufenden Programm
Mikrocontroller-Programmierung am Beispiel AVR
Zeiger, Felder und Strukturen in C
Nebenläufigkeit und Interrupts
Lernziele und Kompetenzen:
Studierende, die das Modul erfolgreich abgeschlossen haben:
erläutern die grundlegenden Elemente der Programmiersprache C: Datentypen, Operatoren, Ausdrücke, Kontrollstrukturen, Funktionen, Variablen, Präprozessor.
bewerten C im Vergleich zu Java im Bezug auf Syntax, Idiomatik und Philosophie.
nennen wesentliche Unterschiede der Softwareentwicklung für eine Mikrocontrollerplattform versus einer Betriebssystemplattform.
beschreiben die Funktionsweise von Zeigern.
verwenden spezifische Sprachmerkmale von C für die hardwarenahe Softwareentwicklung und den nebenläufigen Registerzugriff.
entwickeln einfache Programme in C für eine Mikrocontroller-Plattform (AVR ATmega) sowohl mit als auch ohne Bibliotheksunterstützung.
erläutern Techniken der Abstraktion, funktionalen Dekomposition und Modularisierung in C.
beschreiben den Weg vom C-Programm zum ausführbaren Binärcode.
reproduzieren die grundlegende Funktionsweise eines Prozessors mit und ohne Unterbrechungsbearbeitung.
erläutern Varianten der Ereignisbehandlung auf eingebetteten Systemen.
verwenden Unterbrechungen und Energiesparzustände bei der Implementierung einfacher Steuergeräte.
erläutern dabei auftretende Synchronisationsprobleme (lost update, lost wakeup) und setzen geeignete Gegenmaßnahmen um.
beschreiben Grundzüge der Speicherverwaltung auf einer Mikrocontrollerplattform (Stackaufbau, Speicherklassen, Segmente, Heap).
Literatur:
Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan: Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:
- Physik (Bachelor of Science)
(Po-Vers. 2020w | NatFak | Physik (Bachelor of Science) | Gesamtkonto | Grundlagen- und Orientierungsprüfung (GOP) | Informatik | Grundlagen der systemnahen Programmierung in C)
Studien-/Prüfungsleistungen:
Grundlagen der systemnahen Programmierung in C (Prüfungsnummer: 31001)
(englischer Titel: Fundamentals of System-Level Programming in C)
zugeh. "mein campus"-Prüfung: | - 31001 Grundlagen der systemnahen Programmierung in C (Gewichtung: 100.0 %, Prüfung, Form: Klausur, Zehntelnoten, Dauer: 60, 2.5 ECTS, Prüfung).
|
- Prüfungsleistung, Klausur, Dauer (in Minuten): 60, benotet, 2.5 ECTS
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
Die Rahmen der Übungen gestellten Übungsaufgaben können abgegeben werden und werden in diesem Fall bewertet. Auf Basis des Ergebnisses dieser Bewertungen können bis zu 10% Bonuspunkte erworben werden, die zu dem Ergebnis einer bestandenen Klausur hinzugerechnet werden und damit die Klausurnote verbessern können.
- Erstablegung: SS 2021, 1. Wdh.: WS 2021/2022
1. Prüfer: | Volkmar Sieh (100548) |
- Termin: 23.07.2021, 15:00 Uhr, Ort: H 7 TechF
Termin: 06.04.2022, 10:00 Uhr, Ort: H 11
Termin: 05.08.2022
Termin: 05.08.2022
|
|
|