Startseite > Fachgruppen > Algorithmen und Komplexität > Lehre > Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen

Lecture will be held in German: DATENSTRUKTUREN UND ALGORITHMEN

 

AnkündigungeN

03.07.2018 Am Montag, den 09.07.2018, findet keine Vorlesung statt.
28.05.2018 Am 01.06.2018 wird anstelle der Vorlesung eine Probeklausur gerechnet. Sie finden die Probeklausur in PANDA. Bitte sehen Sie sich die Probeklausur vorher an und bringen Sie sich eine Version (gedruckt oder digital) am Freitag mit. Sie werden dann eine Stunde Zeit zur Bearbeitung der Aufgaben haben. Im Anschluss wird die Probeklausur besprochen. Die Zentralübung findet unmittelbar nach der Probeklausur statt.
17.04.2018 Am 03.05.2018 und am 04.05.2018 werden die Übungen 08 und 11 einmalig in einen anderen Raum verlegt. Übung 8 findet in Raum E2.310 statt und Übung 11 wird in Raum E2.316 verlegt.
17.04.2018 In PANDA existiert nun ein Forum "Abgabegruppen". Hier haben Sie die Möglichkeit, andere Teilnehmer zu finden, die ebenfalls eine Abgabegruppe suchen.
10.04.2018 Die Abgabe der Heimübungszettel wurde nun auf Montags 14:00 verlängert. Beachten Sie das Abgabedatum auf dem jeweiligen Heimübungszettel.
09.04.2018 Die Übungsgruppengröße wurde auf 28 Personen pro Gruppe erhöht. Sollten Sie sich aufgrund voller Übungsgruppen bei "Keine Übung" angemeldet haben, haben Sie nun die Gelegenheit sich umzumelden.
05.04.2018 Die Sichtbarkeit der Kurses in PANDA ist nun freigeschaltet.
12.03.2018 Der erste Heimübungszettel muss am Montag, den 16.04.2018 um 14 Uhr (also Anfang der zweiten Vorlesungswoche) abgegeben werden.
12.03.2018 Die Präsenzübungen beginnen in der ersten Vorlesungswoche am 09.04.2018.
21.02.2018 In der ersten Zentralübung am 13.04.2018 in L1 wird das Programmierpraktikum vorgestellt.
20.02.2018 Wenn Sie im Studiengang "Informatik Bachelor v4" sind, melden Sie sich auch für die Veranstaltung "L.079.05205 Praktikum: Datenstrukturen und Algorithmen" in PAUL an!

 

Organisation

Vorlesung

  • Montags 11.15 Uhr - 13.00 Uhr, Hörsaal L1
  • Freitags 11.15 Uhr - 13.00 Uhr, Hörsaal L1

Zentralübung

  • Freitags 13.15 Uhr - 14.00 Uhr, Hörsaal L1

Programmierpraktikum

Das Programmierpraktikum wird im Rahmen der Zentralübung am Freitag, 13. April 2018, 13:15-14:00 in Hörsaal L1 vorgestellt. Im Verlauf des Semesters werden weitere Beratungstermine zu den einzelnen Aufgaben angeboten.

Übungsgruppen 

1 Mo  16:00 - 18:00 D 1 320  Dennis Morasch
2 Di 09:00 - 11:00 D 1 303  Daniel Warkentin
3 Di 09:00 - 11:00 D 1 312  Christopher Hänsch
4 Mi 09:00 - 11:00 D 1 303  Oliver Otte
5 Mi 09:00 - 11:00 D 1 312  Paul Kramer
6 Mi  09:00 - 11:00 O 1 258 Christoph Nottelmann
7 Mi 16:00 - 18:00 D 1 303  Christopher Hänsch
8 Do 16:00 - 18:00 O 1 258 Jonas Harbig
9 Fr 09:00 - 11:00 D 1 303  Oliver Otte
10 Fr 09:00 - 11:00 D 1 312  Katharina Kader
11 Fr 09:00 - 11:00 O 1 258 Till Knollmann
12 Fr 14:00 - 16:00 D 1 303  Johanna Gördes
13 Fr 14:00 - 16:00 D 1 312  Katharina Kader
14 Fr 16:00 - 18:00 D 1 303  Tamara Pilz
15 Fr 16:00 - 18:00 D 1 312 Katharina Kader

Die Anmeldung zu den Übungsgruppen erfolgt über PAUL. Die Organisation und die Bereitstellung von Material laufen über das PANDA-System. 

Hinweis: Wenn Sie keine Übungsgruppe besuchen wollen, melden Sie sich bitte in PAUL in der ersten Übungsgruppe "KEINE ÜBUNG" an. Damit wird vermieden, dass Sie Übungsgruppenplätze für Ihre Kommilitonen blockieren.

Klausurzulassung

Um die Klausur erfolgreich bestehen zu können, müssen Sie folgende Voraussetzungen erfüllen.

Sie müssen in mindestens 75% der Heimübungszettel mindestens 20% der Punkte erreichen. Dieses System ist das selbe wie im SoSe 2017. Sollten Sie sich bereits im SoSe 2017 für die Klausur qualifiziert haben, so sind Sie automatisch in diesem Jahr qualifiziert.

Zusätzlich gilt: Wenn Sie aktuell im Studiengang "Informatik Bachelor v4" eingeschrieben sind, müssen Sie mindestens 33% der Gesamtpunkte des Programmierpraktikums erreichen.

Umfang

  • 4 SWS Vorlesung
  • 2 SWS Übung
  • 1 SWS Zentralübung
  • 2 SWS Programmierpraktikum

