Programmierausbildung

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
Imperative Programmierung
der Universität Oldenburg
Imperative Programmierung
der Universität Oldenburg
Ein Beispiel in Java.
Konzepte objektorientierter Systeme
Prof. Dr. Bernhard Zimmermann
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
Imperative Programmierung
Objektorientierte Programmierung Definition von Klassen
der Universität Oldenburg
der Universität Oldenburg
Einführung Blue J.
HG13_ Herzgen, Jung & Lorkowski
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Threads Richard Göbel.
Java: Dynamische Datentypen
Ein Beispiel in Java.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Imperative Programmierung
Thema des Informatikkurses der Klasse 8
Das Java-Hamstermodell
Entwurfsmuster – Iterator
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Einführung in die Programmierung Datensammlung
WI Projekt: Programmiertechniken
Robocode.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Kapitel 1 – Erste Schritte
Wenn Programme Entscheidungen fällen müssen, dann …
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Simple Programmierung
Einfache Automaten mit Lego Mindstorms praktisch umsetzen
Programmieren Kapitel 3 – Variablen.
Programme dokumentieren mit JavaDoc
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
2. Zustandsorientiertes Modellieren 2.1 Einfachauswahl
1.4 Objekte kommunizieren miteinander
Einführung in JavaKara
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Informatik Otto-Hahn-Gymnasium im Wahlpflichtbereich II
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Gestern: Kara Steuerung: Endliche Automaten.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Java-Kurs Übung Benutzeroberflächen und Graphik
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
Das Java-Hamster-Modell
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Nik Lutz, Stefan Feissli, Christof Seiler
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Informatik 8 WIE DENKT INFORMATIK?. Informatik 8.
ROBERT NYSTROM GAME PROGRAMMING PATTERNS III.8 Thema: Sequencing Patterns Seminar: Softwaretechnologie II (Teil 2) Dozent: Prof. Dr. Manfred Thaller Referent:
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Objects first mit BlueJ und Greenfoot
 Präsentation transkript:

Programmierausbildung 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) Threadnocchio (Parallele Programmierung) Ausblick

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 …

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

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)

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

Theater-API platziert Hintergrund Icon Rectangle Point PixelArea interface PixelArea Thread Cell Stage platziert Hintergrund Component Icon TheaterImage Actor Prop TheaterIcon

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)

Objekt-Theater Demo Erlernen der Objektorientierten Programmierung Simulationen, Spiele, … Visualisierung von Objekten durch Icons Alternative zu Greenfoot Demo

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

Solist Entwicklungsumgebung für Miniprogrammierwelt-Simulatoren Demo

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.

Ausblick Dokumentation Beispiele Integration von Scratch-Elementen in Solist ( visuelle Programmierung) Kolosseum: Werkzeug für Educational Programming Games wie Robocode oder NHL-Simulation