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