Modulinformationen

  • Die Vorlesung ist Teil des Moduls "Datenstrukturen und Algorithmen" im Bachelorstudiengang "Informatik" (Leistungspunkte: 9 ECTS)
  • Die Vorlesung ist Teil des Moduls "Algorithmen" im Bachelorstudiengang "Computer Engineering" (Leistungspunkte: 8 ECTS)
  • Die Vorlesung ist Teil des Moduls "Datenstrukturen und Algorithmen" im Bachelorstudiengang "Wirtschaftsinformatik" (Leistungspunkte: 8 ECTS)

 

Inhalt der Vorlesung

Algorithmen bilden die Grundlage jeder Hardware und Software: ein Schaltkreis setzt einen Algorithmus in Hardware um, ein Programm macht einen Algorithmus für den Rechner verstehbar. Algorithmen spielen daher eine zentrale Rolle in der Informatik. Wesentliches Ziel des Algorithmenentwurfs ist die (Ressourcen-)Effizienz, d.h. die Entwicklung von Algorithmen, die ein gegebenes Problem möglichst schnell und mit möglichst geringem Speicherplatz lösen.

Untrennbar verbunden mit effizienten Algorithmen sind effiziente Datenstrukturen, also Methoden, große Datenmengen im Rechner so zu organisieren, dass Anfragen wie Suchen, Einfügen und Löschen, aber auch komplexere Anfragen effizient beantwortet werden können.
Die in dieser Veranstaltung vorgeschlagenen Entwurfs- und Analysemethoden für effiziente Algorithmen und Datenstrukturen sowie die grundlegenden Beispiele wie Sortierverfahren, dynamische Datenstrukturen und Graphenalgorithmen gehören zu den Grundlagen für die Algorithmenentwicklung und Programmierung in weiten Bereichen der Informatik.

 

Übungen

Die Anmeldung zur Veranstaltung sowie zu den Übungen erfolgt über das PAUL-System. Alle Materialien sind im PANDA-System erhältlich.

Präsenzübungen

Wöchentlich werden Präsenzübungen angeboten. Dabei wird ein Präsenzübungszettel in Ihrer Übungsgruppe mit Ihrem Tutor bearbeitet und besprochen. Ihr Tutor steht Ihnen als Ansprechpartner zur Verfügung.

Heimübungen

Es wird wöchentlich am Donnerstag ein Heimübungszettel herausgegeben, der bearbeitet werden kann und bis zum übernächsten Montag nach Veröffentlichung 14.00 Uhr in den Zettelkästen auf D3 abzugeben ist. Das Abgabedatum sehen Sie auch in der Kopfzeile des entsprechenden Heimübungszettels. Die Abgaben sollten in Gruppen von 2-4 Personen stattfinden. Geben Sie bitte bei einem Tutor ab, in dessen Übungsgruppe einer der Teilnehmer Ihrer Abgabegruppe angemeldet ist. Die Aufgaben werden mit Punkten bewertet und in der Zentralübung vorgerechnet. Bitte beachten Sie den Hinweis auf dem ersten Heimübungszettel.

Um die Klausur erfolgreich zu bestehen, müssen Sie in mindestens 75% der Heimübungszettel mindestens 20% der Punkte erreichen. Sie erhalten einen Bonusnotenschritt in der Klausur, wenn Sie 60% der Punkte auf den Heimübungszetteln erreicht haben und einmal in der Präsenzübung vorgerechnet haben. Der Bonusschritt wird nach erfolgreichem Bestehen der Klausur angerechnet. Dieses System ist das selbe wie im SoSe 2017. Sollten Sie sich bereits im SoSe 2017 für die Klausur qualifiziert haben, so sind Sie automatisch in diesem Jahr qualifiziert. Falls nicht, gelten die oben angegebenen Regeln. Bonusschritte sind nur aus dem SoSe 2017 übertragbar.

Programmierpraktikum

Das Programmierpraktikum ist nur relevant, wenn Sie im Studiengang "Informatik Bachelor v4" eingeschrieben sind. Melden Sie sich dann bitte in PAUL auch für die Veranstaltung "L.079.05205 Praktikum: Datenstrukturen und Algorithmen" an.

Es werden 3 bewertete Programmieraufgaben zu jeweils 100 Punkten über das Semester verteilt angeboten. Um die Veranstaltung erfolgreich abzuschließen, benötigen Sie mindestens ein Drittel der Gesamtpunkte (100 Punkte) des Programmierpraktikums. Besuchen Sie die Zentralübung am 13. April, 13:15 - 14:00 Uhr in Hörsaal L1, um weitere Informationen zum Programmierpraktikum zu erhalten.

 

Zugriff auf Vorlesungsmaterialien über PANDA

Für den Zugriff auf PANDA müssen Sie in PAUL angemeldet sein. Durch Ihre PAUL-Anmeldung werden Ihre Daten automatisch in PANDA übernommen: Die Übernahme erfolgt immer über Nacht, d.h. Sie müssen immer einen Tag warten, bis Ihre Anmeldung in PAUL auch den Zugriff in PANDA freigibt. Falls es Schwierigkeiten mit dem PANDA-Zugriff auf die Materialien gibt, melden Sie sich bitte bei Till Knollmann oder Jannik Sundermeier.

 

Literatur

  • Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, MIT Press / McGraw-Hill, 3rd ed., ISBN: 0-262-53305-8
  • Cormen, Leiserson, Rivest, Stein: Algorithmen - Eine Einführung, Oldenburg, ISBN: 3-486-27515-1
  • Ottmann, Widmeyer: Algorithmen und Datenstrukturen, Spektrum Akademischer Verlag, ISBN: 3-321-29535-8
  • Kleinberg, Tardos: Algorithm Design,Addison-Wesley, ISBN: 0-312-29535-8
  • Sedgewick: Algorithms in Java (parts 1-4), Addison-Wesley, ISBN: 0-201-36120-5