At My Fingertips

Documentation

Hast du den Durchblick?

In dieser Aktivität werden die wichtigsten Funktionen und Konzepte, die du in den zwei bisher erlernten Curricula kennengelernt hast, dargestellt. Es wird jeweils nochmal kurz erläutert, wie die Beispielgrafiken verknüpft werden und welches Konzept dahinter steckt.

Diese Aktivität wird die Lehrperson mit dir besprechen oder bevor du beginnen konntest, mit dir gemeinsam lösen.

Ring

(ueberlagere)

Erstelle eine Funktion ring, die einen Durchmesser und zwei Farben entgegennimmt. Gib in der Funktionsdefinition auch die Datentypen der Parameter und der Funktion an.

Über den Aufruf dieser Funktion kannst du beispielsweise einen Fingerring oder auch eine Pizza kreieren.

Hinweis: Speichere die ring-Funktion in der Toolbox ab.

Alt text , Alt text

Loading...

Verlobungsring

(ueber, drehe)

Für diese Aufgabe verwendest du die ring-Funktion. Setze einem fingerring einen Diamanten auf. Alt text

Loading...

Konzept: Vermeidung von Codeduplikation

Ein wichtiges Konzept der Programmierung ist, dass man Codeduplikationen vermeidet. Das bedeutet, dass Codeteile, die einmal geschrieben sind, wiederverwendet werden. Soeben konntest du die Funktion Ring wiederverwenden. Gleiches gilt für die nächste Aufgabe.

Sonnenbrille

(neben)

Verwende erneut die Funktion ring, um eine sonnenbrille (erstmal ohne die Bügel) zu implementieren.

Alt text

Loading...

Pizzastück / Melonenschnitz

(fixiere, kombiniere)

Alt text oder Alt text

Loading...

Konzept: Decompose & Compose

Im ersten Curriculum hast du dieses Konzept kennengelernt. Es ist ein Grundprinzip: Zerlege ein Problem in Teilprobleme, löse jedes einzeln und füge die Teillösungen zu einer Gesamtlösung zusammen.

Hier verwenden wir das Konzept vor allem, um Grafiken in ihre primitiven Grafiken zu zerlegen und dann wieder zu kombinieren (engl. compose).

Tulpe

(rgb_farbe)

Hast du den viertelkreis und den halbkreis in deiner Toolbox? Die entsprechenden Funktionen sind jetzt hilfreich.

Wähle neue Farben.

Alt text

Loading...

Abstraktion

Mittlerweile hast du sehr oft und wahrscheinlich mehrheitlich unbewusst abstrahiert. Beim Erstellen von Funktionen hast du dir überlegt, welche Gemeinsamkeit alle deine entstehenden Grafiken haben sollen und welche Parameter hingegen veränderbar sein sollen. Du hast Muster erkannt. Die Parametrisierung von Funktionen ist eine Form von Abstraktion eines Problems.

Die Abstraktion hilft, die Komplexität zu reduzieren und Probleme in überschaubare Teile aufzuteilen. Dies führt wiederum zu effizienteren Lösungen. Allgemein ermöglicht Abstraktion das Erkennen von Zusammenhängen, von Mustern und das Entwickeln von effektiven Lösungsstrategien. Dieser grundlegende Mechanismus der Abstraktion unterstützt dich im Alltag, im Verstehen deiner Umwelt und der Interaktion mit derselben. (Quelle: "Abstraktion", Wikipedia, September 2024)

Gleichschenkliges Trapez

Löse die Aktivität PyTamaro iconIsoceles Trapezoid. Klicke auf das rote "Isoceles Trapezoid", es führt dich direkt zur Aktivität.

!!Speichere die Funktion gleichschenkligesTrapez in deiner Toolbox.!!

Herangehensweise "Scherenschnitt" (freiwillig)

Bei diesem Vorgehen sollen Grafiken aus einer Grundform "ausgeschnitten" werden, anstatt aus Grundformen (primitiven Grafiken) zusammengesetzt.

Das Bild zeigt die abgeschnittenen Teile (oder auch das "Schnittmuster") in schwarz. Wie du siehst, ist die erwünschte Grafik eine kravatte.

Alt text

Kravatte: "Scherenschnitt"

Generiere nun das Schnittmuster in weiss, das du anschliessend auf ein farbiges Rechteck legen kannst.

Loading...

Was du gelernt hast

In dieser Aktivität hast du alle bisher erlernten Konzepte und Funktionen nochmal genutzt. Die von dir stets (vlt. unbewusst) angewandte Abstraktion konntest du hier theoretisch begreifen.

Meine allgemeinen Programmierskills

  • Problemzerlegung: engl.problem decomposition

    Ich kann Probleme in Teilprobleme zerlegen und die Teillösungen zur Gesamtlösung zusammensetzen.

  • Abstraktion:

    Ich definiere Funktionen, um Programme zu strukturieren und Code zu abstrahieren. Funktionen erhöhen die Übersicht, Wartbarkeit (Anpassungen müssen nur einmalig gemacht werden) und Wiederverwendung.

  • Mustererkennung: engl. pattern recognition

    Ich suche nach Gemeinsamkeiten und Unterschieden, die mein Code (v.a.Funktionen) enthalten wird. Dies führt zur Parametrisierung: Differenzen werden in Parametern festgelegt und Gemeinsamkeiten als Bestandteile des Funktionskörpers.

Meine PyTamaro-abhängigen Programmierskills

  • Ich wende die PyTamaro-internen Kombinatoren, (Verknüpfungs-) Funktionen gekonnt an:
    • ueberlagere, ueber, neben
    • fixiere, kombiniere
    • drehe, rgb_farbe
  • Ich speichere Funktionen in der Toolbox ab, sodass sie später wiederverwendet werden können.

This activity has been created by Bernhard and is licensed under CC BY-SA 4.0.

It is derived from this activity.

Durchblick

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version 1cd5229 (Tue, 05 Nov 2024 16:55:57 GMT)