nachdenken in aurich 2009

13
Java-Praktikum Sonstiges Dietrich Boles Seite 1 Programmier-Theater Dietrich Boles Nachdenken in Aurich 2009 Programmier-Theater Werkzeuge für die Programmierausbildung Dietrich Boles

Upload: vartan

Post on 26-Jan-2016

43 views

Category:

Documents


1 download

DESCRIPTION

Nachdenken in Aurich 2009. Programmier-Theater Werkzeuge für die Programmierausbildung. Dietrich Boles. Gliederung. Motivation Hamster-Simulator (Programmierparadigmen) Solist (Imperative Programmierung) Objekt-Theater (Objektorientierte Programmierung) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Nachdenken in Aurich 2009

Java-Praktikum Sonstiges Dietrich Boles Seite 1Programmier-Theater Dietrich Boles

Nachdenken in Aurich 2009

Programmier-Theater

Werkzeuge für dieProgrammierausbildung

Dietrich Boles

Page 2: Nachdenken in Aurich 2009

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

Page 3: Nachdenken in Aurich 2009

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

Page 4: Nachdenken in Aurich 2009

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

Page 5: Nachdenken in Aurich 2009

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)

Page 6: Nachdenken in Aurich 2009

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

Page 7: Nachdenken in Aurich 2009

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

Page 8: Nachdenken in Aurich 2009

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

Page 9: Nachdenken in Aurich 2009

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

Page 10: Nachdenken in Aurich 2009

Java-Praktikum Sonstiges Dietrich Boles Seite 10Programmier-Theater Dietrich Boles

Erlernen der Parallelen Programmierung mit Java-Threads Visualisierung von Threads durch Icons

Threadnocchio

Demo

Page 11: Nachdenken in Aurich 2009

Java-Praktikum Sonstiges Dietrich Boles Seite 11Programmier-Theater Dietrich Boles

Entwicklungsumgebung für Miniprogrammierwelt-Simulatoren

Solist

Demo

Page 12: Nachdenken in Aurich 2009

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

Page 13: Nachdenken in Aurich 2009

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