Zur JKU Startseite
LIT Secure and Correct Systems Lab
Was ist das?

Institute, Schools und andere Einrichtungen oder Angebote haben einen Webauftritt mit eigenen Inhalten und Menüs.

Um die Navigation zu erleichtern, ist hier erkennbar, wo man sich gerade befindet.

VL+UE Systems Programming

Kursbeschreibung

Der Kurs bietet eine Einführung in Konzepte und Programmierung in C, speziell für Low-Level- und hardwarenahe Anwendungen. Die Studierenden erhalten einen Einblick in die Möglichkeiten, das Potential, aber auch Herausforderungen hardwarenaher Programmierung in besonders ressourcenbeschränkten Umgebungen. Ein zentrales (aber nicht das einzige) Ziel ist die (manuelle) dynamische Verwaltung von Speicher, ohne Rückgriff auf automatische Garbage Collection oder Speichersicherheitsmechanismen, die Compiler (bisweilen) automatisch einführen.

 

Inhalte

Zu den behandelten Themen gehören u. a. (nach Maßgabe der verfügbaren Zeit).

  • Einführung in die Grundlagen von C
  • Grundlegende Datentypen und Strukturen (structs, enums, unions, ...)
  • Arbeiten mit Zeigern, Arrays und Strings
  • Speicherverwaltung
  • Kontrollflusssteuerung und Funktionen
  • Grundlegende formattierte Eingabe/Ausgabe
  • Häufige Programmierfehler und Fallstricke
  • Einführung in Makefiles
  • Integration von Assembler in C-Code
  • Die Standard-C-Bibliothek
  • Erweiterte Aspekte und Besonderheiten von C

Organisation der Vorlesung (VL)

Der Unterricht wird zweisprachig durchgeführt, d.h:

  • Die wöchentlichen Vorlesungen im Hörsaal werden in deutscher Sprache gehalten
  • Aufzeichnungen der Vorlesungsinhalte werden in englischer Sprache zur Verfügung gestellt
  • Die Vorlesungsunterlagen werden in englischer Sprache als (inhaltlich abgeschlossene) Foliensätze zur Verfügung gestellt
  • Die Benotung der Vorlesung erfolgt durch eine schriftliche Prüfung in der letzten Woche des Semesters. Die Prüfung findet ohne Verwendung von Unterlagen statt.
  • Die Fragen sind in englischer Sprache verfasst.

Organisation der Übungen (UE)

Pro Woche:

  • Abgabe von schriftlichen Ausarbeitungen für zwei Hausaufgaben in Moodle. Die Hausaufgaben werden nach Abgabe in der Übung besprochen. Die Einsendungen werden nicht benotet, sind aber Voraussetzung für das Bestehen des Kurses und dienen als Vorbereitung für das wöchentliche Quiz.
  • ein Moodle-Quiz (Unterlagen dürfen verwendet werden) ist im Rahmen der Übungen zu absolvieren. Die Fragen im Quiz beziehen sich auf die in der gleichen Woche fällige "Hausaufgabe". Die Bearbeitung der Übungsaufgaben dient somit als Vorbereitung auf das Moodle-Quiz.
  • nach dem Moodle-Quiz werden die Lösungen der Hausaufgaben besprochen und Fragen zum Stoff beantwortet.
  • In den Übungseinheiten besteht Anwesenheitspflicht.
  • Die Hausaufgaben können in Gruppen bearbeitet werden. Die Moodle-Quizzes sind jedoch einzeln und nur im Rahmen des LVA-Termins zu bearbeiten (keine Online-Teilnahme).
  • Die Unterrichtssprache in den Übungen ist Englisch.

Benotung VL

Die Benotung der Vorlesung basiert auf einer Abschlussklausur in Moodle (ohne Verwendung von Unterlagen) mit Multiple-Choice-Fragen. Die in dieser Prüfung erreichten Gesamtpunkte werden im Bereich 0..100 skaliert und die Note wird nach dem folgenden Schema berechnet:

Gesamtsumme (Punkte)

Note

80…100

1

67…79

2

54…66

3

41…53

4

0…40

5

 

Benotung UE

Der Kurs gilt als bestanden, wenn die folgenden Kriterien erfüllt sind:

  • Abgabe von mindestens 50% der Hausaufgaben in jeder der beiden Semesterhälften.
  • Die Note ergibt sich aus der Gesamtsumme der in den Moodle-Quizzes erreichten Punkte, die im Bereich 0...100 skaliert ist.
  • Die Note wird nach dem gleichen Schema wie für die Vorlesung berechnet (siehe oben)