1 / 13

Nachdenken in Aurich 2009

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)

vartan
Download Presentation

Nachdenken in Aurich 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • 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 Demo

  5. 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 Rectangle interface PixelArea Point 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, …) • Getter-Methoden • Kollisionserkennungsmethoden (contains, …) • Event-Methoden (keyPressed, mouseClicked, …) Weitere Klassen und Schnittstellen: • Performance (Sound, Bühnenwechsel, Geschwindigkeit, …) • TheaterImage, TheaterIcon (Bildmanipulation, Animated-GIFs) • PixelArea (Kollisionserkennung)

  9. Objekt-Theater • 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

More Related