Programmieren in C
Neuigkeiten
- Die Nachklausur findet am Donnerstag 27.08.2020 um 08:30 statt (Raum 01-160). Bitte Bei Fragen zur Klausur, Themen der Vorlesung oder auch den Übungen, schreiben Sie uns bitte an: pinc-support(at)cs.uni-kl.de.
- Auf Grund der aktuellen Entwicklungen in der Corona-Pandemie haben wir uns entschlossen den Termin zu Klausureinsicht auf den Beginn des nächsten Semesters zu verschieben. Sobald wir näheres zum Beginn der Präsenzphase im Sommersemester erfahren, werden wir einen neuen Termin festlegen und Ihnen diesen mitteilen.
Die Klausureinsicht findet statt am Donnerstag, 19. März 2020 10:00h bis 12:00h, 48-379. Bei Bedarf werden wir einen weiteren Termin zu Beginn der Vorlesungen anbieten.- Die Ergebnisse der Klausur sind nun im QIS verfügbar und hängen außerdem in Geb. 48, im 3. Stock aus.
- Präsenzübung (mit Anwesenheitspflicht) in der Woche vom 06.01.2020! Falls möglich, bringen Sie bitte Ihr eigenes Laptop mit installierter Arduino IDE mit (https://www.arduino.cc/en/Main/Software), da wir für die Übung die Terminalrechner nicht nutzen können. Arduino-Boards werden von uns gestellt; falls Sie ein eigenes Board besitzen, können Sie gerne auch dieses mitbringen!
- Verlängerte Bearbeitungszeit für Übungsblatt 07 bis 13.01.2020
- Präsenzübung (mit Anwesenheitspflicht) in der Woche vom 04.11.2019
- Registrierung für die Veranstaltung im Exclaim bis zum 31. Oktober
- Beginn der Vorlesung am Dienstag, 29. Oktober 2019! (Wegen einer Informationsveranstaltung der Fachschaft EIT entfällt die Vorlesung am 28.10.)
Organisation
Vorlesung und Übung: Montag, 13:45 - 15:15, Raum 11-207; Dienstag, 08:15 - 09:45, Raum 46-110
Vorlesung und Übung finden im Wechsel an den beiden Terminen statt.
Präsenzübung: Gruppenzuteilung wie in Exclaim, Raum 32-410-PC
In den Präsenzübungen werden wichtige praktische Fähigkeiten vermittelt sowie Fragen zu den Übungsaufgaben von den Tutoren geklärt. Es besteht Anwesenheitspflicht. Sollten Sie verhindert sein, melden Sie sich bitte bei Dr. Annette Bieniusa bieniusa(at)cs.uni-kl.de.
Die Präsenzübung findet an den folgenden Terminen statt:
Präsenzübung | Termin (je nach Gruppe) |
---|---|
01 Programme schreiben, kompilieren und ausführen | 05. / 06. / 07. November |
02 Guter Programmierstil, Debuggen | 03. / 04. / 05. Dezember |
03 Programmieren mit Arduino-Boards | 07. / 08. / 09. Januar |
04 Speicherverwaltung, Sanitizer | 04. / 05. / 06. Februar |
Dozenten
- Priv.-Doz. Dr.-Ing. Bernd Schürmann
- Dr. Annette Bieniusa
Tutoren
Anika Lütke-Bordewick, Marvin Häuser (Kontakt: pinc-support(at)cs.uni-kl.de)
Inhalt
Die Vorlesung gibt eine Einführung in grundlegende Programmierkonzepte (Algorithmenbegriff, Datentypen, Kontrollstrukturen, Entwurfsmethoden) der imperativen Programmierung basierend auf der Programmiersprache C. Diese Konzepte werden sowohl durch schriftliche wie auch rechnergebundene Aufgaben eingeübt und vertieft.
Vorlesungsmaterial
Die Vorlesungsmaterialien werden regelmässig angepasst und aktualisiert, die Änderungen sind in den Kommentare angegeben.
Kapitel | Folien | Kommentare |
---|---|---|
00 Vorbemerkungen | Folien | |
01 Einführung | Folien | |
02 Einfache Beispielprogramme | Folien | |
03 Datentypen und Operatoren | Folien | |
04 Konstrollstrukturen | Folien | |
05 Programmerzeugung | Folien | |
06 Funktionen | Folien | |
X Arduino | Folien | |
07 Datentypen und Operatoren (2) | Folien | |
08 Dynamischer Speicher | Folien | |
09 EA | Folien |
Übungsblätter
- Falls Sie die Aufgaben an den Terminalrechnern bearbeiten, gibt es hier Hinweise zum Umgang mit Linux: Hinweise zu Linux
Blatt | Zusatzmaterial | Lösungshinweise | Kommentare |
---|---|---|---|
Blatt 1 | |||
Blatt 2 | zinsen_error.c | Blatt 2 | Update[24.02.] Fehler in Aufgabe 3 korrigiert |
Blatt 3 | format.c | Blatt 3 | |
Blatt 4 | Blatt 4 | ||
Blatt 5 | operatoren.c | Blatt 5 | |
Blatt 6 | Blatt 6 | ||
Blatt 7 | studis.c | Blatt 7 | Abgabe am 13.01.!! |
Präsenzübung Blatt 8 | arduino.zip Mikrocontroller Arduino | ||
Blatt 9 | ellipse.c vergleich.c | Blatt 9 | |
Blatt 10 | compress.c | Blatt 10 | 23.01. Aufgabe 1: Bitte verwenden Sie 10.000.000 Würfelereignisse für die Simulation! |
Blatt 11 | linkedlist.c geom.c demo.svg | Blatt11 | |
Blatt 12 | array_buggy.c string_buggy linkedlist_buggy.c demo2.svg | Beispiel für Grafik mit Kreis: demo2.svg |