Document

Werbung
Einstieg in den
Ansatz
Objects first
OO als OOM und OOP
Der Ansatz im Schnelldurchlauf
Alte und neue Grundlagen
Die Einstiegsphase im Detail
Die drei Phasen
Phase 1
Phase 2
Phase 3
Notationen, Grundkonzepte
und Begriffe
Angeleitet Modellieren
GUI kennen lernen
Vorgehensmodell
eigenständig anwenden
Real / Obj. mit CRCNotation Objekte und
Klassen in UML
Üben / GUI-Bibliothek
Ereignisbehandlung
Projekt in Gruppenarbeit
Explorationsumgebung
Darstellungs- und
Übungsumgebung
Softwareentwicklungswerkzeuge und
Bibliotheken
Selbstständigkeit der Schüler
[email protected], IBBB 2007
2
Die Schritte der ersten Phase
Schritt 1
Realbegegnung
Schritt 2
CRC-Modell
Objektspiel
Interaktives
Objektdiagramm
Schritt 3
Klassendiagramm
Schulte, AG DDI
Aktivitätsdiagramme
3
Alte und Neue Grundlagen 1:
Systemorientierung und Cognitive Apprenticeship
• Modelling
• Vormachen (modellieren)
und erläutern
• Wissen im Kontext
1. Automatisierung
2. Interaktion
3. Informationsverarbeitung
Hardware
ArbeitsAufgaben
6. Gesellschaftliche
Wechselwirkungen
Schulte, AG DDI
OrganisationsStrukturen
5. Normen
und
Regulierung
etwa durch Teillösungen
4. Vernetzung
Software
• Scaffolding: Hilfestellung,
• Ansteigende Vielfalt
• Ansteigende Komplexität
4
Alte und Neue Grundlagen 2:
Programmieren lernen
Novice mistakes:
are the folk
wisdoms correct?
(1986, Spohrer,
Soloway)
‘Dimensions of
learning
programming’ (du
Boulay, 1989)
McCracken-Study;
Lister-Study
(2001, 2004)
‘The novice
programmers'
syndrome of
design-bykeyword’ (2003)
[email protected], IBBB 2007
“Not seeing the
forest for the
trees” (Lister et.al
2006)
5
Zusammenfassung
• Während ein Beispiel
auf verschiedenen
Niveaus untersucht
wird, entsteht
Abwechslung für die
SuS durch untersch.
Medien und
Methoden
• Da diese sich an SEMedien und
Methoden anlehnen,
lernen die SuS diese
Inhalte gleich mit
(Methodenlernen).
• Durch Situierung
nachvollziehbare
Progression u.
Kumulation
[email protected], IBBB 2007
6
Erste Phase, erster Schritt
Schritt 1
Realbegegnung
1a
Schritt 2
CRC-Modell
Objektspiel
1b
1c
Interaktives
Objektdiagramm
Schritt 3
Klassendiagramm
[email protected], IBBB 2007
Aktivitätsdiagramme
7
Schritt 1a: Realbegegnung
• Mini-Überblick:
• Programmieren mit Objekten,
• Zunächst lernen wir ein Einstiegs-Beispiel kennen:
Flaschendrehen
• Freiwillige spielen vor: Papierzettel als Felder, Spieler
setzen, Flasche wird gedreht. Frage: wie auswerten?
[email protected], IBBB 2007
8
Realbegegnung: Auswertung
• Zum Thema: Das Beispiel als objektorientiertes
Programm: Welche Objekte könnte es geben? Was
hätten die für Aufgaben?
• Typische Antworten sind…
• Sammeln, ggf. CRC-ähnlich an Tafel notieren
Etwa:
•Spieler: setzt auf ein
Feld, hat Geld
•Spielfeld: nimmt Betrag
auf
•Flasche: dreht sich
•Bank: verwaltet Gewinn
•Schiedrichter
•Geld
•Zufallsgenerator
•…
Im nächsten Schritt (1b)…
• Vergleich mit ‘professionellem’ Entwurf
[email protected], IBBB 2007
9
Schritte 1b: CRC-Karten
[email protected], IBBB 2007
10
Auswertung CRC-Modell
• Mit Schülerlösung vergleichen (->CRC-Modell untersuchen)
• Dabei nebenbei Syntax der CRC-Karten einführen, etwa:
wieso haben die Karten zwei Spalten?
• Schülerlösung loben
• Ergebnis erster Schritt:
•
•
Erste Annäherung an
objektorientiertes Denken,
nur statisch, keine
Unterscheidung Klasse-Objekt
M.E.: Hier nicht OOA üben
Überleitung zum nächsten Schritt:
Frage aufnehmen/lenken:
Funktioniert diese seltsame
vorgegebene Lösung?
[email protected], IBBB 2007
11
Schritt 1c: Objektspiel
Schüler spielen in einer Art Rollenspiel die Objekte eines Programms nach
Vorbemerkung:
Schülerinnen und Schüler, die die Rolle eines
Objektes übernehmen, erhalten eine
Klassenkarte (CRC-Karte) sowie zusätzlich
eine Objektkarte, auf denen das notwendige
Wissen des Objekts zu jedem Zeitpunkt notiert
werden kann.
Spielregeln
• ein Akteur startet „von Außen“ das Spiel
(Anwendungsfälle)
• nur verbale Kontaktaufnahmen zu anderen
Objekten sind erlaubt,
• nur mit den Begriffen der Verantwortlichkeiten
arbeiten ( "reden" ),
• nur mit den Beteiligten Kontakt aufnehmen,
• ausschließlich auf der Objektkarte notwendige
Zustände notieren ( "keine Gedächtnisleistung
des Rolleninhabers").
[email protected], IBBB 2007
Feld
nimmt Einsatz auf
Feld
gibt Einsatz ab
Spieler
behalte Einsatz ein
kennt setzenden Spieler
kennt nächstes Feld
kennt seine Nummer
Feld: otto
Einsatz = 0 3
Nummer = 1
setzenderSpieler = ulli
naechstesFeld = marc
12
Objektspiel
1. Objekte erzeugen
CRC-Karten (per OHP projiziert)
2. Start des Objektspiels
Die Objekte des laufende Programms
Aktive Zuschauer
[email protected], IBBB 2007
Benutzer
13
Objektspiel Flaschendrehen
Spieler: Ira
Feld: Paul
Vermögen: 5
Setze 3 auf
Markus
Nummer: 1
Einsatz: 0
NächstesFeld: Uli
Feld: Michael
Nummer: 6
Einsatz: 0
Feld: Uli
Flasche: Peter
Nummer: 2
Einsatz: 0
Nummer: 3
Einsatz: 0
Feld: Albert
Feld: Gesine
Nummer: 5
Einsatz: 0
Nummer: 3
Einsatz: 0
Feld: Markus
Nummer: 4
Einsatz: 0
[email protected], IBBB 2007
14
Objektspiel Flaschendrehen
Feld: Paul
Spieler: Ira
Vermögen: 5 2
Nummer: 1
Einsatz: 0
Feld: Michael
Nummer: 6
Einsatz: 0
Setze 3 auf
Markus
Feld: Uli
Flasche: Peter
Nummer: 2
Einsatz: 0
Nummer: 3
Einsatz: 0
Feld: Albert
Feld: Gesine
Nummer: 5
Einsatz: 0
Nummer: 3
Einsatz: 0
Feld: Markus
Nummer: 4
Einsatz: 0 3
[email protected], IBBB 2007
drehen
auswerten
…
15
Auswertung Objektspiel
• Welche Unterschiede gibt es zwischen Objekten und
Klassen?
Etwa:
Klassen:
•Struktur eines Objekts
•Haben keine Werte
•…
•Klassen sind Baupläne
Objekte:
•Es kann mehrere geben
•Haben Werte
•Kennen einander
•Objekte sind aktiv
• Wie funktioniert ein objektorientiertes Programm?
• Etwa: Zunächst werden Objekte erzeugt und mit
Startwerten belegt. Danach warten sie auf Eingaben durch
den Benutzer und arbeiten die Aufträge ab. Dabei ändert
sich
[email protected], IBBB 2007
16
Ausblick I: Übergang zum Quelltext
3. Setzen:Feld: Paul
1
Obj.-SpielNummer:
Einsatz: 0
Spieler: Ira
Vermögen:
5
Feld: Michael
Feld: Uli
Nummer: 6
Einsatz: 0
Nummer: 2
Einsatz: 0
Flasche: Peter
4. Setzen:
Debugger
Nummer: 3
Einsatz: 0
Feld: Albert
Feld: Gesine
Nummer: 5
Einsatz: 0
Nummer: 3
Einsatz: 0
Feld: Markus
Nummer: 4
Einsatz: 0
5. Setzen:
UML
1. Setzen:
Spiel
2. Setzen:
CRC
[email protected], IBBB 2007
17
Ausblick II: Mit Objektspieldiagrammen
zum Quelltext
Setze 3 auf
Markus
Spieler: Ira
Vermögen: 5 2
3: setzeSpieler
Feld: Markus
Nummer: 4
Einsatz: 0 3
Gesetzt von: Ira
1: setze
Vermögen
2: setze
Einsatz
Klasse Spieler:
public void setzen (int betrag,
Feld nFeld)
{
1. this.vermoegen=vermoegen-betrag;
2. nFeld.setzeEinsatz(betrag);
3. nFeld.gesetztVon=this;
}
Kommentare:
• vorgegebenen Quelltext untersuchen (Puzzle, Lückentext …)
• vorher Programm mit (grafischem) Debugger ausführen
• vorher Aufbau einer Klasse besprechen (CRC->UML->Quelltext)
• später evtl.: if (nFeld.gesetztVon == null && betrag <= vermoegen)
[email protected], IBBB 2007
18
Literatur
http://life.upb.de
[email protected], IBBB 2007
• Skript (Version 0.01)
http://www.coobra.cs.unikassel.de/fileadmin/se/LehrerFortbildung/O
OM-Skript061108.pdf
• Jürgen Börstler: Improving CRC-Card RolePlay with Role-Play Diagrams, OOPSLA'05
Addendum to the Proceedings (Educators'
Syposium)
• Foliensatz Objektspiel http://did.mat.unibayreuth.de/~matthias/veranstaltungen/ws
2004/ook/ook8_print.pdf
• Sekundarstufe 1: http://ddi.unipaderborn.de/didaktik/Veroeffentlichungen/
examensarbeiten/reinsch_thorsten_objektor
ientierter_einstieg.pdf
19
Herunterladen