====== Proseminar „C - 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 in einem Vorbesprechungstermin und über die Veranstaltungsmailingliste. Beachten Sie auch unsere allgemeinen organisatorischen [[:teaching:organisatorische_hinweise:seminar_proseminar#proseminare|Hinweise zu Proseminaren]]. Für dieses Proseminar gelten bezüglich der Ausarbeitung leicht abweichende Regularien; siehe auch die {{:teaching:sommersemester_2013:cgk-13-einfuehrung.pdf|Einführungsfolien}}. ===== 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 || Freitag, 12--14 Uhr || || 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 || 05.04.2013 || || Vorbesprechung || 05.04.2013, 12--14 Uhr, DKRZ, Raum 034 || || Mailingliste || [[http://wr.informatik.uni-hamburg.de/listinfo/cgk-13|CGK-13]] || ===== Dozenten ===== * [[People:Alumni:Michael Kuhn]] (Ansprechpartner) * [[People:Alumni:Nathanael Hübbe]] * [[People:Externals:Michaela Zimmer]] ===== Zeitplan ===== * **05.04.** Vorbesprechung -- {{:teaching:sommersemester_2013:cgk-13-einfuehrung.pdf|Folien}} * **12.04.** Fällt aus * **19.04.** Fällt aus * **26.04.** * Einführung -- Tronje Krabbe ((Nathanael Hübbe)) {{:teaching:sommersemester_2013:cgk-13_krabbe_einfuehrung_presentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13_krabbe_einfuehrung_druckversion.pdf|Druckversion}} {{:teaching:sommersemester_2013:cgk-13_krabbe_einfuehrung_ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13_krabbe_einfuehrung_aufgaben.pdf|Aufgaben}} * Präprozessor -- Lukas Stabe ((Nathanael Hübbe)) {{:teaching:sommersemester_2013:cgk-13_stabe_preprocessor_presentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13_stabe_preprocessor_ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13_stabe_preprocessor_aufgaben.pdf|Aufgaben}} * **03.05.** * Compiler -- Federico Ardila ((Michael Kuhn)) -- {{:teaching:sommersemester_2013:cgk-13-ardila-compiler-praesentation.pdf|Präsentation}} * Sprachstandards -- Lars Thoms ((Michael Kuhn)) -- {{:teaching:sommersemester_2013:cgk-13-thoms-sprachstandards-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-thoms-sprachstandards-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-thoms-sprachstandards-aufgaben.pdf|Aufgaben}} * **10.05.** * Zeiger -- Benjamin Kuffel ((Michaela Zimmer)) -- {{:teaching:sommersemester_2013:cgk-13-kuffel-zeiger-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-kuffel-zeiger-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-kuffel-zeiger-aufgabe.pdf|Aufgaben}} * Strukturen -- Michael Kuhn -- {{:teaching:sommersemester_2013:cgk-13-kuhn-strukturen-praesentation.pdf|Präsentation}} * **17.05.** (Geomatikum, Raum 1729) * Dynamische Speicherverwaltung -- Tim Dobert ((Nathanael Hübbe)) -- {{:teaching:sommersemester_2013:cgk-13-dobert-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-dobert-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-dobert-malloc-aufgaben.pdf|Aufgaben}} * **24.05.** Fällt aus (Pfingstferien) * **31.05.** * Datentypen (verschiedene Architekturen, Standards) -- Jan Branitzki ((Michaela Zimmer)) -- {{:teaching:sommersemester_2013:cgk-13-branitzki-datentypen-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-branitzki-datentypen-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-branitzki-datentypen-aufgaben.pdf|Aufgaben}} * Modulare Programmierung und Bibliotheken -- Alexander Droste ((Michaela Zimmer)) -- {{:teaching:sommersemester_2013:cgk-13-droste-modulare_programmierung_und_bibliotheken-praesentation.pdf|Folien}} {{:teaching:sommersemester_2013:cgk-13-droste-modulare_programmierung_und_bibliotheken-aufgaben.pdf|Aufgaben}} * **07.06.** * Debugging -- Marcel Hellwig ((Michael Kuhn)) -- {{:teaching:sommersemester_2013:cgk-13-hellwig-debugging-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-hellwig-debugging-aufgaben.tar.bz2|Aufgaben}} * Typische Speicherfehler -- Thorsten Ploß ((Nathanael Hübbe)) -- {{:teaching:sommersemester_2013:cgk-13-ploss-speicherfehler-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-ploss-speicherfehler-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-ploss-speicherfehler-aufgaben.pdf|Aufgaben}} * **14.06.** * GLib -- Hans Ole Hatzel ((Michaela Zimmer)) -- {{:teaching:sommersemester_2013:cgk-13-hatzel-glib-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-hatzel-glib-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-hatzel-glib-aufgaben.pdf|Aufgaben}} * Rechnerraumführung * **21.06.** * Abstrakte C-Maschine und Stack -- Julian Tobergte ((Nathanael Hübbe)) -- {{:teaching:sommersemester_2013:cgk-13-tobergte-abstrakte_c-maschine_und_stack-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-tobergte-abstrakte_c-maschine_und_stack-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-tobergte-abstrakte_c-maschine_und_stack-aufgaben.pdf|Aufgaben}} * Ein-/Ausgabe -- Sandra Schröder ((Michael Kuhn)) * **28.06.** * Programmierstile -- Minh Nguyen Nhu ((Nathanael Hübbe)) -- {{:teaching:sommersemester_2013:cgk-13_minh_presentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13_minh_ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-minh-programmierstil-aufgaben.pdf|Aufgaben}} * C vs. C++ -- Sebastian Meyer ((Nathanael Hübbe)) -- {{:teaching:sommersemester_2013:cgk-13-meyer-c-vs-c_-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-meyer-c-vs-c_-ausarbeitung.pdf|Ausarbeitung}} {{:teaching:sommersemester_2013:cgk-13-meyer-c-vs-c_-aufgaben.pdf|Aufgaben}} {{:teaching:sommersemester_2013:cgk-13-meyer-c-vs-c_-code.zip|Code}} * **05.07.** (Raum 207) * Fehlerbehandlung -- Thomas Mertke ((Michael Kuhn)) * Threads -- Marcel Hellwig ((Michael Kuhn)) -- {{:teaching:sommersemester_2013:cgk-13-hellwig-threads-praesentation.pdf|Präsentation}} {{:teaching:sommersemester_2013:cgk-13-hellwig-threads-aufgaben.tar.bz2|Aufgaben}} * **12.07.** * Klausur ===== 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|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]] * [[http://gcc.gnu.org/gcc-4.7/changes.html|GCC-4.7-Änderungen]]