Woche 5 - Turtlegrafik
In dieser Woche führen wir keine neuen Programmierkonzepte ein, sondern trainieren unsere Fähigkeiten Kontrollstrukturen anzuwenden und Funktionen zu schreiben. Um das Ganze anschaulicher (und hoffentlich auch spannender) zu gestalten verwenden wir eine Bibliothek von Python, die Turtlegrafiken erzeugen kann. Um unsere Grafiken zu erzeugen, werden wir ein wichtiges Prinzip anwenden. Wir führen kleine Funktion ein, die jeweils eine Aufgabe erfüllen, und kombinieren diese um komplexere Verhalten zu erreichen.
Selbststudium
Bitte arbeiten Sie folgende Lerneinheiten vor der Präsenzvorlesung am 17. Oktober durch.
- Einführung in Turtlegrafik
- Geometrische Figuren (mit Schleifen)
- Funktionen als wiederverwendbare Bausteine
- Rekursion
Präsenzveranstaltung
In der Präsenzveranstaltung vom werden wir die Themen weiter vertiefen. Insbesondere werden wir mit Funktionen komplizierte Aufgaben in einfachere Teilaufgaben zerlegen.
- Fallstudie: Städtebau (Aufruf nur in Uninetz oder über VPN möglich)
Studierende von ausserhalb der Uni Basel können die Fallstudie in Google Colab bearbeiten (Link zum Notebook in Colab).
Übungen
Nach Besuch der Präsenzveranstaltung sollten Sie in der Lage sein, die Übungen im folgenden Jupyter-Notebook zu lösen.
- Übungsblatt Woche 5 (Aufruf nur in Uninetz oder über VPN möglich)
Reichen Sie Ihre Antworten bis am 23. Oktober auf Adam ein. Sie können Ihre Antworten vorher mit unserem automatisierten Korrekturtool testen.
Kernaussagen
- Mit wenigen Regeln und einfachen Kontrollstrukturen können wir bereits extrem komplexe Verhaltensweisen erreichen.
- Komplexe Programme entstehen durch das Kombinieren von einfachen Funktionen.
- Funktionen können nicht nur andere Funktionen, sondern auch sich selbst aufrufen.
Lernziele
Die Studierenden
- können mithilfe von der Turtle Bibliothek in Python grafische Ausgaben erzeugen.
- verstehen, wie mit kurzen Programmen und einfachen Kontrollstrukturen komplexe Verhaltensweisen erzeugt werden können.
- können eine grössere Aufgabe in kleinere, sinnvolle Funktionen zerteilen, die sich einfacher implementieren lassen.