java-praktikum sonstigesdietrich bolesseite 1 programmier-theater dietrich boles nachdenken in...
Post on 05-Apr-2015
107 Views
Preview:
TRANSCRIPT
Java-Praktikum Sonstiges Dietrich Boles Seite 1Programmier-Theater Dietrich Boles
Nachdenken in Aurich 2009
Programmier-Theater
Werkzeuge für dieProgrammierausbildung
Dietrich Boles
Java-Praktikum Sonstiges Dietrich Boles Seite 2Programmier-Theater Dietrich Boles
Gliederung
Motivation
Hamster-Simulator (Programmierparadigmen)
Solist (Imperative Programmierung)
Objekt-Theater (Objektorientierte Programmierung)
Threadnocchio (Parallele Programmierung)
Ausblick
Java-Praktikum Sonstiges Dietrich Boles Seite 3Programmier-Theater Dietrich Boles
Werkzeuge für die Programmierausbildung Verständnis und Spaßfaktor durch Visualisierung Hilfsmittel für die Entwicklung von Programmen Hilfsmittel für die Ausführung von Programmen Verschiedene Programmierparadigmen
„State-of-the-Art“ Programmierwerkzeuge: Karel the Robot (Robot Karol) (imperativ) Kara der Marienkäfer (Automaten, imperativ, objektbasiert) BlueJ (objektorientiert) Greenfoot (objektorientiert) Scratch (imperativ, objektorientiert) Lego-Mindstorms …
Motivation
Java-Praktikum Sonstiges Dietrich Boles Seite 4Programmier-Theater Dietrich Boles
Paradigmen: Imperative Programmierung (Java) Objektorientierte Programmierung (Java) Parallele Programmierung (Java) Funktionale Programmierung (Scheme) Logikbasierte Programmierung (Prolog)
Zusätzlich: Lego-Mindstorms Struktogramme (HaSE) Scratch-Hamster-Simulator
Hamster-Simulator
Demo
Java-Praktikum Sonstiges Dietrich Boles Seite 5Programmier-Theater Dietrich Boles
Entwicklungswerkzeuge Solist (Imperative Programmierung) Objekt-Theater (Objektorientierte Programmierung) Threadnocchio (Parallele Programmierung)
Programmier-API (Theater-API)
Programmier-Theater
Bühne(Stage)
Schauspieler/Marionetten(Actor)
Requisiten(Prop)
Theaterstück
Aufführungen(Performance)
Java-Praktikum Sonstiges Dietrich Boles Seite 6Programmier-Theater Dietrich Boles
Analogien: Objekte Marionetten Programm Marionettentheaterstück Ausführung Aufführung Programmierer Autor Prozessor Marionettenspieler
Objektorientierte Programmierung (Objekt = passiv)
vom Programmierer gesteuerte Marionette Parallele Programmierung (Thread = aktives Objekt )
selbstständige Marionette
Pinocchio Threadnocchio
Programmier-Theater
Java-Praktikum Sonstiges Dietrich Boles Seite 7Programmier-Theater Dietrich Boles
Theater-API
interface
PixelArea
Stage
Thread
Component
Actor Prop
TheaterImage
Rectangle
Point
Cell
platziert
Hintergrund
Icon
TheaterIcon
Java-Praktikum Sonstiges Dietrich Boles Seite 8Programmier-Theater Dietrich Boles
Klasse Stage: Gestaltungsmethoden (add, remove, …) Getter-Methoden Kollisionserkennungsmethoden (getComponents, contains, …) Event-Methoden (keyPressed, mouseClicked, …)
Klasse Component, Actor, Prop: Manipulationsmethoden (setImage, setLocation, …) Getter-Methoden Kollisionserkennungsmethoden (contains, …) Event-Methoden (keyPressed, mouseClicked, …)
Weitere Klassen und Schnittstellen: Performance (Sound, Bühnenwechsel, Geschwindigkeit, …) TheaterImage, TheaterIcon (Bildmanipulation, Animated-GIFs) PixelArea (Kollisionserkennung)
Theater-API
Java-Praktikum Sonstiges Dietrich Boles Seite 9Programmier-Theater Dietrich Boles
Erlernen der Objektorientierten Programmierung Simulationen, Spiele, … Visualisierung von Objekten durch Icons Alternative zu Greenfoot
Objekt-Theater
Demo
Java-Praktikum Sonstiges Dietrich Boles Seite 10Programmier-Theater Dietrich Boles
Erlernen der Parallelen Programmierung mit Java-Threads Visualisierung von Threads durch Icons
Threadnocchio
Demo
Java-Praktikum Sonstiges Dietrich Boles Seite 11Programmier-Theater Dietrich Boles
Entwicklungsumgebung für Miniprogrammierwelt-Simulatoren
Solist
Demo
Java-Praktikum Sonstiges Dietrich Boles Seite 12Programmier-Theater Dietrich Boles
Frosch sitzt in einer Landschaft mit Gras- und Wasser-Feldern
void huepfen():
Der Frosch hüpft ein Feld in seiner aktuellen Blickrichtung nach vorne. Fehler, wenn er sich im Wasser befindet.
void schwimmen():
Der Frosch schwimmt ein Feld in seiner aktuellen Blickrichtung nach vorne. Fehler, wenn er im Gras sitzt.
void linksUm():
Der Frosch dreht sich um 90 Grad nach links. void rechtsUm():
Der Frosch dreht sich um 90 Grad nach rechts. boolean imGras():
Liefert genau dann true, wenn sich der Frosch auf einem Grasfeld befindet. boolean vorneGras():
Liefert genau dann true, wenn sich vor dem Frosch ein Grasfeld befindet. boolean mueckeDa():
Liefert genau dann true, wenn sich der Frosch auf einem Feld mit einer Mücke befindet.
Solist – Entwicklung eines Frosch-Theaterstücks
Java-Praktikum Sonstiges Dietrich Boles Seite 13Programmier-Theater Dietrich Boles
Dokumentation Beispiele
Integration von Scratch-Elementen in Solist ( visuelle Programmierung)
Kolosseum: Werkzeug für Educational Programming Games wie Robocode oder NHL-Simulation
Ausblick
top related