Größere Übungen

Zum Abschluss jedes Lernmoduls stellen wir Ihnen jeweils einige größere Übungsaufgaben zur Verfügung. Diese Übungsaufgaben sind ausführlicher als die unterwegs vorgeschlagenen Miniübungen. Das Ziel ist es hier, nicht nur einzelne Themen direkt auszuprobieren, sondern vielmehr verschiedene Themen zu kombinieren, um so ein verknüpfendes Verständnis der Lerninhalte zu erreichen.

Der Umfang dieser Übungen ist daher auch dementsprechend größer und es bietet sich hier auch explizit an, diese Aufgaben gemeinsam mit Ihren Komiliton*innen in einer Gruppe zu bearbeiten und diskutieren. Zum Abschluss des dritten Lernmoduls zu Datenstrukturen, List Comprehensions und Funktionen warten auf Sie die folgenden Aufgaben:

1. Comprehensions:
Mit Hilfe von Comprehensions sollen hier in drei Teilaufgaben, Listen und Mengen erstellt werden, die gewisse Bedinungen erfüllen müssen, welche genutzt werden können zur effizienten Implementierung.

2. Pascalsches Dreieck:
Das Pascalsche Dreieck hat interessante Eigenschaften in der Kombinatorik und steht in direktem Zusammenhang mit dem Binomialkoeffizienten, deshalb soll dieses an dieser Stelle einmal selbst implementiert werden. Diese Aufgabe verbindet die Abschnitte zu Funktionen miteinander, da sowohl Argumente, als auch Rückgaben und ein rekursiver Funktionsaufruf benötigt werden.

3. Skytale Verschlüsselung
Die Skytale Verschlüsselungstechnik wurde schon von den Spartanern 700 v.Chr. angewendet um Texte zu verschlüsseln. Diese Verschlüsselungstechnik, die normalerweise mit einem gewickelten Papierstreifen um einen Stab realisiert wird soll nun implementiert werden, sodass Text sowohl verschlüsselt, als auch entschlüsselt werden kann. Hierbei wird das Verständnis für den Umgang mit Funktionen getestet, sowie explizit das Verwenden schon zuvor implementierter Funktionen.

Für die großen Übungen stellen wir Ihnen ein Jupyter-Notebook bereit, welches die detaillierten Aufgabenstellungen und Hilfen in Form von Teilprogrammen zur Verfügung stellt. Falls Sie jedoch eine andere favorisierte Programmierumgebung haben bekommen Sie zusätzlich das Jupyter-Notebook mit der Aufgabenstellung als PDF und können die Aufgaben in der Umgebung Ihrer Wahl bearbeiten.
