Intendierter Lernoutcome
- Die Studierenden wenden Algorithmen auf konkrete Eingaben an.
- Die Studierenden geben Zeichnungen von Graphen aufgrund vorgegebener Eigenschaften an.
- Die Studierenden bestimmen formale Spezifikationen von Algorithmen und abstrakten Datentypen aufgrund von verbalen Beschreibungen, indem sie Voraussetzung, Effekt und Ergebnis angeben.
- Die Studierenden implementieren gut strukturierte C++-Programme ausgehend von einer verbalen oder formalen Beschreibung unter adäquater Nutzung imperativer und objektorientierter Programmierkonzepte.
- Die Studierenden vergleichen die unterschiedlichen Ausprägungen der Programmierkonzepte.
- Die Studierenden beschreiben unterschiedliche Implementierungen abstrakter Datentypen und vergleichen diese miteinander.
- Die Studierenden entwickeln Algorithmen zur Lösung vorgegebener algorithmischer Probleme unter adäquater Nutzung bekannter Algorithmen und Datenstrukturen und vergleichen diese miteinander.
- Die Studierenden analysieren Algorithmen indem sie Korrektheit (auf Grundlage der Spezifikation) und Laufzeit begründen.
- Die Studierenden beweisen Eigenschaften von Graphen und O-Notation.
Zielgruppe
Studierende mit dem Nebenfach Informatik und Studierende der Bioinformatik
Literatur
- Goodrich, Tamassia: Data Structures and Algorithms in C++
- Stroustrup: Die C++ Programmiersprache
- Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms
- Kleinberg, Tardos: Algorithm Design
- Schöning: Algorithmen - kurz gefasst