Lecture: Systemnahe Programmierung

Course:

Exercises:

Other:

  • Term: Bachelor Computer Science, Bachelor Lehramt
  • Requirements:
  • Faculty: BA-INF 034/129
  • Effort: 2L + 2E / 6CP

Ankündigungen - wichtige Termine

 

Statistiken zum Ausfall der Nachklausur vom 05.04.2018 (undefinedhier als PDF)

 

Wir bieten am Montag 07.05.2018 von 13.30h bis 14.00h im Raum 1.012 (Informatik-Neubau Campus Poppelsdorf) eine Möglichkeit der Klausureinsicht.

 

Statistiken zum Ausfall der Klausur vom 16.02.2018 (undefinedhier als PDF).

 

 

(erledigte Ankündigungen und erledigte Termine siehe ganz unten)

 

Zweite Klausur:

Hier ein paar Eckdaten/Dinge die unbedingt beachtet/mitgebracht werden sollten:

- Datum: Do. 05.04.18
- Uhrzeit: 9:30 Uhr (Einlass ca 09:15 Uhr, Dauer 90min)
- Ort: Hörsaalzentrum Poppelsdorf, HS1 (Endenicher Allee)
- Studentenausweis und ein Dokument zum Identitätsnachweis
(z. B. Personalausweis)
- Dokumentenechter Stift

Ich möchte ferner darauf hinweisen, dass die Klausur NICHT in der Römerstraße
geschrieben wird.
Bitte plant genug Zeit für die Anreise ein, es wäre nicht zuträglich zu spät zu kommen.

FAQ:
1) Wann schreiben wir die Klausur?
Antwort: Donnerstag 05.04.18 um 09:30 Uhr

2) Wo schreiben wir die Klausur?
Antwort: Hörsaalzentrum Poppelsdorf HS1 in der Endenicher Allee

3) Was ist mitzubringen?
Antwort: Einen dokumentenechten Stift, deinen Studentenausweis und ein Dokument zum
Identitätsnachweis (z. B. Personalausweis)

 

 

 

 

Erste Klausur:

Hier ein paar Eckdaten/Dinge die unbedingt beachtet/mitgebracht werden sollten:

- Datum: Fr. 16.02.18
- Uhrzeit: 13:15 Uhr (Einlass ca 13:00 Uhr, Dauer 90min)
- Ort: Hörsaalzentrum Poppelsdorf, HS1 (Endenicher Allee)
- Studentenausweis und ein Dokument zum Identitätsnachweis
(z. B. Personalausweis)
- Dokumentenechter Stift

Ich möchte ferner darauf hinweisen, dass die Klausur NICHT in der Römerstraße
geschrieben wird.
Bitte plant genug Zeit für die Anreise ein, es wäre nicht zuträglich zu spät zu kommen.

FAQ:
1) Wann schreiben wir die Klausur?
Antwort: Freitag 16.02.18 um 13:15 Uhr

2) Wo schreiben wir die Klausur?
Antwort: Hörsaalzentrum Poppelsdorf HS1 in der Endenicher Allee

3) Was ist mitzubringen?
Antwort: Einen dokumentenechten Stift, deinen Studentenausweis und ein Dokument zum
Identitätsnachweis (z. B. Personalausweis)

 

 

Weitere Termine bezüglich Klausuren:

  • Wiederholungsprüfung: Donnerstag 05.04.2018, vormittags bis max. 12.00h (exakte Startzeit TBD, Dauer 90 min.), Ort: Hörsaalzentrum Poppelsdorf, HS 1
  • bitte bis spätestens 21.12.2017 über BASIS/POS zur Teilnahme an der Prüfung anmelden (vgl. Ankündigungen per Mail und Informatik-Webseite)

Krankmeldungen für Prüfungstermine werden  nur als Original und mit dem Formblatt "Anlage zur Krankmeldung" akzeptiert und sind spätestens drei Tage nach dem Prüfungstermin im Prüfungsbüro Informatik einzureichen. 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).

Davon unabhängig wird es in der zweiten Vorlesungswoche einen sehr kurzen Überblick über die wichtigsten Konzepte von C geben - dies kann aber auf keinen Fall eine praktische (tiefere) Einarbeitung in C ersetzen! 

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:

Mailingliste

Für die Vorlesung Systemnahe Programmierung wurde eine Mailingliste eingerichtet, über die aktuelle Informationen zur Vorlesung und den Übungen verbreitet werden sollen. Die Anmeldung ist unter dieser undefinedAdresse möglich. Es werden nur Anmeldungen von Studenten akzeptiert, die auch für die Übungen angemeldet sind. Die Mails der Mailingliste werden archiviert.

Studie

