Algorithmen und Datenstrukturen

Einleitung

"Ich kann also jetzt programmieren und kenne Algorithmen und Datenstrukturen. Wie aber baut man Software?"

Es hat sich gezeigt, dass immer wieder die gleichen Probleme gelöst werden müssen. Die Lösungen dieser Probleme werden unter den Namen "Algorithmen und Datenstrukturen" und "Entwurfsmuster" zusammengefasst. Beispiele sind:

Algorithmen und Datenstrukturen

  • Wie kann ich statt Arrays Listen erzeugen, von denen ich nicht bei der Erzeugung wissen muss, wie gross sie wird?
  • Wie lange dauert mein Algorithmus, wenn ich statt mit 100 Datensätzen mit einer Million Datensätzen arbeite?
  • Wie findet mein Routenplaner den kürzesten oder schnellsten Weg von A nach B?

Entwurfsmuster

  • Wie kann ich erzwingen, dass von einer Klasse nur ein einziges Objekt erzeugt werden kann?
  • Wie kann ich Gruppen von Elementen bilden und diese Gruppen können wieder Element einer Gruppe sein?

Sie lernen in diesem Kurs die wichtigsten Datenstrukturen passende Algorithmen und Entwurfsmuster kennen. Datenstrukturen sind Listen, Bäume und Graphen. Entwurfsmuster sind beispielhafte Lösungen (Musterlösungen) von Problemen, die beim Entwurf und Bau von Software auftauchen.

Didaktische Idee

Software kann man nur bauen, wenn man die Theorie versteht und in der Praxis anwenden kann. Natürlich braucht die Praxis etwas mehr Zeit: Deshalb beschränken wir die Theorie auf die wichtigsten Prinzipen und räumen viel Zeit ein, in der Sie Software selbst bauen.