Objects first oo als oom und oop
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Einstieg in den Ansatz PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

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

[email protected], IBBB 2007


Die Schritte der ersten Phase

Schritt 1

Schritt 2

Schritt 3

Realbegegnung

CRC-Modell

Objektspiel

Interaktives

Objektdiagramm

Klassendiagramm

Aktivitätsdiagramme

Schulte, AG DDI


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


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


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

[email protected], IBBB 2007


Erste Phase, erster Schritt

Schritt 1

Schritt 2

Schritt 3

Objektspiel

Realbegegnung

CRC-Modell

1a

1b

1c

Interaktives

Objektdiagramm

Klassendiagramm

Aktivitätsdiagramme

[email protected], IBBB 2007


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


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

[email protected], IBBB 2007


Schritte 1b: CRC-Karten

[email protected], IBBB 2007


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


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").

[email protected], IBBB 2007


Objektspiel

1. Objekte erzeugen

2. Start des Objektspiels

CRC-Karten (per OHP projiziert)

Die Objekte des laufende Programms

Benutzer

Aktive Zuschauer

[email protected], IBBB 2007


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

[email protected], IBBB 2007


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

[email protected], IBBB 2007


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:

[email protected], IBBB 2007


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

[email protected], IBBB 2007


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)

[email protected], IBBB 2007


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

[email protected], IBBB 2007


  • Login