Systemsoftware und systemnahe Programmierung [SSSP]

L.079.05401, Sommer 2019

Inhalt

Ziel der Vorlesung ist die Vermittlung allgemeiner Prinzipien, Konzepte, Methoden und Techniken, wie sie in komplexen HW/SW-Systemen mit Nebenläufigkeit vorzufinden sind. Die Studenten sollen die Gemeinsamkeiten erkennen können und die Prinzipien als grundlegend für das Fach verstehen. Sie sollen insbesondere in Entwurfssituationen diese Methoden sinnvoll einsetzen können

Die Veranstaltung wird voraussichtlich folgende Themen behandeln (Details können sich noch ändern):

    • Technische Grundlagen, Systemmodell
    • Programmierung in C
    • Prozessverwaltung, Threads
    • Scheduling
    • Synchronisations- und Kooperationskonzepte
    • Betriebsmittelverwaltung, Verklemmungen
    • Speicherverwaltung
    • Grundkonzepte Rechnernetze
    • Internet und Wi-Fi
    • Verteilte Systeme
    • Virtualisierung und Cloud

Lernziele

Die Studierenden sollen am Ende der Veranstaltung

    • Verständnis allgemeiner Prinzipien, Konzepte, Methoden und Techniken der Informatik, insbesondere im Bereich systemnaher Software und "eingebetteter" Systeme, erlangt haben,
    • in Entwurfssituationen in der Lage sein, die vorgestellten Methoden sinnvoll einzusetzen, und
    • allgemeine Konzepte auf explizite Situationen anwenden können.

Allgemeine Informationen / Methoden

Dieser Kurs im Bachelorstudium wird auf Deutsch gehalten. Fast alle Kursmaterialien sind auf Deutsch verfügbar Die Lehrveranstaltung besteht aus einem Vorlesungsteil, einer Übung und einem Praktikum.

  • 9 ECTS (Vorlesung: 4 SWS, Übung: 2 SWS, Praktikum: 1 SWS)

Dozenten

Zeit und Ort

  • Vorlesung
    Montag, 16-17:30 (s.t.), L2,
    Dienstag, 16-18 (c.t.), P5.2.01,
    Freitag, 9-11 (c.t.), L1
  • KEINE Vorlesung am 1.4.-5.4. ("verordnet" durch Dekanat), 19.4., 22.4., 10.6. (Feiertage), 30.4., 3.5., 20.5.-24.5., 3.6., 17.6.-21.6., 24.6.-25.6., 1.7.-2.7. (Dienstreisen)
    Probeklausur am 4.6.
  • Übungen (ab 15.4.2019)
    Gruppeneinteilung erfolgt zu Beginn des Semesters über Panda
    Montag, 9-11 (c.t.), E1.111 oder
    Montag, 11-13 (c.t.), E1.111 oder
    Dienstag, 9-11 (c.t.), E1.111 oder
    Dienstag, 11-13 (c.t.), E1.111 oder
    Mittwoch, 9-11 (c.t.), E1.111 oder
    Mittwoch, 11-13 (c.t.), E1.111 oder
    Donnerstag, 9-11 (c.t.), E1.111 oder
    Donnerstag, 11-13 (c.t.), E1.111 oder
    Freitag, 11-13 (c.t.), E1.111 oder
    Freitag, 13-15 (c.t.), E1.111
  • KEINE Übungen an Feitertagen, bitte in diesen Wochen auf andere Termine aufteilen.
  • Praktikum (ab 15.4.2019)
    Gruppeneinteilung erfolgt zu Beginn des Semesters über Panda
    Montag, 8-9 (s.t.), E1.111 oder
    Montag, 13-14 (s.t.), E1.111 oder
    Dienstag, 8-9 (s.t.), E1.111 oder
    Dienstag, 13-14 (s.t.), E1.111 oder
    Mittwoch, 8-9 (s.t.), E1.111 oder
    Mittwoch, 13-14 (s.t.), E1.111 oder
    Donnerstag, 8-9 (s.t.), E1.111 oder
    Donnerstag, 13-14 (s.t.), E1.111
  • KEIN Praktikum an Feitertagen, bitte in diesen Wochen auf andere Termine aufteilen.

Prüfungen

Die Veranstaltung wird durch eine Klausur geprüft. Zulassungsvoraussetzung ist die Studienleistung, die in den Übungen durch aktive Mitarbeit und Vorstellen / Vorrechnen von mind. zwei Aufgaben geleistet wird. Zusätzlich müssen Informatiker 50% der möglichen Punkte im Praktikum erreichen, um dieses zu bestehen.

Die erste Klausur wird voraussichtlich kurz nach Ende der Vorlesungszeit stattfinden; die zweite Klausur gegen Ende der vorlesungsfreien Zeit. Nach dem Wintersemester wird KEINE Klausur angeboten. Die Anmeldung zu der Klausuren erfolgt über PAUL. Details im Laufe des Semesters.

Zur Klausur sind an Unterlagen nur ein handbeschriebenes A4 Blatt und ein Taschenrechner erlaubt. Das A4 Blatt kann nach Wunsch gestaltet werden. Weitere Materialien sind nicht erlaubt.

Die Note wird NACH der Klausureinsicht festgelegt.

  • Prüfungstermine
    • 1. Klausur: Dienstag, 23. Juli 2019, 9:00-11:00, AudiMax
    • 2. Klausur: Freitag, 13. September 2019, 9:00-11:00, P7.2.01

Evaluation

Vielen Dank an alle, die sich an der Evaluation beteiligt haben!

Literatur

Es gibt kein einzelnes Lehrbuch, das alle in der Vorlesung behandelten Themen sinnvoll abdeckt. Die Vorstellung stützt sich im Wesentlichen auf die folgenden Lehrbücher:

  • William Stallings, Operating Systems: Internals and Design Principles, ed. 8, Upper Saddle River, NJ, Prentice Hall, 2014. [BibTeX, Details...]
  • James F. Kurose and Keith W. Ross, Computer Networking: A Top-down Approach, ed. 5, Boston, London, Addison-Wesley, 2010. [BibTeX, Details...]

Einige weitere sinnvolle Lehrbücher sind:

  • J. H. Saltzer and M. F. Kaashoek, Principles of Computer System Design - An Introduction, Morgan Kaufmann, 2008. [BibTeX, Details...]
  • Andrew S. Tanenbaum and David J. Wetherall, Computer Networks, ed. 5, Prentice Hall, 2011. [BibTeX, Details...]
  • Andrew S. Tanenbaum, Modern Operating Systems, ed. 3, Upper Saddle River, NJ, Prentice Hall, 2009. [BibTeX, Details...]
  • D. A. Patterson and J. L. Hennessy, Rechnerorganisation und -entwurf, ed. 4, Oldenbourg Verlag, 2011. [BibTeX, Details...]
Last modified: 2023-10-07