Vorlesung: Systemnahe Programmierung
Veranstaltung:
- Verantwortlich: Dr. Matthias Frank, Stephan Plöger, Prof. Dr. Matthew Smith, Prof. Dr. Peter Martini
- Beginn: 08.10.2019
- Zeiten: Di. 14:15 bis 15:45, wöchentlich, HSZ - HS2
- Veranstaltungsnummer: 612100034
Übung:
- Verantwortlich: Stephan Plöger, Dr. Matthias Frank
- Beginn: t.b.a.
- Zeiten: Bekanntgabe in der ersten Vorlesung
- Veranstaltungsnummer: 612200034
Weitere Informationen:
- Studienabschnitt: Bachelor Informatik, Bachelor Cyber Security, Bachelor Lehramt
- Voraussetzungen:
- Fachbereich: BA-INF 034/129
- Aufwand: 2V + 2Ü / 6LP
Ankündigungen - wichtige Termine
Aufgrund der Einschränkungen im Lehr- und Forschungsbetrieb der Uni Bonn wurde die am 12.3.2020 geschriebene SysProg-Klausur zunächst noch nicht korrigiert. Wir informieren auf der Vorlesungs-Mailingliste über relevante Neuerungen dazu, wenn es soweit ist. => UPDATE: Die Klausur-Ergebnisse wurden am Dienstag 9.6.2020 in BASIS eingetragen!
Anfragen (egal zu welchem Aspekt ...) bitte per E-Mail an tut-sys-prog (at) lists.iai.uni-bonn.de - so erreicht Ihr das komplette SysProg-Team aus Tutoren und Dozenten und es kann Euch zielgerichtet geholfen werden.
Klausur-relevante Termine:
- Erstes Ferientutorium: Donnerstag 13.2.2020
- im Raum 0.016 im Informatikgebäude
- ab 13.00h bis max. 17.00h
- Erste Prüfungsmöglichkeit: Montag 17.2.2020
- Hörsaalzentrum Hörsaal 1+2
- Zeitraum 12-15h
- Beginn ca. 12.30h, Dauer 90 min. (d.h. bis ca. 14.00h)
Die Klausurergebnisse wurden am Freitag 21.2.2020 in BASIS eingetragen. Statistiken zum Ausfall sind hier zu finden.
- Möglichkeit zur Klausureinsicht Dienstag 3.3.2020
- Raum 1.012 Informatikgebäude
- ab 12.30h bis max. ca. 13.30h
- Zweites Ferientutorium: geplant Dienstag 10.3.2020 (beachtet bitte noch später kommende Hinweise auf der Mailingliste)
- im Raum U1.039 (Seminarraum Untergeschoss) im Informatikgebäude
- ab 13.00h bis max. 17.00h
- Zweite Prüfungsmöglichkeit: Donnerstag 12.3.2020
- Hörsaalzentrum Hörsaal 1
- Zeitraum 8-11h
- Beginn ca. 9.00h, Dauer 90 min. (d.h. bis ca. 10.30h)
Die Klausurergebnisse wurden am Dienstag 9.6.2020 in BASIS eingetragen. Statistiken zum Ausfall sind hier zu finden.
Eine Möglichkeit zur Einsicht in die Nachklausuren können wir aufgrund der weiter geltenden Einschränkungen beim Lehrbetrieb und der Präsenz in den Räumen der Universität leider nicht anbieten.
(erledigte Ankündigungen und erledigte Termine siehe ganz unten)
Krankmeldungen für Prüfungstermine: Beachten Sie bitte hierzu unbedingt die entsprechenden Hinweise des Prüfungsamts Informatik! Zusätzlich sind die Organisatoren der Systemnahen Programmierung per E-Mail über die eingereichte Krankmeldung zu informieren.
Bitte beachten Sie für Ihre strategische Planung der Teilnahme an den Prüfungen: Im Modul Systemnahe Programmierung wird es KEINEN dritten Prüfungstermin geben! Die zweite Prüfungsmöglichkeit deckt den Fall einer Krankheit beim ersten Termin ab.
Programmiersprache C
Im Bereich der systemnahen Programmierung wird als Programmiersprache häufig kein objektorientiertes Java oder C++ verwendet, sondern C. Um die Vorlesung erfolgreich absolvieren zu können, ist die Kenntnis von C sehr wichtig. Aus dem Modul BA-INF 014 "Algorithmisches Denken und imperative Programmierung" (aka ADiP) sind Konzepte einer imperativen Programmiersprache bekannt (im besten Falle wurde C behandelt).
Der Klassiker über die Programmiersprache C ist nach wie vor das Buch von Brian W. Kernighan und Dennis Ritchie: The C Programming Language. Für Teilnehmer/innen mit Vorkenntnissen und Erfahrungen mit Java könnten die folgenden Links hilfreich sein:
- http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/: C von A bis Z - Das umfassende Handbuch, Jürgen Wolf, Rheinwerk Computing <openbook>
- http://www.cs.princeton.edu/introcs/faq/c2java.html: Tabellarische Gegenüberstellung von Java und C
Mailingliste
Für die Vorlesung Systemnahe Programmierung wurde eine Mailingliste eingerichtet, über die aktuelle Informationen zur Vorlesung und den Übungen verbreitet werden. Die Anmeldung ist unter dieser Adresse möglich. Es werden nur Anmeldungen von Studenten akzeptiert, die auch für die Übungen angemeldet sind. Die Mails der Mailingliste werden archiviert.
Fragen von allgemeinem Interesse und Diskussionen zwischen den Teilnehmer/innen sollen ebenfalls über die Mailingliste laufen.
Bei gezielten Fragen an das Team der Tutor/innen und Dozenten kann der Mail-Alias tut-sys-prog (at) lists.iai.uni-bonn.de genutzt werden.
Studie
Das Design der Studie wurde geändern. Die Studie wird nun Online durchgeführt!
Thematisch ist die Studie gleich geblieben. Es geht weiterhin um die Analyse von Code.
Die Studie besteht aus 3 Teilen.
Zuerst sollt ihr eine Aufgabe bearbeiten. Die Bearbeitungszeit hierfür ist auf 10 Stunden über einen Zeitraum von 10 Tagen begrenzt.
Währenddessen füllt ihr einen kurzen Fragebogen von ca. 10min aus.
Abschließend folgt ein Interview von ca. 10-15 Minuten.
Nach Beendigung aller Teile erhaltet ihr eine fixe Vergütung von 150€!
Um an der Studie teilzunehmen schreibt mir eine Mail und ihr erhaltet kurz darauf die Aufgabe.
Hier findet ihr die Einverständniserklärung für die Studie. Bitte lest diese aufmerksam durch.
Mit eurer Mail an mich und der Teilnahme an der Studie stimmt ihr dieser zu.
Bei Fragen könnt ihr euch gerne jederzeit bei mir melden. [ploegers@cs.uni-bonn.de]
Alte Klausuren
Da eine gewisse Diskrepanz zwischen den Übungsaufgaben und den Klausuraufgaben zu erkennen ist, haben wir uns dieses Jahr dafür entschieden, ein paar alte Klausuren zu veröffentlichen, um euch einen Eindruck zu geben was von euch in der Klausur verlangt wird.
Bitte behaltet dabei im Hinterkopf, dass die Vorlesung in den letzten Jahres teilweise anders aufgebaut war und das teilweise andere Schwerpunkte gesetzt waren. Diese hier gezeigten Altklausuren decken offensichtlich nicht alle Themenbereiche ab. Klammert euch nicht nur an diese Altklausuren!
Trotzdem hoffen wir natürlich, dass dieser Einblick für euch hilfreich ist.
Zur Klausurvorbereitung | Alte Klausuren | ||||||||
---|---|---|---|---|---|---|---|---|---|
WS2013/14 | |||||||||
WS2014/15 | |||||||||
Folien und Präsentationen
Von den Studentenrechnern des Instituts aus sind die Dateien frei zugänglich (ebenso per Verbindung über VPN); Zugriffe von anderen Rechnern erfordern ein Paßwort, welches in der ersten Vorlesung bekannt gegeben wird/wurde. Bitte erfragen Sie diese Zugangsdaten nicht per E-Mail! Nachzügler erfahren bei Bedarf die Zugangsdaten von Kommilitonen, den Dozenten oder den Tutoren.
Kapitel | PDF-File |
---|---|
0. Allgemeine Informationen | |
C- und Rust-Crash-Kurs für Java-Programmierer | |
1. Maschinenprogrammierung in Assembler1.1. Motivation | 1.0 Folien 1-77 |
1. Ergänzung: Speicherverwaltung malloc & free | Ergänzte Folien 14+15 |
2. Prozesse und Threads2.1 Prozesse 2.2 Threads 2.3 IPC | |
3. Netzwerkprogrammierung in C 3.1. Motivation 3.2. Netzwerkprogrammierung: Sockets & Co. 3.3. I/O-Multiplexing 3.4. Server-Strukturen | Teil 1 Folien 1-32 Teil 2 Folien 33-69 Teil 3 Folien 70-117 Teil 4 Folien 118-143 |
(Ggf.) Ergänzung zu Kapitel 1: Fallstudien aus studentischen Programmierprojekten | |
| |
Zusätzliche Hilfsmittel
Hilfsmittel | ||
---|---|---|
SPAsT Images | ||
Code Tables |
| |
Übungszettel
Hinweise zum Übungsbetrieb CLICK HERE (erscheinen nach Beginn des Vorlesungsbetriebs)
Die PDF-Dateien können mit dem Acrobat Reader angesehen und ausgedruckt werden. Das Programm ist kostenlos erhältlich und ist auf fast allen Rechnern des Instituts installiert.
PDF-Datei | Ergänzendes Material | Weitere Informationen |
---|---|---|
Übungsblatt 01 | ||
Übungsblatt 02 | ||
Übungsblatt 03 | palindrom_errors.c | |
Übungsblatt 04 | ||
Übungsblatt 05 | ||
Übungsblatt 06 | ||
Übungsblatt 07 | ||
Übungsblatt 08 | ||
Übungsblatt 09 | alexa-top-100.txt | |
Bonuszettel | Fraunhofer FKIE (bis zu 16 Bonus-Punkte) | |
Übungsblatt 10 | mystdshell.a | |
Übungsblatt 11 | ||
Übungsblatt 12 | ||
Übungsblatt 14 |
Erledigte Ankündigungen - erledigte Termine
Die erste Vorlesung war am Dienstag 08.10.2019 um 14.15h in HS 2 im Hörsaalzentrum Campus Poppelsdorf. Dort wurden alle weiteren Informationen zur Organisation von Vorlesung und Übungen gegeben (Hinweise zum Übungsbetrieb FINDEN SICH HIER). Vorlesungsfolien siehe unten.
(Von den Studentenrechnern des Instituts aus sind die Dateien frei zugänglich (ebenso per Verbindung über VPN); Zugriffe von anderen Rechnern erfordern ein Paßwort, welches in der ersten Vorlesung bekannt gegeben wird/wurde. Bitte erfragen Sie diese Zugangsdaten nicht per E-Mail! Nachzügler erfahren bei Bedarf die Zugangsdaten von Kommilitonen, den Dozenten oder den Tutoren.)
Der erste Übungszettel erscheint bereits in der Woche vom 08.10.2019 (auf dieser Webseite), der eigentliche Übungsbetrieb beginnt in diesem Durchlauf in der (dritten) Woche ab Montag 21.10.2019.
Eintragung/Anmeldung zu den Übungen via TVS ist jetzt nach der ersten Vorlesung geöffnet (ab Mittwoch 9.10. - TVS-Link (war) hier ). Wir akzeptieren Gruppenanmeldung mit bis zu 4 (vier) Personen! Bitte auch die Hinweise dazu in der ersten Vorlesung bzw. ggf. auf der Sys-Prog-Mailingliste beachten!!!
Die Registrierung war offen bis Dienstag 15.10.2019 um 23.59h (Nacht auf Mittwoch). Die Gruppenzuordnung wurde am/ab Mittwoch 16.10.2019 per Mail bekannt gegeben. Bitte beachtet im Weiteren die Hinweise der Mail(s) an die MAILINGLISTE.
BA-INF 034 Systemnahe Programmierung ist ein Pflichtmodul nur für diejenigen Teilnehmer/innen (Hauptfach Bachelor Informatik nach PO 2011), die BA-INF 014 ADiP nicht erfolgreich absolviert haben (und auch nicht wiederholen möchten). Für *ALLE ANDEREN* Teilnehmer/innen ist die Teilnahme an BA-INF 034/129 Sys-Prog *FREIWILLIG* als Wahlpflichtmodul (ebenfalls für andere Fächer z.B. mit Nebenfach Informatik).
(Für Studierende im neuen Studiengang Bachelor Cyber Security ist die BA-INF 034 ein Pflichtmodul im 3. Semester)
Nach Anmelde-Ende zu den Übungsgruppen über TVS wird die Verteilung der Teilnehmer/innen auf Kleingruppen und gitlab-Gruppen von unseren Tutor/innen per E-Mail bekannt gegeben. Bei evtl. Rückfragen bitte eine Mail an tut-sys-prog (at) lists.iai.uni-bonn.de schicken.
Für die Abgabe der Übungen in Gruppen wird das Versionierungssystem git auf einem Server der Informatik genutzt. Für den Zugang ist ein gültiger Informatik-Account nötig. Wenn Sie noch keinen Informatik-Account haben sollten, kümmern Sie sich bitte selbständig und rechtzeitig/umgehend darum! (Weitere Informationen dazu auf den Webseiten der Systemgruppe bzw. in den Poolräumen).
Bitte nicht vergessen, sich im üblichen Anmeldezeitraum vom 1.12. bis 21.12.(2019) in BASIS für die Prüfungen für das Modul SysProg (BA-INF 034) anzmelden!