====== Seminar „Effiziente Programmierung“ ====== ===== Beschreibung ===== In diesem Seminar geht es um die effiziente Programmierung im weiteren Sinne. Dazu gehören sowohl die eigentliche Entwicklung und das Debugging aber auch der Energieverbrauch und die Laufzeit des Programms. Dabei sollen Informationen zu den verschiedenen Themen recherchiert werden und anhand von konkreten Beispielen dargestellt werden. Es können auch die Ergebnisse kleiner vergleichender Untersuchungen zur Auswirkung verschiedener Konstrukte und Methoden gezeigt werden. Beachten Sie auch unsere allgemeinen organisatorischen [[:teaching:organisatorische_hinweise:seminar_proseminar#seminare|Hinweise zu Seminaren]]. ===== Zielgruppe ===== Das Projekt 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 || Donnerstag, 10--12 Uhr || || Ort || [[https://www.uni-hamburg.de/onTEAM/campus/index.html?loc=i12340438|DKRZ]], Raum 034 || || Beginn || 20.10.2016 || || Mailingliste || [[https://wr.informatik.uni-hamburg.de/listinfo/ep-1617|EP-1617]] || ===== Dozenten ===== * [[People:Alumni:Michael Kuhn]] (Ansprechpartner) * [[People:Alumni:Christian Hovy]] * [[People:Anna Fuchs]] * [[People:Alumni:Konstantinos Chasapis]] * [[People:Alumni:Nabeeh Jumah]] * [[People:Externals:Yevhen Alforov]] ===== Zeitplan ===== Bei einem allgemeinen Einführungstermin werden Grundlagen vermittelt und die Themen zugewiesen. Nach der Festlegung der Themen soll der Inhalt mit dem jeweiligen Betreuer diskutiert werden. * 20.10. Einführung -- {{:teaching:wintersemester_2016_2017:ep-1617-einfuehrung.pdf|Präsentation}} * 27.10. Rechnerraumführung * 03.11. Fällt aus * 10.11. * Versionskontrolle: Subversion und Git -- Sascha Schulz ((Christian Hovy)) {{ :teaching:wintersemester_2016_2017:ep-1617_schulz_versionskontrolle.pdf |Präsentation}} {{ :teaching:wintersemester_2016_2017:ep-1617_schulz_versionskontrolle-ausarbeitung.pdf |Ausarbeitung}} * Buildsysteme Java: Ant und Maven -- Artem Eger ((Christian Hovy)) {{ :teaching:wintersemester_2016_2017:ep-1617_eger_ant_maven.pdf |Präsentation}} * 17.11. * Code style, documentation and layout -- Christopher Jarsembinski ((Konstantinos Chasapis)){{:teaching:wintersemester_2016_2017:ep_1617_christopher_jarsembinski_energy_efficient_programming.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep_1617_christopher_jarsembinski_energy_efficient_programming_notes.pdf|Ausarbeitung}} * Leistungsanalyse -- Florian Stiefel ((Yevhen Alforov)) {{:teaching:wintersemester_2016_2017:ep-1617-stiefel-leistungsanalyse.pdf|Präsentation}} * 24.11. * Buildserver: Buildbot und Jenkins -- Dennis Markmann ((Christian Hovy)) {{:teaching:wintersemester_2016_2017:ep-1617_markmann_jenkins_buildbot.pdf|Präsentation}} {{ :teaching:wintersemester_2016_2017:ep-1617_markmann_jenkins_buildbot_ausarbeitung.pdf |Ausarbeitung}} * Energy efficient programming -- Merlin Steuer ((Konstantinos Chasapis)){{:teaching:wintersemester_2016_2017:ep_1617_merlinsteuer_energy_efficient_programming.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep_1617_merlinsteuer_energy_efficient_programming_notes.pdf|Ausarbeitung}} * 01.12. * Debugging (inkl. Speicherfehler) -- Kadir Duman ((Michael Kuhn)) {{:teaching:wintersemester_2016_2017:ep-1617-duman-debugging-praesentation.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep-1617-duman-debugging-ausarbeitung.pdf|Ausarbeitung}} * Buildsysteme C: Make und CMake -- Veit-Hendrik Schlenker ((Christian Hovy)) {{:teaching:wintersemester_2016_2017:ep-1617_schlenker_make_cmake.pdf|Präsentation}} [[https://gitlab.com/vhschlenker/semvortrag-dateien|Code]] {{ :teaching:wintersemester_2016_2017:ep-1617_schlenker_make_cmake_ausarbeitung.pdf |Ausarbeitung}} * 08.12. * History of IDEs -- Justin Welsch ((Christian Hovy)) {{ :teaching:wintersemester_2016_2017:ep-1617_welsch_history_of_ides.pdf |Präsentation}} {{ :teaching:wintersemester_2016_2017:ep-1617_welsch_history_of_ides_ausarbeitung.pdf |Ausarbeitung}} * GPUs -- Johannes Coym ((Michael Kuhn)) {{:teaching:wintersemester_2016_2017:ep-1617-coym-gpus-praesentation.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep-1617-coym-gpus-code.zip|Code}} {{:teaching:wintersemester_2016_2017:ep-1617-coym-gpus-ausarbeitung.pdf|Ausarbeitung}} * 15.12. * Multi- und Many-Core -- Benjamin Warnke ((Michael Kuhn)) {{:teaching:wintersemester_2016_2017:ep-1617-warnke-multi-many-core-praesentation.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep-1617-warnke-mulit-many-core-ausarbeitung.pdf|Ausarbeitung}} * OpenMP (Open Multi-Processing) -- Philipp-Marvin Quach ((Konstantinos Chasapis)) {{:teaching:wintersemester_2016_2017:ep_1617_philipp-marvin_quach_energy_efficient_programming.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep_1617_philipp-marvin_quach_energy_efficient_programming_notes.pdf|Ausarbeitung}} * 22.12. * Java beyond SE2 -- Detlef Litterst ((Christian Hovy)) * Vektorisierung (SSE, AVX) -- Oliver Heidmann ((Nabeeh Jumah)) * 12.01. **(Raum 023)** * Web: Lastverteilung etc. -- Connor Gäde ((Christian Hovy)) {{ :teaching:wintersemester_2016_2017:ep-1617_gaede_optimierung_im_web.pdf|Präsentation}} {{ :teaching:wintersemester_2016_2017:ep-1617_gaede_optimierung_im_web_ausarbeitung.pdf |Ausarbeitung}} * 19.01. * GNOME Builder -- Savvas Yiannopoulos ((Michael Kuhn)) * 26.01. * Cache-Nutzung -- Georg-Martin Scherer ((Nabeeh Jumah)) * Speicherverwaltung im Kernel -- Sven Schmidt ((Anna Fuchs)) {{:teaching:wintersemester_2016_2017:ep-1617-schmidt-speicherverwaltung-im-kernel-praesentation.pdf|Präsentation}} {{:teaching:wintersemester_2016_2017:ep-1617-schmidt-speicherverwaltung-im-kernel-ausarbeitung.pdf|Ausarbeitung}} * 02.02. * Thrill (http://project-thrill.org/) -- Sandro Joost ((Michael Kuhn)) ===== Literaturhinweise ===== * http://smackerelofopinion.blogspot.de/2012/09/striving-for-better-code-quality.html