Wir möchten mit Sie bitten zu Beginn des Moduls Systemnahe Programmierung und vor der Prüfung des Moduls einen Fragebogen auszufüllen, um uns bei unserer Forschung zu unterstützen. Ziel dieser Fragebögen ist es, Erfahrungen über die Programmierfähigkeiten vor und nach dem Abschluss des Moduls zu erhalten. Es gibt keine “richtige” oder “falsche” Antwort, wir messen keine persönlichen Leistungen und teilen keine identifizierenden Daten, mit Anderen.Die erhobenen Daten sollen anonymisiert in einer wissenschaftlichen Studie und für die Verbesserung der Lehre genutzt werden. Die Matrikelnummer erfragen wir, um die Fragebögen den eingereichten Übungen und Klausuren zuordnen zu können. Die Matrikelnummer wird allerdings vor der Analyse gelöscht, sodass der Bezug zur Person verloren geht und Anonymität gewährleistet ist. Für das vollständige Ausfüllen des ersten und zweiten Fragebogens erhalten Sie 10 Prozentpunkte für die Klausurzulassung.Falls Sie Interesse an den wissenschaftlichen Ergebnissen zu dieser Studie haben, informieren wir Sie gern per Mail. Tragen Sie dazu bitte am Ende der Studie eine E-Mail-Adresse ein. Diese E-Mail-Adresse wird vor der Auswertung separat gespeichert, um die Anonymität der Auswertung zu gewährleisten.  


Die Studie wird von Stephan Plöger und Prof. Dr. Matthew Smith durchgeführt. Falls Sie Fragen haben können Sie uns gerne kontaktieren.

 

Der erste Teil der Studie ist beendet.

Der zweite Teil der Studie ist nun unter folgender URL zu erreichen: undefinedstudyportal-bonn.de

Für die weiteren 5 Prozentpunkte für die Zulassung sind nur diejenigen Berechtigt, welche auch bereits an der ersten Studie teilgenommen haben!

Jene 5 Prozentpunkte können nur gut geschrieben werden wenn der Fragebogen bis Do. 01.02. 16 Uhr vollständig bearbeitet wurde. Allerdings wird die Studie auch nach dem 01.02. noch geöffnet sein.

Wir freuen uns auch über die Teilnahme falls am ersten Teil nicht teilgenommen wurde!

 

Natürlich gibt es auch die Möglichkeit anstatt der Studie ein Seminar zu machen, welches ebenfalls 10 Prozentpunkte für die Zulassung bringt. Bei Interesse schreibe Sie bitte eine Mail an smith@cs.uni-bonn.de

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.

KapitelPDF-File

0. Allgemeine Informationen

undefinedAllgemein

undefinedÜbung

C- und Go-Crash-Kurs für Java-ProgrammiererundefinedCrash-Kurs

1. Maschinenprogrammierung in Assembler

1.1. Motivation
1.2. Bezug zur Systemnahen Informatik (SS 2017)
1.3. Allgemeines zu 80x86 Assembler-Programmierung
1.4. Calling Conventions (aus C unter Linux)
1.5. Bezug zur 2-Adressmaschine (Systemnahe Informatik, SS 2017)
1.6. Assembler-Programmbeispiele
1.7. Socket-/Netzwerkprogrammierung in Assembler
1.8. Zusammenfassung

undefinedFolien 1-77
1. Ergänzung: Speicherverwaltung malloc & freeundefinedFolien 1-19

2. Prozesse und Threads

2.1 Prozesse

2.2 Threads

2.3 IPC

 

undefinedFolien 1-59

 undefinedFolien 1-142

undefinedFolien 1-126

3. Netzwerkprogrammierung in C

3.1. Motivation

3.2. Netzwerkprogrammierung: Sockets & Co.

3.3. I/O-Multiplexing

3.4. Server-Strukturen
3.5. Zusammenfassung

 

Teil 1 undefinedFolien 1-70

Teil 2 undefinedFolien 70-142

 

Ergänzung zu Kapitel 1: Fallstudien aus studentischen Programmierprojekten

 

 

Erledigte Ankündigungen - erledigte Termine

Die erste Vorlesung war am Dienstag 10.10.2017 um 14.30h in HS 1 in der Römerstr. 164. Dort wurden alle weiteren Informationen zur Organisation von Vorlesung und Übungen gegeben (Hinweise zum Übungsbetrieb FINDEN SICH SPÄTER undefinedHIER).

 

Der erste Übungszettel erscheint bereits in der Woche vom 10.10.2017 (auf dieser Webseite), der eigentliche Übungsbetrieb beginnt in diesem Durchlauf in der (dritten) Woche ab Montag 23.10.2017.

 

Eintragung/Anmeldung zu den Übungen via TVS werden nach der ersten Vorlesung am 10.10. geöffnet (ca. 16.30h) (undefinedTVS-Link hier). Die Registrierung bleibt offen bis Dienstag 17.10.2017 um 23.59h (Nacht auf Mittwoch). Die Gruppenzuordnung wird am Mittwoch 18.10.2017 per Mail bekannt gegeben. Bitte beachtet im Weiteren die Hinweise der Mail(s) an die MAILINGLISTE (mehr dazu siehe etwas tiefer).

 

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 darum! (Weitere Informationen dazu auf den Webseiten der Systemgruppe bzw. in den Poolräumen in der Römerstr.).

 

Informationen zur Zulassung zur Prüfung wurden nach Abschluss der letzten Vorlesungs-/Übungswoche an dieser Stelle (und Mailingliste) bekannt gegeben:

Hier zu finden undefinedeine Liste der aufgrund Übungserfolg zugelassenen Studierenden. Der Eintrag der Zulassungen für alle angemeldeten Studies in BASIS erfolgt ab Montag 5.2.2018. Zwischenstand der erreichten Punkte im Übungsbetrieb vom 22.12.2017 (undefinedhier als PDF) - vgl. Ankündigung/Erläuterung dazu auf der Mailingliste.