Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ef:lernziele_oop_minecraft [2022/10/10 14:55] – lehmannr | ef:lernziele_oop_minecraft [2022/10/10 15:50] (aktuell) – lehmannr | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Lernziele Minecraft und Python/OOP ====== | ====== Lernziele Minecraft und Python/OOP ====== | ||
| + | |||
| + | ===== Lernziele Python ===== | ||
| + | Die Grundkonzepte von Python verstehen | ||
| + | - Variablen | ||
| + | - Sichtbarkeit (Scope) | ||
| + | - Lokale vs. globale Variablen | ||
| + | - Unterschied zwischen dynamischer und statischer Typisierung - was verwendet Python? | ||
| + | - Camelcase, Snakecase, Pascalcase | ||
| + | - Wozu dient das Schlüsselwort '' | ||
| + | - Unterschied zwischen '' | ||
| + | - Mutable (veränderbar) und imutable (unveränderbare Variablen). Welche Typen sind in Python mutable? | ||
| + | - Python verwendet "call by object reference", | ||
| + | - Funktionen | ||
| + | - Konzept und Aufgabe der Funktionen verstehen | ||
| + | - Parameter/ | ||
| + | - Funktionen mit Rückgabewert verstehen. | ||
| + | - Listen | ||
| + | - Verstehen, wie man Listen definiert und wie man auf die Elemente zugreift. | ||
| + | - Die einfachsten Listenbefehle verstehen (append, insert, remove) | ||
| + | - Listen erstellen mit dem '' | ||
| + | - Listen durchgehen mit dem '' | ||
| + | - '' | ||
| + | |||
| + | ===== Lernziele Objektorientierte Programmierung ===== | ||
| + | - Unterschied zwischen Klasse und Objekt/ | ||
| + | - Klassenvariablen vs. Instanzvariablen unterscheiden können und verstehen. | ||
| + | - Klassenmethoden vs. Instanzmethoden unterscheiden können und verstehen, wie diese in Python erstellt werden. | ||
| + | - Das Schlüsselwort '' | ||
| + | - Wissen, was die Aufgabe des Konstruktors ist, und wie dieser in Python aussieht. | ||
| + | - Public, Protected und Private-Variablen unterscheiden können. | ||
| + | - Datenkapselung/ | ||
| + | - Vererbung verstehen. Wann ist es sinnvoll, Vererbung einzusetzen? | ||
| + | - Verstehen, wozu die Methode '' | ||
| + | - Was versteht man unter ** overloading (überladen)** und ** overriding (überschreiben) ** ? | ||
| + | |||
| + | ===== Was sollte man zu Minecraft wissen? ===== | ||
| + | Die untenstehenden Befehle aus Minecraft sollte man verstehen, wenn man sie sieht: | ||
| + | |< 800px 400px 400px>| | ||
| + | ^Befehl ^ Beispielbefehl/ | ||
| + | | world(100, | ||
| + | | pos(10, 3, 7) | Relative Koordinaten | | ||
| + | | agent.set_item | ||
| + | | agent.set_slot | ||
| + | | agent.place | agent.place(LEFT) | | ||
| + | | agent.move | agent.move(FORWARD, | ||
| + | | agent.turn | agent.turn(LEFT) | | ||
| + | | agent.set_assist(PLACE_ON_MOVE, | ||
| + | | agent.teleport_to_player() | Agenten zum Spieler teleportieren | | ||
| + | | agent.set_assist(DESTROY_OBSTACLES, | ||
| + | | blocks.place | blocks.place(GOLD_BLOCK, | ||
| + | | blocks.fill | blocks.fill(CONCRETE, | ||
| + | | player.say | player.say(" | ||
| + | | agent.inspect(AgentInspection.BLOCK, | ||
| + | | agent.detect(AgentDetection.BLOCK, | ||
| + | | blocks.test_for_block(GRASS, | ||
| + | |||
| + | |||