Upload
emma
View
16
Download
0
Embed Size (px)
DESCRIPTION
E 3.2.1 Variablenfreier Zugang Es sollen Problemlösungsklassen für eine virtuelle Robotersteuerung entworfen werden. Dabei werden • Elemente der Programmiersprache erlernt. • vorgefertigte Bausteine (Roboterdefinition) verwendet. - PowerPoint PPT Presentation
Citation preview
Folie 1 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Die Herausforderung
E 3.2.1 Variablenfreier Zugang
Es sollen Problemlösungsklassen für eine virtuelle Robotersteuerung entworfen werden. Dabei werden
• Elemente der Programmiersprache erlernt.
• vorgefertigte Bausteine (Roboterdefinition) verwendet.
• die entworfenen Algorithmen in einer Programmiersprache dargestellt • geeignete Testumgebungen entworfen (hier: verschiedene Roboterwelten).
... lässt sich dieser Zugang bei Verwendung einer geeigneten Programmiersprache auch nutzen, um gleichzeitig in die OOP einzuführen (Objectpascal, Java, Python...).
Wiederverwendbare Teilalgorithmen können als Methoden erweiterter Roboterklassen realisiert werden (Vererbung).
Rahmenplan Berlin, Jan. 2005 - E-Phase
Folie 2 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Die Herausforderung
3.2.3 L2: Grundlagen der Programmentwicklung
- Grundlagen von OOA, OOD, OOP (Klasse, Attribut, Methode, Instanz)
- Einfache dokumentationsunterstützende Techniken (Klassendiagramm, Struktogramm, Pseudocode)
- Elementare Daten- und Steuerstrukturen (Algorithmik im Kleinen)
- Integration vorhandener Software-Bausteine in eigene Programme
- Einblicke in das MVC Paradigma
- Analyse eines gegebenen Projektes
Rahmenplan Berlin, Jan. 2005 - E-Phase
DieAntwort Karel D. Robot
Folie 3 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot und seine Welt - eine evolutionäre Entwicklung
TItem TWelt
TCritter TMatter
TRobot TBaum
Als offenes System läßt sich Karel D. Robot sowohl
- weiterentwickeln als auch- reduzieren.
TTrainingscamp
Folie 4 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot OOA - Klassendiagramm
OOD(stark verkürzt)
Folie 5 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot Hilfe!!! - Mit wie vielen Klassen muss ich denn nun arbeiten?
Als Anfänger arbeiten Sie nur in einem
Delphi-Formular. Die anderen Klassen stehen
Ihnen wie eine Bibliothek zur Verfügung,
wenn Sie etwas davon brauchen.
Als Fortgeschrittener nehmen Sie dann Ihre
erste eigene Klasse / Unit dazu.
…. Kein Grund zur Panik!
Folie 6 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot als Unterrichts- und Lernwerkzeug
Die klassischen Aufgaben zur Algorithmik
procedure TControlFrm.SucheBlume;// Findet und pflückt die Blume. Rekursive Suche.Begin If (RD1.HindernisPruefen is TBlume) Then RD1.Aufnehmen Else Begin If RD1.VorneFrei Then Begin RD1.Vor; SucheBlume; RD1.Zurueck End Else If RD1.linksFrei Then Begin RD1.LinksDrehen; SucheBlume; RD1.RechtsDrehen End Else Begin RD1.RechtsDrehen; SucheBlume; RD1.LinksDrehen End; End;End;
Folie 7 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot als Unterrichts- und Lernwerkzeug
Programmierunterricht?
Die klassischen Karels, Karas, Nikis & Co. sind für die Einführung in die imperative Programmierung entwickelt, nicht für OOP. Es wird am Anfang ein Roboter (Computer) programmiert, aber kein Programmsystem entwickelt.
Deshalb stellen sie nur das dazu erforderliche Aktionsrepertoire zur Verfügung, um operative Aufgaben (einfache und schwierige Algorithmusprobleme) lösen zu können.
Insofern sind es nicht nur Mini-Languages, sondern auch geschlossene Systeme. Sie lassen, bis auf wenige Ausnahmen, keine Gestaltung der Welt im Sinne von 00-Modellierung zu.Wer das will, sollte besser gleich den Original-Karel nehmen.
Was dann?
Die Ausgangslage
Die objektorientierte Denkweise selbst ist für Schüler nicht das Problem, jedoch ist die handwerkliche Umsetzung,
„das Programmieren“ ,
wegen der fehlenden ausreichenden Übungszeit eine große Hürde..
Folie 8 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot als Unterrichts- und Lernwerkzeug
Neue Ziele
Betrachten wir typisch objektorientierte Aufgaben:
Bau eines besseren Roboters,
Gestaltung einer neuen Landschaft (Welt) und
Probleme für mehr als einen Roboter
Folie 9 von 9 03.01.2005 Idee und Layout: S. Spolwig u. Chr. Steinbrucker
Karel D. Robot – Ein spielerischer Weg um OOP mit Delphi zu lernen
Karel D. Robot – Ein spielerischer Weg, um OOP mit Delphi zu lernen
Karel D. Robot als Anregung für Ihre Phantasie
Viel Spaß und gutes Gelingen!