SPiC - Übungen im WS 2021/22
Allgemeines
Der Übungsbetrieb umfasst Tafel- und Rechnerübungen. Die Tafelübungen dienen der Vermittlung und Vertiefung des zur Bearbeitung der Übungsaufgaben notwendigen Wissens. In den Rechnerübungen sind die Arbeitsplätze des Rechnerraums für SPiC Studierende reserviert. In diesen Übungen sollen die Aufgaben bearbeitet werden, wobei in der Regel ein Betreuer zur Verfügung stehen wird um bei Bedarf Hilfestellung zu geben.
In den Aufgaben wird die Systemprogrammierung auf zwei verschiedenen Ebenen geübt: Zum einen in Form eines Steuerprogrammes direkt auf Hardware eines AVR Mikrocontrollers, zum anderen im (stark vereinfachten) Nachbau einiger gängiger Systemwerkzeuge auf einer Linux Systemschnittstelle.
Dokumentationsbereich
Die Datenblätter für den Mikrocontroller finden Sie auf der SPiCboard Webseite, die Dokumentation für die libspicboard
und die avrlibc
auf der libspicboard-Doku Seite.
Eine Übersicht über gängige libc
Funktionen und Systemaufrufe sind in der Linux libc-Doku hinterlegt, vollständige Informationen finden Sie in den jeweiligen Manpages.
Tafelübung
Die Tafelübung umfasst die Screencasts aus den vergangenen Semestern sowie synchrone Termine zur Vertiefung des Stoffs und Nachbesprechung der Übungsaufgaben. Um letztere möglichst effizient zu nutzen, ist es notwendig, dass die Studierenden die Videos im Vorfeld selbstständig vorbereiten.
Wir behalten uns Änderungen der Folien und Aufzeichnungen während des Semesters vor.
Die Großteil der Folien und Aufzeichnungen stammt aus dem Sommersemester 2020. Videos, die mit WS gekenntzeichnet sind, wurden für das Wintersemester 2020/21 ergänzt.
Rechnerübung
Die Rechnerübungen starten in der zweiten Vorlesungswoche (ab 25.10.2021) und enden mit den Übungsaufgaben (bis 28.01.2022). Es dürfen auch beide Rechnerübungen besucht werden.
Der Präsenztermin findet im genannten CIP Pool (Rechnerarbeitsraum) statt, wo Studierende ein SPiCboard zur Verfügung gestellt bekommen. Für die online abgehaltenen Rechnübung kann via XPRA oder über die SPiC VM (siehe Rubrik oder Übungsvideos 01.2) auf den CIP Pool zugegriffen werden. Als Entwicklungsplattform dient in allen Fällen die SPiC-IDE (siehe Rubrik oder Übungsvideos 01.3). Die Projektverzeichnisse (/proj/i4spic/<login>) sind ebenfalls über alle drei Zugriffsmöglichkeiten (in der VM muss die Remote IDE verwendet werden) zugreifbar, weshalb auch das Mischen von Präsenz- und Onlineterminen möglich ist.
Für den Onlinetermin gilt im speziellen: Bitte halten Sie Ihre IDM-Kennung bereit (zum Beispiel jy52coty
), wenn der Tutor auf Ihren Code schauen soll. Um mit ihm darüber hinaus den Inhalt der SPiC-IDE zu teilen, halten Sie bitte Ihren Zugriffscode bereit (zum Beispiel SPiCxxxxxxx
).
Um umbeabsichtigte Plagiate zu vermeiden, können Tutoren sogenannte Breakout Räume (Zoom Hilfeseite [en]) verwenden. In einem solchen Raum befinden sich nur der Tutor und der Studierende mit Frage und so können auch Details im Code besprochen werden.
Bei Problemen mit Zoom, bietet das RRZE Hilfeseiten an:
Übungsaufgaben
Nr. | Titel | Kurzbeschreibung | Ausgabe | Bearbeitungszeit (in Tagen) |
Zweiergruppen | Abzugebende Dateien |
Punkte |
---|---|---|---|---|---|---|---|
1 | zaehler | Kennenlernen der Umgebung, Implementierung eines Zähler-Programms |
25.10.2021 | 9 | Nein | zaehler.c | 6 |
2 | izaehler | Interrupts, Nebenläufigkeit, IO | 01.11.2021 | 9 | Nein | izaehler.c | 12 |
3 | button | IO, Module, Tests | 08.11.2021 | 16 | Ja | button.c, test-button.c | 14 |
4 | ampel | Zustandsmaschinen, Interrupts, Synchronisation | 22.11.2021 | 16 | Ja | ampel.c | 15 |
5 | concat | C unter Linux, Speicherallokation, Strings | 06.12.2021 | 9 | Nein | concat.c | 10 |
6 | trac | Ein-/Ausgabe | 13.12.2021 | 9 | Ja | trac.c | 9 |
7 | printdir | POSIX, Strukturen | 20.12.2021 | 9 | Ja | printdir.c | 12 |
8 | mish | POSIX-Prozesse, Signale | 10.01.2022 | 23 | Ja | mish.c | 22 |
Abgabe und Bewertung der Übungsaufgaben
Die Abgabe erfolgt an den Rechnern im CIP-Pool, mit dem Skript/proj/i4spic/bin/abgabe
oder durch die SPiC-IDE und muss vor dem Abgabetermin erfolgen.
Eine Abgabe nach dem Abgabetermin per eMail ist nicht möglich.
Zur Bearbeitung der Aufgaben wird Ihnen automatisch ein Projektverzeichnis
angelegt nachdem Sie sich zu einer Übung angemeldet haben. Der Pfad
zu diesem Verzeichnis lautet /proj/i4spic/<login>
, wobei <login>
für Ihren Benutzernamen im CIP-Pool steht. Bitte bearbeiten Sie Ihre
Aufgaben in diesem Verzeichnis und verwalten Sie das Verzeichnis wie in
der ersten Aufgabenstellung beschrieben, da ansonsten das Abgabeprogramm
Ihre Lösung nicht finden kann.
Die abgegebenen Aufgaben werden von uns korrigiert. Die korrigierten Abgaben finden Sie in ihrem Projektordner im Unterordner korrektur. Die Ergebnisse der Korrektur sind ausserdem nach Login im Waffel einsehbar.
Literaturempfehlungen
Zur Einführung in die Programmiersprache C haben wir in der Vorlesung die folgenden Bücher kurz vorgestellt:
- C-Einführungsbuch "C als erste Programmiersprache": verfügbar bei Springerlink online (nur aus dem Uni-Netz)
- Karlheinz Zeiner: Programmieren lernen mit C. Carl Hanser, 4. Auflage, 2000.
- Steve Oualline: Practical C Programming. O'Reilly, 1991.
- Peter Darnell, Philip Margolis: C: A Software Engineering Approach. Springer, 1991.
- Brian Kernighan, Dennis Ritchie: The C Programming Language. Prentice Hall, 1988 (in der deutschen Übersetzung 1990 bei Hanser erschienen)
Zum Thema UNIX-Systemprogrammierung sind die folgenden Bücher empfehlenswert:
- Helmut Herold: Linux/Unix Systemprogrammierung, Addison-Wesley, München, September 2004.
- A. S. Tanenbaum, A. S. Woodhull: Operating Systems: Design And Implementation, Prentice Hall, 1997.
- R. W. Stevens: Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
UnivIS Informationen
Nachstehende Übungstermine sind vorläufig und werden sich vermutlich noch ändern bzw. erweitert werden.
Rechnerübungen zu Systemnahe Programmierung in C (RÜ SPiC)
- Verantwortliche
- Tim Rheinfels, M. Sc., Benedict Herzog, M. Sc., Phillip Raffeck, M. Sc.
- Angaben
- Übung
Online/Präsenz
2 SWS, Sprache Deutsch, Zweiter Termin am Dienstag nach Bedarf!
- Studienfächer / Studienrichtungen
- WF ME-BA 3
| Alexander von der Haar | |||||||||||
| N.N. | |||||||||||
| Phillip Raffeck |
Übungen zu Systemnahe Programmierung in C (für Wiederholer) (Ü SPiC)
- Verantwortliche
- Tim Rheinfels, M. Sc., Benedict Herzog, M. Sc., Phillip Raffeck, M. Sc.
- Angaben
- Übung
Präsenz
2 SWS, Sprache Deutsch, Termin am Donnerstag nach Bedarf!
Asynchrone Lehrveranstaltung, Der Vorlesungs- und Übungsstoff wird per Videos angeboten -- zusätzlich gibt es synchrone Termine zur Besprechung von Fragen und zur Vertiefung.
- Studienfächer / Studienrichtungen
- WF ME-BA 3
WF EEI-BA 3
| Tim Rheinfels | |||||||||||
| N.N. |