====== Proseminar „C-Programmierung - Grundlagen und Konzepte“ ====== ===== Beschreibung ===== Im Proseminar werden wir die Programmierung mit C einführen und auch weiterführende Themen behandeln. Hierzu werden allgemeine Kenntnisse in einer Programmiersprache vorausgesetzt. Die Themenvergabe und die Terminabsprache erfolgt über die Veranstaltungsmailingliste. Beachten Sie auch unsere allgemeinen organisatorischen [[:teaching:organisatorische_hinweise:seminar_proseminar#proseminare|Hinweise zu Proseminaren]]. ===== Zielgruppe ===== Das Proseminar eignet sich für Studierende der Informatik in den Diplom- und Bachelorstudiengängen. Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären. Interessierte Zuhörer sind auch herzlich willkommen. ===== Daten der Veranstaltung ===== || Zeit || Freitags, 14:15-15:45 || || Ort || [[http://maps.google.com/maps?q=DKRZ,+Bundesstra%C3%9Fe+45a,+20146+Hamburg&hl=de&cd=2&ei=BUxYS-GvKIuLOKaotbgJ&sig2=Kv8CBjHeXm8lAVC3XxRrIQ&ie=UTF8&view=map&cid=262423906154203330&ved=0CBsQpQY&hq=DKRZ,+Bundesstra%C3%9Fe+45a,+20146+Hamburg&hnear=&z=16&iwloc=A|DKRZ]], Raum 034 || || Beginn || 29.04.2011 || || Vorbesprechung || 2011-03-31, 15:00--16:00 Uhr || || Mailingliste || [[https://wr.informatik.uni-hamburg.de/listinfo/cgk-11|CGK-11]] || ===== Dozenten ===== * [[People:Thomas Ludwig]] * [[People:Alumni:Timo Minartz]] * [[People:Alumni:Michael Kuhn]] * [[People:Alumni:Julian Kunkel]] ===== Zeitplan ===== ==== Termin 29.4. ==== * **Einführung** -- {{:teaching:sommersemester_2011:cgk11-einfuehrung.pdf|Einführung}} ==== Termin 6.5. ==== * **Sprachstandards** ((Betreuung [[People:Alumni:Michael Kuhn]])) -- //David Weiser// -- {{:teaching:sommersemester_2011:cgk11-weiser-sprachstandards-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-weiser-sprachstandards-ausarbeitung.pdf|Ausarbeitung}} * **Programmierstile** ((Betreuung [[People:Alumni:Michael Kuhn]])) -- //Sebastian Rothe// -- {{:teaching:sommersemester_2011:cgk11-rothe-programmierstile-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-rothe-programmierstile-ausarbeitung.pdf|Ausarbeitung}} ==== Termin 13.5. ==== * **Zeiger** ((Betreuung [[People:Alumni:Timo Minartz]])) -- //Thomas Mechelke// -- {{:teaching:sommersemester_2011:cgk11-mechelke-zeiger-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-mechelke-zeiger-ausarbeitung.pdf|Ausarbeitung}} * **Strukturen** ((Betreuung [[People:Alumni:Timo Minartz]])) -- //Marcel Lebek// -- {{:teaching:sommersemester_2011:cgk11-lebek-strukturen-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-lebek-strukturen-ausarbeitung.pdf|Ausarbeitung}} ==== Termin 20.5. ==== * **Dynamische Speicherverwaltung** -- //Timo Minartz// -- {{:teaching:sommersemester_2011:cgk11-minartz-speicherverwaltung-praesentation.pdf|Präsentation}} * Heap, Allokation * **Typische Speicherfehler** -- //Michael Kuhn// -- {{:teaching:sommersemester_2011:cgk11-kuhn-typische_speicherfehler-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-kuhn-typische_speicherfehler-beispiele.tar.gz|Beispiele}} * Valgrind ==== Termin 27.5. ==== * **Geschichte von C** ((Betreuung [[People:Alumni:Timo Minartz]])) -- //Stefan Thomas// -- {{:teaching:sommersemester_2011:cgk11-thomas-geschichte-praesentation.pdf|Präsentation}} * **Abstrakte C-Maschine & Stack** -- //Julian Kunkel// -- {{:teaching:sommersemester_2011:cgk11-kunkel-stackframes.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-kunkel-code.tgz|Code}} ==== Termin 3.6. ==== * **Compiler** ((Betreuung [[People:Alumni:Julian Kunkel]])) -- //Torsten Zühlke// -- {{:teaching:sommersemester_2011:cgk11-zuehlke-compiler.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-zuehlke-compilerprint.pdf|Präsentation Druckversion}} -- {{:teaching:sommersemester_2011:cgk11-zuehlke-compiler-ausarbeitung.pdf|Ausarbeitung}} * Analyse & Synthese Phase * **Hacking** ((Betreuung [[People:Alumni:Julian Kunkel]])) -- //Reinhard Oertel// -- {{:teaching:sommersemester_2011:cgk11-oertel-hacking_in_c.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk-11-oertel-hacking_in_c-ausarbeitung.pdf|Ausarbeitung}} ==== Termin 10.6. ==== * // Beginn erst um 15 Uhr // * **Der C-Präprozessor** ((Betreuung [[People:Alumni:Timo Minartz]])) -- //Svenja Neef// -- {{:teaching:sommersemester_2011:cgk11-neef-praeprozessor-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-neef-praeprozessor-beispiel.zip|Beispiele}} -- {{:teaching:sommersemester_2011:cgk11-neef-praeprozessor-ausarbeitung.pdf|Ausarbeitung}} ==== Termin 17.6. ==== * // fällt aus// ==== Termin 24.6. ==== * **Modulare Programmierung & Bibliotheken** ((Betreuung [[People:Alumni:Michael Kuhn]])) -- //Ludwig Eisenblätter// -- {{:teaching:sommersemester_2011:cgk11-eisenblaetter-module_und_bibliotheken-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-eisenblaetter-module_und_bibliotheken-beispiele.zip|Beispiele}} -- {{:teaching:sommersemester_2011:cgk11-eisenblaetter-module_und_bibliotheken-ausarbeitung.pdf|Ausarbeitung}} * **Error-handling in C** ((Betreuung [[People:Alumni:Michael Kuhn]])) -- //Lucas Georg// -- {{:teaching:sommersemester_2011:cgk11-georg-errorhandling-praesentation.pdf|Präsentation}} -- {{:teaching:sommersemester_2011:cgk11-georg-errorhandling-ausarbeitung.pdf|Ausarbeitung}} ==== Termin 1.7. ==== * // fällt aus // ==== Termin 8.7. ==== * **GNU C Library - libc** -- //Nathanael Hübbe// {{:teaching:sommersemester_2011:cgk11-huebbe-libc.pdf|Präsentation}} * **Gnome Library - GLib** ((Betreuung [[People:Alumni:Michael Kuhn]])) -- //Esteban Böhmecke// -- {{:teaching:sommersemester_2011:cgk11-boehmecke-glib-praesentation.pdf|Präsentation}} ===== Materialien ===== ===== Literaturhinweise ===== * C-Programmierung - Unter Linux, Unix und Windows (Helmut Herold, Jörg Arndt) * [[http://de.wikibooks.org/wiki/C-Programmierung|Wikibook]] * [[http://publications.gbdirect.co.uk/c_book/c|The C Book]] * [[http://de.wikibooks.org/wiki/C-Programmierung|C-Wikibook]] * [[http://www.gnu.org/prep/standards/html_node/index.html|GNU Coding Standards]] * [[http://gcc.gnu.org/gcc-4.6/changes.html|GCC 4.6 Änderungen]]