Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierausbildung

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierausbildung"—  Präsentation transkript:

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


Herunterladen ppt "Programmierausbildung"

Ähnliche Präsentationen


Google-Anzeigen