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:56] lehmannref:lernziele_oop_minecraft [2022/10/10 15:50] (aktuell) lehmannr
Zeile 2: Zeile 2:
  
 ===== Lernziele Python ===== ===== Lernziele Python =====
-Die Grundkonzepte von Python verstehen: +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-Methodenwozu 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.1665406567.txt.gz
  • Zuletzt geändert: 2022/10/10 14:56
  • von lehmannr