ef:lernziele_oop_minecraft

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ef:lernziele_oop_minecraft [2022/10/10 14:55] lehmannref: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 ''global'' in einer Funktion?
 +    - Unterschied zwischen ''call by value'' und ''call by reference''.
 +    - Mutable (veränderbar) und imutable (unveränderbare Variablen). Welche Typen sind in Python mutable?
 +    - Python verwendet "call by object reference", was bedeutet dies?
 +  - Funktionen
 +    - Konzept und Aufgabe der Funktionen verstehen
 +    - Parameter/Argumente bei Funktionsaufrufen verstehen
 +    - 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 ''range''-Befehl
 +    - Listen durchgehen mit dem ''for xxx in range''-Befehl
 +  - ''While'' und ''if''-Befehl verstehen.
 +
 +===== Lernziele Objektorientierte Programmierung =====
 +  - Unterschied zwischen Klasse und Objekt/Instanz verstehen und das Konzept begreifen.
 +  - 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 ''self'' und seine Rolle in der OOP Programmierung in Python verstehen
 +  - Wissen, was die Aufgabe des Konstruktors ist, und wie dieser in Python aussieht.
 +  - Public, Protected und Private-Variablen unterscheiden können.
 +  - Datenkapselung/Getter- und Setter-Methoden: wozu dienen sie?
 +  - Vererbung verstehen. Wann ist es sinnvoll, Vererbung einzusetzen?
 +  - Verstehen, wozu die Methode ''super()'' dient.
 +  - 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/Erklärung ^
 +| world(100,-60, 100) | Weltkoordinaten |
 +| pos(10, 3, 7) | Relative Koordinaten |
 +| agent.set_item  | agent.set_item(DIAMOND_BLOCK,64,2) |
 +| agent.set_slot  | agent.set_slot(1) |
 +| agent.place | agent.place(LEFT) |
 +| agent.move | agent.move(FORWARD,3) |
 +| agent.turn | agent.turn(LEFT) |
 +| agent.set_assist(PLACE_ON_MOVE, [TRUE/FALSE]) | Bauen, während Agent sich bewegt (Ja/Nein) |
 +| agent.teleport_to_player() | Agenten zum Spieler teleportieren |
 +| agent.set_assist(DESTROY_OBSTACLES, [TRUE/FALSE]) | Hindernisse zerstören |
 +| blocks.place | blocks.place(GOLD_BLOCK, world(101,-60, 20) |
 +| blocks.fill | blocks.fill(CONCRETE, world(1,-60,1), world(6, -50, 7),FillOperation.HOLLOW) |
 +| player.say | player.say("Hallo") |
 +| agent.inspect(AgentInspection.BLOCK, FORWARD) | Gibt die Block-ID |
 +| agent.detect(AgentDetection.BLOCK, FORWARD) | Gibt True/False |
 +| blocks.test_for_block(GRASS, world(0, -60, 0)) | Gibt True/False |
 +
 +
  • ef/lernziele_oop_minecraft.1665406524.txt.gz
  • Zuletzt geändert: 2022/10/10 14:55
  • von lehmannr