Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Programmierausbildung
Nachdenken in Aurich 2009 Programmier-Theater Werkzeuge für die Programmierausbildung Dietrich Boles
2
Gliederung Motivation Hamster-Simulator (Programmierparadigmen)
Solist (Imperative Programmierung) Objekt-Theater (Objektorientierte Programmierung) Threadnocchio (Parallele Programmierung) Ausblick
3
Motivation 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 …
4
Hamster-Simulator Demo Paradigmen: Zusätzlich:
Imperative Programmierung (Java) Objektorientierte Programmierung (Java) Parallele Programmierung (Java) Funktionale Programmierung (Scheme) Logikbasierte Programmierung (Prolog) Zusätzlich: Lego-Mindstorms Struktogramme (HaSE) Scratch-Hamster-Simulator Demo
5
Schauspieler/Marionetten
Programmier-Theater Entwicklungswerkzeuge Solist (Imperative Programmierung) Objekt-Theater (Objektorientierte Programmierung) Threadnocchio (Parallele Programmierung) Programmier-API (Theater-API) Theaterstück Bühne (Stage) Schauspieler/Marionetten (Actor) Requisiten (Prop) Aufführungen (Performance)
6
Programmier-Theater 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
7
Theater-API platziert Hintergrund Icon Rectangle Point PixelArea
interface PixelArea Thread Cell Stage platziert Hintergrund Component Icon TheaterImage Actor Prop TheaterIcon
8
Theater-API Klasse Stage: Gestaltungsmethoden (add, remove, …)
Getter-Methoden Kollisionserkennungsmethoden (getComponents, contains, …) Event-Methoden (keyPressed, mouseClicked, …) Klasse Component, Actor, Prop: Manipulationsmethoden (setImage, setLocation, …) Kollisionserkennungsmethoden (contains, …) Weitere Klassen und Schnittstellen: Performance (Sound, Bühnenwechsel, Geschwindigkeit, …) TheaterImage, TheaterIcon (Bildmanipulation, Animated-GIFs) PixelArea (Kollisionserkennung)
9
Objekt-Theater Demo Erlernen der Objektorientierten Programmierung
Simulationen, Spiele, … Visualisierung von Objekten durch Icons Alternative zu Greenfoot Demo
10
Threadnocchio Erlernen der Parallelen Programmierung mit Java-Threads Visualisierung von Threads durch Icons Demo
11
Solist Entwicklungsumgebung für Miniprogrammierwelt-Simulatoren Demo
12
Solist – Entwicklung eines Frosch-Theaterstücks
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.
13
Ausblick Dokumentation Beispiele
Integration von Scratch-Elementen in Solist ( visuelle Programmierung) Kolosseum: Werkzeug für Educational Programming Games wie Robocode oder NHL-Simulation
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.