Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, IAI, Vorlesungen, WS 2014/2015
Systemnahe Software I
im Wintersemester 2014/2015
Veranstalter Dr. Andreas F. Borchert mit Fabian Berstecher
TypVorlesung mit Übungen
Umfang 2 V + 2 Ü (6 LP)
Termin Vorlesung: Donnerstag 16-18 Uhr, H12
Übungen: Freitag 14-16 Uhr, H14
Beginn

Die Vorlesung wird am Donnerstag, den 16. Oktober 2014 beginnen.

Prüfungen

Die Vorlesung ist für die Bachelor-Studiengänge Mathematik, Wirtschaftsmathematik, Wirtschaftswissenschaften, Informatik, Medieninformatik, Software Engineering, Physik, Wirtschaftsphysik, Informationssystemtechnik, Elektrotechnik und für die Master-Studiengänge Informatik und Medieninformatik vorgesehen (Technische und Systemnahe Informatik). Bei einer erfolgreichen Teilnahme an den Übungen und der schriftlichen Prüfung können sechs Leistungspunkte erworben werden.

Studierende der Bachelor-Studiengänge Physik und Wirtschaftsphysik, die noch nach der alten Studien- und Prüfungsordnung von 2010 studieren, können auch alternativ zwei Leistungspunkte erhalten, wenn sie sich im Uniportal bis zum 31. März 2015 für Systemnahe Software I für Physiker eintragen. In diesem Falle werden die beiden Leistungspunkte vergeben, wenn bis zu Weihnachten die Teilnahme an den Übungen erfolgreich war. Wichtig ist dabei zu bedenken, dass eine Registrierung für Systemnahe Software I für Physiker eine Teilnahme an der regulären 6-LP-Variante ausschließt. Die Option der 2-LP-Variante steht bei der neuen Ordnung von 2013 nicht mehr zur Verfügung, die alle Studierenden der Bachelor-Studiengänge Physik und Wirtschaftsphysik betrifft, die ihr Studium im WS 2013/2014 begonnen haben (siehe § 22).

Die Prüfung der 6-LP-Variante für die Bachelor- und Master-Studiengänge erfolgt schriftlich über 120 Minuten. Voraussetzung für die Zulassung zur schriftlichen Prüfung ist die erfolgreiche Teilnahme an den Übungen (Vorleistung). Als Hilfsmittel sind nur bis zu fünf handgeschriebene Zettel im A4-Format zugelassen.

Zur Vorleistung sollte man sich bis spätestens zum 9. Februar anmelden. Dieser Termin gilt auch dann, wenn der Wunsch besteht, einen späteren Prüfungstermin wahrzunehmen. Die Vorleistung gilt als erfüllt, wenn mindestens 65 Übungspunkte erworben wurden (in den Übungsblättern 1 bis 11). Sobald die Vorleistung von mir bestätigt wird, ist eine Anmeldung zur schriftlichen Prüfung bis spätestens zum 12. Februar möglich.

Die erste schriftliche Prüfung erfolgt am Montag, den 16. Februar, in der Zeit von 14:00 bis 16:00 Uhr im Hörsaal H22 (in O28).

Die zweite schriftliche Prüfung fällt auf den 30. März 2015 und findet um 16:00 Uhr im H12 statt.

Die beiden Prüfungen sind offen, d.h. Sie können auch dann an der zweiten Prüfung teilnehmen, wenn Sie den ersten Prüfungstermin nicht wahrgenommen haben.

Zur Vorbereitung auf die schriftlichen Prüfungen steht eine Probeklausur zur Verfügung. Diese wird in den Vorlesungen am 5. und 12. Februar 2015 detailliert besprochen. Eine Beispiellösung steht zur Verfügung.

Die erste Prüfung ist fertig korrigiert und die erreichten Punkte sind in SLC eingetragen. Am Donnerstag, den 19. März, besteht die Gelegenheit zur Einsichtnahme in die korrigierte Klausur im Raum E20 in der Helmholtzstraße 18 von 10 bis 12 Uhr.

Inhalte Die Vorlesung dient der Einführung in die systemnahe Software. Unter systemnah wird die Nähe zur Prozessorarchitektur und den Schnittstellen des Betriebssystems verstanden. Ein tieferes Verständnis der systemnahen Programmierung ist insbesondere hilfreich bei der Entwicklung hochperformanter Software, wie sie beispielsweise bei numerischen Anwendungen benötigt wird. Zu den auf dieser Vorlesung aufbauenden Vorlesungen gehören u.a. Systemnahe Software II (im Sommersemester), Parallele Programmierung mit C++ und High Performance Computing. Im einzelnen werden u.a. folgende Punkte behandelt:
  • Einführung in die Programmiersprache C
  • Datentypen und ihre Repräsentierung
  • Dynamische Speicherverwaltung
  • Entwicklungswerkzeuge im Umfeld von C
  • Sicheres Programmieren mit C
  • POSIX-Dateisysteme einschließlich der zugehörigen Schnittstellen
Skript

Zur Vorlesung gibt es einen Vorlesungsbegleiter.

Folien aus der Vorlesung:

Es stehen auch alle Folien in einem Dokument (Stand: 22. Januar) mit intakter Navigationsstruktur zur Verfügung.

Voraussetzungen

Es werden einführende Vorlesungen in die praktische Informatik vorausgesetzt. Denkbar sind entweder Allgemeine Informatik I und II oder Praktische Informatik I und II.

Übungen

Bitte melden Sie sich zu den Übungen im SLC an.

Es finden wöchentliche, ca. 30 minütige Tutorien in Kleingruppen (2-4 Personen) statt. In diesen Tutorien stellen Sie ihre Lösungen vor und diese werden vom Tutor bewertet. Die Tutorien finden in den Computer-Pools in O27/211+213 statt. Die Einteilung der Tutorien erfolgte in der 1. Übung. Falls Sie noch keinen Tutoriumsplatz haben und noch einen benötigen, wenden Sie sich bitte an den Übungsleiter.

Die ersten Tutorien finden bereits in bereits in der Zeit vom 20. bis 24. Oktober 2014 statt!

Blatt Deadline Aufgabe Sonstiges Musterlösung
1 24.10.2014 [PDF] aufgabe1.txt hello.c
2 31.10.2014 [PDF] banca.c
3 07.11.2014 [PDF] voegelein.txt, strophe.h macros.h voegelein.c kayles.c
4 14.11.2014 [PDF],Update 11.11.2014 3letters.h, 4letters.h und 5letters.h holt.c Makefile
5 21.11.2014 [PDF] Ulm.hm hangman.c Makefile
6 28.11.2014 [PDF] bw.txt tour.c
7 05.12.2014 [PDF] tree.c; Eingabedateien: Meerfahrt.txt (nach einem Stich von Hans Burgkmair), Astacoides.txt (nach einem Stich von Thomas Henry Huxley), Frau_mit_Kind.txt (nach einem Stich von Georg Schrimpf) quadtree.c
8 19.12.2014 [PDF] testumgebung.tar, Beschreibung der Testumgebung, Ausschreibung des Wettbewerbs (Abgabe ist am 16. Dezember 2014, 24:00 Uhr.) my_alloc.c
9 16.01.2015 [PDF] korrigiert am 31. Dezember 2014: betrifft den Beschleunigungsvektor für die Reibung;
korrigiert am 13. Januar 2015: betrifft die doppelte Verwendung von -h
image.c blatt09.tar
10 23.01.2015 [PDF] beispiele.tar blatt10.tar
11 30.01.2015 [PDF] authors.txt blatt11.tar
12 unbewertet [PDF] mcopy.c blatt12.tar
Weitere Materialien