Einstieg in den Ansatz Objects first OO als OOM und OOP Der Ansatz im Schnelldurchlauf Alte und neue...
-
Upload
walburga-wolfgram -
Category
Documents
-
view
106 -
download
3
Transcript of Einstieg in den Ansatz Objects first OO als OOM und OOP Der Ansatz im Schnelldurchlauf Alte und neue...
Einstieg in den Ansatz
Objects firstOO als OOM und OOP
Der Ansatz im SchnelldurchlaufAlte und neue Grundlagen
Die Einstiegsphase im Detail
[email protected], IBBB 2007 2
Phase 1
Notationen, Grundkonzepte und Begriffe
Real / Obj. mit CRC-Notation Objekte und
Klassen in UML
Explorationsumgebung
Phase 2
Angeleitet ModellierenGUI kennen lernen
Üben / GUI-BibliothekEreignisbehandlung
Darstellungs- und Übungsumgebung
Phase 3
Vorgehensmodell eigenständig anwenden
Projekt in Gruppenarbeit
Softwareentwicklungs-werkzeuge und
Bibliotheken
Selbstständigkeit der Schüler
Die drei Phasen
Schulte, AG DDI 3
Die Schritte der ersten Phase
Realbegegnung ObjektspielCRC-Modell
Interaktives
Objektdiagramm
Klassendiagramm Aktivitätsdiagramme
Schritt 1
Schritt 3
Schritt 2
Schulte, AG DDI 4
Alte und Neue Grundlagen 1: Systemorientierung und Cognitive Apprenticeship
• Modelling• Vormachen (modellieren)
und erläutern• Wissen im Kontext
• Scaffolding: Hilfestellung, etwa durch Teillösungen
• Ansteigende Vielfalt• Ansteigende Komplexität
Arbeits- Aufgaben
1. Automatisierung
2. Interaktion
4. V
ern
etzu
ng
3. Informations- verarbeitung
5. Normenund
Regulierung
6. Gesellschaftliche Wechselwirkungen
Hardware Soft- ware
Organisations- Strukturen
[email protected], IBBB 2007 5
Alte und Neue Grundlagen 2: Programmieren lernen
Novice mistakes: are the folk
wisdoms correct? (1986, Spohrer,
Soloway)
‘Dimensions of learning
programming’ (du Boulay, 1989)
‘The novice programmers' syndrome of design-by-
keyword’ (2003)
McCracken-Study; Lister-Study (2001,
2004)“Not seeing the
forest for the trees” (Lister et.al
2006)
[email protected], IBBB 2007 6
Zusammenfassung
Das
Beispiel sorgt für den
roten Faden
Ver
schi
eden
e
Abs
trak
tion
s-
stuf
en
anal
ysie
ren
Werkzeug und Notation als Lernmedium
SE-Methoden alsU-Methoden
• Während ein Beispiel auf verschiedenen Niveaus untersucht wird, entsteht Abwechslung für die SuS durch untersch. Medien und Methoden
• Da diese sich an SE-Medien und Methoden anlehnen, lernen die SuS diese Inhalte gleich mit (Methodenlernen).
• Durch Situierung nachvollziehbare Progression u. Kumulation
[email protected], IBBB 2007 7
Erste Phase, erster Schritt
Realbegegnung ObjektspielCRC-Modell
Interaktives
Objektdiagramm
Klassendiagramm Aktivitätsdiagramme
Schritt 1
Schritt 3
Schritt 2
1a 1c1b
[email protected], IBBB 2007 8
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 9
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
Im nächsten Schritt (1b)…
• Vergleich mit ‘professionellem’ Entwurf
Etwa:•Spieler: setzt auf ein Feld, hat Geld•Spielfeld: nimmt Betrag auf•Flasche: dreht sich
•Bank: verwaltet Gewinn•Schiedrichter•Geld•Zufallsgenerator•…
[email protected], IBBB 2007 10
Schritte 1b: CRC-Karten
[email protected], IBBB 2007 11
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 12
Feld: otto
Einsatz = 0 3Nummer = 1setzenderSpieler = ullinaechstesFeld = marc
Schritt 1c: Objektspiel
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").
Schüler spielen in einer Art Rollenspiel die Objekte eines Programms nach
Feld
nimmt Einsatz auf Feldgibt Einsatz ab Spielerbehalte Einsatz einkennt setzenden Spielerkennt nächstes Feldkennt seine Nummer
[email protected], IBBB 2007 13
Objektspiel
1. Objekte erzeugen
CRC-Karten (per OHP projiziert) Die Objekte des laufende Programms
BenutzerAktive Zuschauer
2. Start des Objektspiels
[email protected], IBBB 2007 14
Objektspiel Flaschendrehen
Feld: GesineNummer: 3Einsatz: 0
Feld: UliNummer: 2Einsatz: 0
Feld: AlbertNummer: 5Einsatz: 0
Feld: MichaelNummer: 6Einsatz: 0
Flasche: PeterNummer: 3Einsatz: 0
Feld: PaulNummer: 1Einsatz: 0NächstesFeld: Uli
Feld: MarkusNummer: 4Einsatz: 0
Spieler: IraVermögen: 5
Setze 3 auf Markus
[email protected], IBBB 2007 15
Objektspiel Flaschendrehen
Feld: GesineNummer: 3Einsatz: 0
Feld: AlbertNummer: 5Einsatz: 0
Feld: MichaelNummer: 6Einsatz: 0
Feld: PaulNummer: 1Einsatz: 0
Feld: MarkusNummer: 4Einsatz: 0
Spieler: IraVermögen: 5
Feld: UliNummer: 2Einsatz: 0
Flasche: PeterNummer: 3Einsatz: 0
2
3
Setze 3 auf Markus
drehen
auswerten…
[email protected], IBBB 2007 16
• Welche Unterschiede gibt es zwischen Objekten und Klassen?
• 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
Auswertung Objektspiel
Klassen:•Struktur eines Objekts•Haben keine Werte•…•Klassen sind Baupläne
Objekte:•Es kann mehrere geben•Haben Werte•Kennen einander•Objekte sind aktiv
Etwa:
[email protected], IBBB 2007 17
Ausblick I: Übergang zum Quelltext
Feld: Gesine
Nummer: 3Einsatz: 0
Feld: Albert
Nummer: 5Einsatz: 0
Feld: Michael
Nummer: 6Einsatz: 0
Feld: PaulNummer: 1Einsatz: 0
Feld: Markus
Nummer: 4Einsatz: 0
Spieler: Ira
Vermögen: 5
Feld: UliNummer: 2Einsatz: 0Flasche:
PeterNummer: 3Einsatz: 0
2. Setzen:CRC
1. Setzen:Spiel
3. Setzen:Obj.-Spiel
4. Setzen:Debugger
5. Setzen:UML
[email protected], IBBB 2007 18
Ausblick II: Mit Objektspieldiagrammenzum Quelltext
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)
Spieler: IraVermögen: 5
Setze 3 auf Markus
2
Feld: MarkusNummer: 4Einsatz: 0 Gesetzt von:
3Ira
3: setzeSpieler
[email protected], IBBB 2007 19
Literatur
http://life.upb.de • Skript (Version 0.01) http://www.coobra.cs.uni-kassel.de/fileadmin/se/LehrerFortbildung/OOM-Skript061108.pdf
• Jürgen Börstler: Improving CRC-Card Role-Play with Role-Play Diagrams, OOPSLA'05 Addendum to the Proceedings (Educators' Syposium)
• Foliensatz Objektspiel http://did.mat.uni-bayreuth.de/~matthias/veranstaltungen/ws2004/ook/ook8_print.pdf
• Sekundarstufe 1: http://ddi.uni-paderborn.de/didaktik/Veroeffentlichungen/examensarbeiten/reinsch_thorsten_objektorientierter_einstieg.pdf