1 / 19

Einstieg in den Ansatz

Objects first OO als OOM und OOP. Einstieg in den Ansatz. Der Ansatz im Schnelldurchlauf Alte und neue Grundlagen Die Einstiegsphase im Detail. Die drei Phasen. Phase 2 Angeleitet Modellieren GUI kennen lernen Üben / GUI-Bibliothek Ereignisbehandlung

kalei
Télécharger la présentation

Einstieg in den Ansatz

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. Objects first OO als OOM und OOP Einstieg in den Ansatz Der Ansatz im Schnelldurchlauf Alte und neue Grundlagen Die Einstiegsphase im Detail

  2. Die drei Phasen Phase 2 Angeleitet Modellieren GUI kennen lernen Üben / GUI-Bibliothek Ereignisbehandlung Darstellungs- und Übungsumgebung Phase 3 Vorgehensmodell eigenständig anwenden Projekt in Gruppenarbeit Softwareentwicklungs-werkzeuge und Bibliotheken Phase 1 Notationen, Grundkonzepte und Begriffe Real / Obj. mit CRC-Notation Objekte und Klassen in UML Explorationsumgebung Selbstständigkeit der Schüler schulte@inf.fu-berlin.de, IBBB 2007

  3. Die Schritte der ersten Phase Schritt 1 Schritt 2 Schritt 3 Realbegegnung CRC-Modell Objektspiel Interaktives Objektdiagramm Klassendiagramm Aktivitätsdiagramme Schulte, AG DDI

  4. Modelling Vormachen (modellieren) und erläutern Wissen im Kontext Scaffolding: Hilfestellung, etwa durch Teillösungen Ansteigende Vielfalt Ansteigende Komplexität Alte und Neue Grundlagen 1: Systemorientierung und Cognitive Apprenticeship Hardware 1. Automatisierung 2. Interaktion 3. Informations- verarbeitung Soft- ware Arbeits- Aufgaben Organisations- Strukturen 4. Vernetzung 5. Normen und Regulierung 6. Gesellschaftliche Wechselwirkungen Schulte, AG DDI

  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) schulte@inf.fu-berlin.de, IBBB 2007

  6. Zusammenfassung Das Beispiel sorgt für den roten Faden Verschiedene Abstraktions- stufen analysieren Werkzeug und Notation als Lernmedium SE-Methoden als U-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 schulte@inf.fu-berlin.de, IBBB 2007

  7. Erste Phase, erster Schritt Schritt 1 Schritt 2 Schritt 3 Objektspiel Realbegegnung CRC-Modell 1a 1b 1c Interaktives Objektdiagramm Klassendiagramm Aktivitätsdiagramme schulte@inf.fu-berlin.de, 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? schulte@inf.fu-berlin.de, IBBB 2007

  9. Realbegegnung: Auswertung • Etwa: • Spieler: setzt auf ein Feld, hat Geld • Spielfeld: nimmt Betrag auf • Flasche: dreht sich • Bank: verwaltet Gewinn • Schiedrichter • Geld • Zufallsgenerator • … • 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 schulte@inf.fu-berlin.de, IBBB 2007

  10. Schritte 1b: CRC-Karten schulte@inf.fu-berlin.de, 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? schulte@inf.fu-berlin.de, IBBB 2007

  12. Schritt 1c: Objektspiel Feld nimmt Einsatz auf Feldgibt Einsatz ab Spielerbehalte Einsatz einkennt setzenden Spielerkennt nächstes Feldkennt seine Nummer Feld: otto Einsatz = 0 3Nummer = 1setzenderSpieler = ullinaechstesFeld = marc 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"). schulte@inf.fu-berlin.de, IBBB 2007

  13. Objektspiel 1. Objekte erzeugen 2. Start des Objektspiels CRC-Karten (per OHP projiziert) Die Objekte des laufende Programms Benutzer Aktive Zuschauer schulte@inf.fu-berlin.de, IBBB 2007

  14. Objektspiel Flaschendrehen Feld: Gesine Nummer: 3 Einsatz: 0 Feld: Uli Nummer: 2 Einsatz: 0 Feld: Albert Nummer: 5 Einsatz: 0 Feld: Michael Nummer: 6 Einsatz: 0 Flasche: Peter Nummer: 3 Einsatz: 0 Feld: Markus Nummer: 4 Einsatz: 0 Spieler: Ira Vermögen: 5 Feld: Paul Nummer: 1 Einsatz: 0 NächstesFeld: Uli Setze 3 auf Markus schulte@inf.fu-berlin.de, IBBB 2007

  15. Objektspiel Flaschendrehen Feld: Gesine Nummer: 3 Einsatz: 0 Feld: Albert Nummer: 5 Einsatz: 0 Feld: Michael Nummer: 6 Einsatz: 0 Feld: Markus Nummer: 4 Einsatz: 0 Spieler: Ira Vermögen: 5 Feld: Uli Nummer: 2 Einsatz: 0 Flasche: Peter Nummer: 3 Einsatz: 0 2 Feld: Paul Nummer: 1 Einsatz: 0 Setze 3 auf Markus drehen 3 auswerten … schulte@inf.fu-berlin.de, IBBB 2007

  16. 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 • 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 • Etwa: schulte@inf.fu-berlin.de, IBBB 2007

  17. Ausblick I: Übergang zum Quelltext Feld: Paul Nummer: 1 Einsatz: 0 Feld: Gesine Nummer: 3 Einsatz: 0 Feld: Albert Nummer: 5 Einsatz: 0 Feld: Michael Nummer: 6 Einsatz: 0 Feld: Markus Nummer: 4 Einsatz: 0 Spieler: Ira Vermögen: 5 Feld: Uli Nummer: 2 Einsatz: 0 Flasche: Peter Nummer: 3 Einsatz: 0 3. Setzen: Obj.-Spiel 4. Setzen: Debugger 5. Setzen: UML 1. Setzen: Spiel 2. Setzen: CRC schulte@inf.fu-berlin.de, IBBB 2007

  18. Ausblick II: Mit Objektspieldiagrammenzum Quelltext 1: setze Vermögen 3: setzeSpieler 2: setze Einsatz Spieler: Ira Vermögen: 5 Setze 3 auf Markus • Klasse Spieler: • public void setzen (int betrag, Feld nFeld) • { • this.vermoegen=vermoegen-betrag; • nFeld.setzeEinsatz(betrag); • nFeld.gesetztVon=this; • } 2 Feld: Markus Nummer: 4 Einsatz: 0 Gesetzt von: 3 Ira • 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) schulte@inf.fu-berlin.de, IBBB 2007

  19. Literatur • 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 http://life.upb.de schulte@inf.fu-berlin.de, IBBB 2007

More Related