Einführung in die Programmiertechnik II (Sommersemester 2023)
Dozent:
Prof. Dr. Ralf Herbrich
(Artificial Intelligence and Sustainability)
,
Prof. Dr. Christoph Lippert
(Digital Health - Machine Learning)
,
Noel Danz
(Digital Health - Machine Learning)
,
Alexander Kastius
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 01.04.2023 - 07.05.2023
- Lehrform: Vorlesung / Übung
- Belegungsart: Pflichtmodul
- Lehrsprache: Deutsch
Studiengänge, Modulgruppen & Module
- Grundlagen IT-Systems Engineering
- HPI-PT2 Programmiertechnik II
Beschreibung
Die Lehrveranstaltung bietet eine Einführung in die Programmierung von Algorithmen beginnend von algorithmischen Grundkonzepten und Paradigmen, Eigenschaften von Algorithmen sowie speziellen Algorithmenklassen wie Hashverfahren, Sortier- und Suchverfahren, Algorithmen für Bäume und Graphalgorithmen. Die Vorlesung benutzt die objektorientierte Programmiersprache C++.
Literatur
Lern- und Lehrformen
Übungen finden alle 2 Wochen zum Vorlesungstermin am Mittwoch statt. Zu den Übungen werden Übungsaufgaben ausgegeben (insgesamt 7 Serien). Diese sollen in Zweier-Gruppen bearbeitet werden. Für eine Zulassung zur Klausur ist der Erwerb von mindestens 50\% aller Punkte über alle Übungsaufgaben erforderlich; jede Übgungsaufgabe muss aber erfolgreich die automatisierten Tests bestehen und eingereicht werden. Lösungen zu den Übungsaufgaben müssen über GitHub Classrooms eingereicht werden.
Leistungserfassung
Am Ende der Lehrveranstaltung wird eine Klausur geschrieben. Für eine Zulassung zur Klausur ist der Erwerb von mindestens 50% aller Punkte über alle Übungsaufgaben erforderlich, wobei Leerabgaben von Übungen nicht erlaubt sind. Als Leerabgabe gilt eine Abgabe ohne erkennbare Bearbeitung der Aufgaben. Die Übungsaufgaben werden mit Hilfe von GitHub Classrooms bearbeitet und eingereicht. Der letztmöglich Rücktrittszeitpunkt ist 7 Tage vor der Klausur.
Termine
- Woche 1 (17.4 & 20.4): Überblick Algorithmen (Unit 1) & C++ Einführung (Unit 2)
- Woche 2 (24.4 & 27.4): Eigenschaften von Algorithmen (Unit 3a) & Übung 1
- Woche 3 (4.5): Eigenschaften von Algorithmen (Unit 3b) [Ausfall am 1.5]
- Woche 4 (8.5 & 11.5): Grundlegende Datentypen (Unit 4) & Übung 2
- Woche 5 (15.5): Sortieren (Unit 5a) [Ausfall am 18.5]
- Woche 6 (22.5 & 25.5): Sortieren (Unit 5b & c)
- Woche 7 (1.6): Übung 3 [Ausfall 29.5]
- Woche 8 (5.6 & 8.6): Suchen (Unit 6) & Hashing (Unit 7)
- Woche 9 (12.6 & 15.6): Bäume (Unit 8a) & Übung 4
- Woche 10 (19.6 & 22.6): Bäume (Unit 8b & c)
- Woche 11 (26.6 & 29.6): Graphen (Unit 9a) & Übung 5
- Woche 12 (3.7 & 6.7): Graphen (Unit 9b & c)
- Woche 13 (10.7 & 13.7): Algorithmenparadigmen (Unit 10a) & Übung 6
- Woche 14 (17.7 & 20.7): Algorithmenparadigmen (Unit 10b & c)
- Woche 14 (24.7 & 27.7): Klausurvorbereitung (Unit 11) & Übung 7
Zurück