Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objects first OO als OOM und OOP

Ähnliche Präsentationen


Präsentation zum Thema: "Objects first OO als OOM und OOP"—  Präsentation transkript:

1 Objects first OO als OOM und OOP
Einstieg in den Ansatz Objects first OO als OOM und OOP Der Ansatz im Schnelldurchlauf Alte und neue Grundlagen Die Einstiegsphase im Detail

2 Selbstständigkeit der Schüler
Die drei Phasen Phase 1 Notationen, Grundkonzepte und Begriffe Real / Obj. mit CRC-Notation Objekte und Klassen in UML Explorationsumgebung 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 Wesentliche Neuerung: Lernreihenfolge gegenüber herkömmlichen Vorgehen uzmgedreht: Hier vom Verständnis und Überblick hin zu IMplementationsdetails, sonst umgekehrt. Gleichzeitig Versuch, Schüler möglichst früh in authentischen Szenarien selbst aktiv werden zu lassen In den Phasen übernehmen die Werkzeuge jeweils unterschiedliche didaktische Funktionen Auf den folgenden Folien die drei Phasen im Detail Selbstständigkeit der Schüler IBBB 2007

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

4 Scaffolding: Hilfestellung, etwa durch Teillösungen
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 1. Automatisierung 2. Interaktion 3. Informations- verarbeitung Hardware Soft- ware Arbeits- Aufgaben Organisations- Strukturen 4. Vernetzung Didaktisches Grundproblem: Punkte 1+6 zu weit auseinander Typischer Unterricht: ? Hubwieser: 3? Schülerinteressen: 4 ? Unterschiede 5 + 6: Punkt 5 ist das bereits geregelte, fasslich gewordene Gesellschaftliche Implikatuion, etwa das Datenschutzgesetz Zu 6 gehört mE die Erkenntnis, dass Technik gestaltet: und Informationstechnik gestaltet in erheblichem Maße unser Zusammenleben 5. Normen und Regulierung 6. Gesellschaftliche Wechselwirkungen Schulte, AG DDI

5 Alte und Neue Grundlagen 2: Programmieren lernen
‘Dimensions of learning programming’ (du Boulay, 1989) Novice mistakes: are the folk wisdoms correct? (1986, Spohrer, Soloway) McCracken-Study; Lister-Study (2001, 2004) “Not seeing the forest for the trees” (Lister et.al 2006) ‘The novice programmers' syndrome of design-by-keyword’ (2003) Novice mistakes: are the folk wisdoms correct? (1986, Spohrer, Soloway) Die meisten Fehler nicht konstruktbasiert, sondern ‘Planfehler’: Probleme, Einzelteile zusammenzusetzen ‘Dimensions of learning programming’ (du Boulay, 1989) Programmieren lernen umfasst versch. Dimensionen, u.a. “Notional machine” ‘The novice programmers' syndrome of design-by-keyword’ (2003) Nur oberflächliche Problemanalyse McCracken-Study; Lister-Study Problem Problemlösen; oder schon vorher “Not seeing the forest for the trees” (Lister et.al 2006) Soloway Spohrer: (1) yes, a few bug types account for a large percentage of program bugs, and (2) no, misconceptions about language constructs do not seem to be as widespread or as troublesome as is generally believed. Rather, many. bugs arise as a result of plan composition problems- difficulties in putting the “pieces” of a program together [see sidebar)-and not as result of construct-based problems, which are misconceptions IBBB 2007

6 Werkzeug und Notation als Lernmedium
Zusammenfassung Das Beispiel sorgt für den roten Faden 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 Werkzeug und Notation als Lernmedium Verschiedene Abstraktions- stufen analysieren SE-Methoden als U-Methoden Vorgefertigte Teile benutzen (Modelling und Scaffolding): (Visuellen) Quelltext analysieren nachdem dessen Funktionalität auf verschiedenen Niveaustufen erprobt wurde. -> Syntax und Semantik entdecken; Formalisierungs- und Abstraktionsstufen entdecken Nicht nur einzelne Bäume, sondern auch den Wald sehen: Funktionalität mit Anwendungsfall verbinden Komplettes, sinnvolles Beispiel untersuchen Komplexitätsreduktion per Unterrichtsmethodik, exemplarischer Analyse und Werkzeugunterstützung Niveaustufen = (implizit) Schritte des Softwareentwicklungsprozesses, Verbindungen und Unterschiede thematisieren (kurze) Diskussionen von Gestaltungsalternativen nicht unterdrücken IBBB 2007

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

10 Schritte 1b: CRC-Karten
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? IBBB 2007

12 Schritt 1c: Objektspiel
Schüler spielen in einer Art Rollenspiel die Objekte eines Programms nach Feld nimmt Einsatz auf Feld gibt Einsatz ab Spieler behalte Einsatz ein kennt setzenden Spieler kennt nächstes Feld kennt seine Nummer 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"). Feld: otto Einsatz = 0 3 Nummer = 1 setzenderSpieler = ulli naechstesFeld = marc IBBB 2007

13 Objektspiel 1. Objekte erzeugen 2. Start des Objektspiels
CRC-Karten (per OHP projiziert) Die Objekte des laufende Programms Aktive Zuschauer Benutzer IBBB 2007

14 Objektspiel Flaschendrehen
Spieler: Ira Vermögen: 5 Feld: Paul Nummer: 1 Einsatz: 0 NächstesFeld: Uli Setze 3 auf Markus Feld: Michael Nummer: 6 Einsatz: 0 Feld: Uli Nummer: 2 Einsatz: 0 Flasche: Peter Nummer: 3 Einsatz: 0 Feld: Albert Nummer: 5 Einsatz: 0 Feld: Gesine Nummer: 3 Einsatz: 0 Feld: Markus Nummer: 4 Einsatz: 0 IBBB 2007

15 Objektspiel Flaschendrehen
Spieler: Ira Vermögen: 5 Feld: Paul Nummer: 1 Einsatz: 0 2 Setze 3 auf Markus Feld: Michael Nummer: 6 Einsatz: 0 Feld: Uli Nummer: 2 Einsatz: 0 Flasche: Peter Nummer: 3 Einsatz: 0 Feld: Albert Nummer: 5 Einsatz: 0 Feld: Gesine Nummer: 3 Einsatz: 0 Feld: Markus Nummer: 4 Einsatz: 0 drehen 3 auswerten IBBB 2007

16 Auswertung Objektspiel
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: Klassen: Struktur eines Objekts Haben keine Werte Klassen sind Baupläne Objekte: Es kann mehrere geben Haben Werte Kennen einander Objekte sind aktiv IBBB 2007

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

18 Ausblick II: Mit Objektspieldiagrammen zum Quelltext
Setze 3 auf Markus 1: setze Vermögen Klasse Spieler: public void setzen (int betrag, Feld nFeld) { this.vermoegen=vermoegen-betrag; nFeld.setzeEinsatz(betrag); nFeld.gesetztVon=this; } Spieler: Ira Vermögen: 5 2 3: setzeSpieler 2: setze Einsatz 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) IBBB 2007

19 Literatur Skript (Version 0.01) Jürgen Börstler: Improving CRC-Card Role-Play with Role-Play Diagrams, OOPSLA'05 Addendum to the Proceedings (Educators' Syposium) Foliensatz Objektspiel Sekundarstufe 1: IBBB 2007


Herunterladen ppt "Objects first OO als OOM und OOP"

Ähnliche Präsentationen


Google-Anzeigen