OBJECTS FIRST MIT BLUEJ UND GREENFOOT

Ähnliche Dokumente
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Erste Java-Programme (Scopes und Rekursion)

Java-Programmierung mit NetBeans

Einstieg in die Informatik mit Java

Klassenvariablen, Klassenmethoden

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen!

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Greenfoot. Agenda. Axel Schmolitzky. Vorstellungsrunde. Hintergrund von Greenfoot: BlueJ. Greenfoot Demo. Greenfoot theoretisch. Greenfoot Szenarien

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Einstieg in die Informatik mit Java

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Aufgaben. Objektorientierte Programmierung

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Einführung in die Programmierung 1

Teil 2: OOP und JAVA (Vorlesung 11)

Das Ersetzbarkeitsprinzip

Test-Driven Design: Ein einfaches Beispiel

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Einstieg in die Informatik mit Java

12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Peter Brichzin. OOM und OOP. Didaktische Hinweise zum Informatikunterricht der Jahrgangsstufe 10

Einstieg in die Informatik mit Java

Übungsstunde 8. Einführung in die Programmierung

Vererbung, Polymorphie

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen

Umsetzung einer Klassenkarte in einer Programmiersprache

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einstieg in die Informatik mit Java

1. Die rekursive Datenstruktur Liste

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Einstieg in die Informatik mit Java

Vorkurs Informatik WiSe 16/17

Aufgaben. Objektorientierte Programmierung

Repetitorium Informatik (Java)

Programmiertechnik Klassenmethoden

7. Objektorientierung. Informatik II für Verkehrsingenieure

Speicher und Adressraum

Vererbung und Polymorphie

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Nachklausur Bitte in Druckschrift leserlich ausfüllen!

Tag 7 Repetitorium Informatik (Java)

Gliederung der Folien

- EINSTIEG IN JAVA - (1/5) Datum:

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

2 Teil 2: Nassi-Schneiderman

1 Grundlagen der Objektorientierung

Programmierkurs. Manfred Jackel

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Objektorientierte Programmierung und Klassen

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Algorithmen und Programmierung II

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Peter Brichzin. Krümel und Monster. Ein Unterrichtskonzept zur Einführung in die objektorientierte Modellierung und Programmierung

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

UML (Unified Modelling Language) von Christian Bartl

Einführung in die Programmierung. (K-)II/Wb17

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Implementieren von Klassen

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Einstieg in die Informatik mit Java

C++ - Objektorientierte Programmierung Konstante und statische Elemente

Einstieg in die Informatik mit Java

Das Ersetzbarkeitsprinzip

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Transkript:

OBJECTS FIRST MIT BLUEJ UND GREENFOOT Eine projektorientierte Unterrichtssequenz zum Einstieg in die objektorientierte Programmierung Thomas Karp

OBJECTS FIRST? OOP ist wichtig! Echte Programme werden fast immer objektorientiert geschrieben. Argumente dagegen public static void main(string[] args) Durch BlueJ sehr spät, wenn überhaupt, notwendig Macht nur für große Probleme Sinn Bei Auswahl geeigneter Beispiele nicht Komplex Klassen und Objekte entsprechen unseren Denkmustern mehr als Hauptprogramme, Unterprogramme und Variablen Wahl geeigneter Beispiele Großer Overhead notwendig (Main-Methode etc.) Durch interaktives Aufrufen in BlueJ nicht! Durch Codepad/Direkteingabe bietet BlueJ quasi Java- Interpreter 2

OBJECTS FIRST? Soweit ich das nun anhand der Recherche beurteilen kann, gibt es kaum mehr Gründe, nicht mit Objekten einen Programmierkurs zu beginnen. Objects First ist eines von drei wichtigen Konzepten [Coo03, 191] für die Einführung in die Software-Entwicklung. Deshalb ist es auch legitim, dieses Konzept zu wählen. Wichtig ist meines Erachtens nur, dass zu Beginn mit Hilfe von verschiedenen Werkzeugen, wie Karel the Robot, BlueJ, Alice, die Konzepte den Studenten oder Schülern nähergebracht werden, bevor sie selbständig Code schreiben. Aus: Lernansatz: Objects First von Alexander Jäger unter Leitung von Prof. Dr. Peter Hubwieser 3

UNTERRICHTSMATERIAL Alte Version: http://infoskript.de Neue Version in Arbeit: http://inf-schule.de/ (index.php?version=10&seite=informatik/oopjava) Projektorientierte Aufgaben Jedes Programm soll etwas Richtiges tun Keine Offenheit im Sinne von Projektunterricht Meistens Erweiterungen möglich/gewünscht Wechsel zwischen BlueJ und Greenfoot Greenfoot-Programm oft ansprechender Nur Greenfoot erzeugt falsche Sicht (Ausschließliches Denken in World- und Actor-Klassen) Erfahrung hat problemlosen Wechsel bestätigt 4

LOS GEHT S!!! 5

GRUNDBEGRIFFE DER OOP (CA. 4H) inf-schule.de OOP mit Java Aufbau von Klassen Hasen als Objekte Vokabellernen Interaktiv und anschaulich 6

AUTOBEWERTUNG (CA. 5-6H) Mathematische Modellierung des Preises als Exponentialfunktion, z.b. preis(alter) = neupreis verlustfaktor alter Verlustfaktor z.b. 0.9 Schreibweise in Java: Math.pow(verlustfaktor, alter) 7

AUTOBEWERTUNG Beispiel für ein Klassendiagramm Mögliche Erweiterungen Zahl der Vorbesitzer Kilometerstand 8

TIMER (CA.2H) Attribute werden immer als private definiert In echten Projekten auf jeden Fall In der Schule Ansichtssache Vorteile Einfache Regeln Geheimnisprinzip Nachteile Get-/Set-Methoden notwendig Tipparbeit 9

SCHWEINE IM WELTALL (CA. 6H) Siehe inf-schule.de 10

PERSONAL INFO CENTER (CA. 5H) Mögliches Klassendiagramm (nicht vollständig) 11

PERSONAL INFO CENTER Erweiterungsmöglichkeiten Berechnung, ob übergewichtig berücksichtigt Alter und Geschlecht Ausgabe ob Normalgewicht, leicht/stark übergewichtig Horoskop zufällig oder nach beliebiger Strategie Sternzeichen vereinfacht (nur Monate) oder richtig berechnet (komplexere Bedingungen) 12

FROG (CA.4H) Siehe Infoskript 13

SNAKE (CA.6-8H) Ergebnisse des Rollenspiels Objekte haben eigentlich keine Namen, sondern nur die Referenzen darauf Eine Referenz können wir uns vorstellen als Arm, der auf ein anderes Objekt zeigt Bewegung der Schlange Mein Nachfolger soll dort hin gehen, wo ich gerade bin. Danach bewege ich mich dort hin wo ich hin wollte. Kopf kennt mindestens erstes Element Zum Einfügen praktisch: Kopf merkt sich letztes Element, oder Einfügen wird auch rekursiv erledigt. Körperelement kennt nächstes Körperelement 14

SNAKE Mögliches Objektdiagramm 15

SNAKE Mögliches Klassendiagramm 16

SNAKE Mögliche Implementierungsschritte Steuern des Kopfes per Tastatur 180 -Wende ist verboten move/turn-methoden Tail-Klasse Interaktives Erzeugen einer Tail-Sequenz und bewegen des ersten Tail-Elements durch Aufruf von move() setfirst( ) / setlast( )-Methoden in Head Interaktives Erzeugen einer Schlange und Steuern per Tastatur Beim Fressen Schlange automatisch verlängern 17