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