Rahmenbedingungen Zielgruppe Bedürfnis Institution Auswahl des Inhalts Lernziele festlegen Vorkenntnisse Wie viel Zeit? Unterrichtsmethoden wie? Unterrichtstechniken wie? Infrastruktur, Hilfsmittel womit? Ablauf planen und Unterrichtsvorbereitung Durchführung Evaluation
Man lernt nicht nur mit dem Kopf Piaget Der Ursprung fast jeden Gedankens ist eine Handlung Kant Nur mit Hilfe von Anschauung kann man zur Erkenntnis kommen Bild: www.keramik-handarbeit.de Die Hand ist das äussere Gehirn des Menschen
Repräsentationstrias: Vorschau Nicht alle Menschen denken gleich, also gibt es nicht den Zugang zu einem Thema im Unterricht Repräsentationstrias EIS als speziell für die Informatik geeignete Unterrichtstechnik: enaktiv ikonisch symbolisch Eine Reihe von Beispielen Wie komme ich selber zu guten Beispielen? Es braucht nur Papier, Schnur, WC-Rollen, Legosteine, Farbstifte, Klebstreifen,...
Der Begriff Enaktiv ist selten benutzt...
Bruner (angelehnt an Piaget) Unterscheidet drei Repräsentationsebenen: Enaktiv: Erfassung von Sachverhalten durch eigene Handlungen. Ikonisch: Erfassung von Sachverhalten durch Bilder. Symbolisch: Erfassung von Sachverhalten durch Symbole (Text, Zeichen etc.).
Enaktive Repräsentation Kinder lernen durch aktives Tun oder Beobachten. Kinder brauchen keine Gebrauchsanweisung. Kinder fahren Dreirad, ohne dass man es ihnen erklärt. Bild: www.ludo.ch
Ikonische Repräsentation Konkrete Gegenstände, Ereignisse und Abläufe kann sich ein Mensch vorstellen.
Symbolische Repräsentation Mit zunehmendem Alter kann man Objekte, Ereignisse und Abläufe durch ein Symbol ersetzen, das relativ frei gewählt ist: Warum heisst ein Baum Baum? Warum ist ein Wurzelzeichen ein Haken?... Vorteil symbolischer Darstellungen: Kompakt, gezippt, auf das Wesentliche reduziert!
Wichtig sind alle drei Ebenen! Erwachsene Personen zeichnen sich durch die Fähigkeit aus, mehr oder weniger flexibel zwischen den Darstellungsebenen zu wechseln.
Verschiedene Arten, etwas zu erklären 1. Symbolisch, formal, textuell: + präzise + kompakt schwer verständlich 2. Ikonisch, mit Bildern: + anschaulicher + einfach Zusammenhänge aufzuzeigen weniger kompakt 3. Enaktiv zum Begreifen : + vermittelt intuitives Verständnis + weckt Interesse, Neugier weniger präzise Semi-enaktiv: Enaktive Demo durch Vortragenden Virtuell-enaktiv: Applet simuliert enaktive Vorgänge
Warnung: Nicht für alles geht EIS! Hauptsätze der Thermodynamik Relativitätstheorie...
Ein erstes Beispiel: Kürzeste Wege formal erklärt In einem bewerteten Graphen G[X,U] wird ein Weg w(x q,x s ) zwischen den Knoten x q und x s, dessen Gewichtssumme der Kanten entlang des Weges minimal ist, als kürzester Weg bezeichnet. Algorithmusbeschreibung: 1. Aufnahme des Knotenvektors q(-1,0) in die Menge Xp. 2. Aufnahme aller Knotenvektoren s(q,g qs ), der Knoten x s die zu x q adjazent sind in die Menge Xv. 3. Suche des Knotenvektors i(l,d i ) aus Xv, für den d i minimal ist. Löschen von i(l,d i ) aus der Menge Xv und Aufnahme in die Menge Xp. 4. Aktualisierung aller Knotenvektoren s(l,d s ), dessenknotenx s zum Knoten x i adjazent sind wie folgt s(i, d i + g si ) falls d i + g is < d s s(l, d s ) = s(l, d s ) sonst. Ist x s noch nicht Element von Xv, so wird der Vektor s(i, d i + g si ) in die Menge Xv aufgenommen. 5. Solange die Menge Xv nicht leer ist, wird mit dem Schritt 3 fortgesetzt.
Kürzeste Wege ikonisch: Vielleicht besser mit Bildern erklären? Start 1. 2. 3.
Kürzeste Wege virtuell-enaktiv: Experimente mit Applets
Kürzeste Wege enaktiv: Ein Algorithmus zum Anfassen
Enaktives in der Informatik Es lohnt sich: Viele abstrakte Konzepte sind auf den ersten Blick ohne Alltagsbezug. Eine enaktive Darstellung kann ein guter Aufhänger sein. Für das Zielpublikum Jugendliche oder Erwachsene reicht oft eine semi-enaktive Demo. Spielerei? Lego Mindstorms wird meistens von Vätern gekauft... Enaktiv = Muntermacher der Lektion. Hand aufs Herz Wer hat nicht Spass daran?
Textverarbeitung enaktiv: Holz-Word Was kann man mit Holz-Word alles zeigen? Was ist im Unterricht der Vorteil von Holz-Word gegenüber Word XP- SuperPlus? Warum sollte man Holz-Word selber bauen? Wie steht es mit Holz-Excel, Holz-Photoshop? Idee und Konzeption: P. Miotti, Luzern, 2004
Und die grosse Frage...... wie und wo findet man Ideen für enaktive Darstellungen? 1. Die Kernidee des Inhalts festhalten, in möglichst einfachen Worten. Beispiel Datenbanken / Normalformen: Vermeiden von Redundanz. 2. Den Alltag gedanklich absuchen: vom Aufstehen über das Kochen bis hin zum öffentlichen Verkehr...
Beispiel Vektor- und Bitmapbilder Drehen in Word?
Beispiel Vektor- und Bitmapbilder Kein Problem! Geht gar nicht! Nur mit Photoshop, mit komischem Zwischenschritt
Beispiel Vektor- und Bitmapbilder Bild mit Farbtabelle 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 1 1 3 3 1 3 0 1 0 0 0 0 0 1 2 2 2 2 3 3 3 3 1 3 0 1 1 1 4 4 Farb-Nr. 0 1 2 3 4 R G B 255 255 255 0 0 0 255 64 64 96 0 0 0 64 0
Beispiel Vektor- und Bitmapbilder Teil der Beschreibung: 100 100 translate newpath 0 0 moveto 230 0 lineto 230 50 lineto 0 50 lineto closepath 1 0 0 setrgbcolor fill
Beispiel Vektor- und Bitmapbilder Bestehen aus Bildpunkten Fotos Bestehen aus Linien / Flächen Technische Zeichnungen
Beispiel Vektor- und Bitmapbilder: Enaktiv!
Beispiel Vektor- und Bitmapbilder: Was könnte man damit zeigen?
Beispiel Zellbezüge in Tabellenkalkulation Zellbezüge In nahezu jeder Formel wird auf den aktuellen Inhalt anderer Zellen Bezug genommen. Dabei stellt sich immer die Frage, welche der Bezugsarten gewählt werden soll, da ihre Eigenschaften - insbesondere beim Kopieren von Formeln - sehr unterschiedlich sind. In diese Überlegungen sollte man ruhig Zeit investieren, weil eine falsche Wahl mit absoluter Sicherheit völlig falsche Ergebnisse liefern würde. Die meisten Ärgernisse in einer Tabelle haben hier ihren Ursprung und zwingen die erstaunten und verärgerten Anwender zu langwierigen Fehlersuchen. Daher stellt die Kenntnis der verschiedenen Bezugsarten eine absolute Notwendigkeit dar. relative Bezüge Derrelative BezugistfürExcel dernormalfall. Bei einem relativen Bezug notiert sich Excel intern die Zelle, auf die Bezug genommen wird, in der Form, daß die relative Position von der Zelle, die den Bezug enthält, festgestellt wird. Wenn ein relativer Bezug in einer Formel verwendet wird, wird Excel diesen Bezug automatisch verändern, wenn die Formel an eine andere Stelle versetzt oder kopiert wird. Ein solcher Bezug hat z. B. folgendes Aussehen: A1" absolute Bezüge Bei einem absoluten Bezug auf eine Zelle ist immer genau diese Zelle gemeint und keine andere. DieserBezugwirdbeimKopierenund beimversetzennicht verändert. Ein absoluter Bezug hat z. B. folgendes Aussehen: $A$1"
Beispiel Zellbezüge in Tabellenkalkulation: Schach: Der Zug des Springers A B C D E F G H 8 7 65 4 3 2 1 relativ 2 vorwärts, 1 rechts absolut F3
Beispiel Kompression: Wenn die Diskette zu klein ist...
Beispiel Kompression: Warum funktioniert das nicht?
Beispiel Kompression: Verlustfreie Kompression... 100 kg Luft rauslassen auf nichts verzichten
Beispiel Kompression: Verlustbehaftete Kompression Zusammenfassung skda fjlsakd lksdaj lskdaf lsdakj ölsadk jflaskfj sadflk lkdsjf lksdajf ölsakjf ölsakf lksadjflksajfdölsakdjfl sdlkfj sdalökj fldsak fjsaldök jlsadk jfaölskjd flsadkjfaslökjf aölskjfdiejlökajdsfiealkfjaiejlkasjfoiasejlkf saelifjlask jfsalifdjlksdajf ölskaj ldksaj ldsakfjlisafjlkds lkdsajfiejlkdsajfiesf lksadjfaeslksadjisaejflkdsjf lkdsjfilesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi Unwesentliches wegschneiden jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjl esajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjlesajflkd isajfelkjldskjfasilfj esalkjflisadfjelkdjsafi eölakfjesaoi ölaskjflsakdjfoiasjelkjesalfjafsalfj sdlakf jldsakfjfsaiejlksadjfiesa lkdsaj lidjsfa lkeaj iaejlkdf ielkf ösaldkfjl verlustbehaftet
Beispiel Polymorphismus: Das Prinzip ist nicht einfach zu erklären Wenn wir das obige Beispiel mit dem Auto und den Sportwagen genauer betrachten, dann entsteht ein Problem. Die Klasse Sportwagen besitzt keine eigene Methode beschleunigen, denn sie verwendet die Methode aus der Basisklasse Auto. Wir wollen jetzt einen speziellen Sportwagen, ein Raketenauto, entwerfen, das die gleichen Eigenschaften wie der Sportwagen besitzt. Nur die Methode beschleunigen funktioniert gänzlich anders, als die des Sportwagens. Wir definieren also ein Raketenauto, dass wir vom Sportwagen ableiten: class Raketenauto erbt von Sportwagen Eigenschaften: keine Methoden: - beschleunigen Wie wir hier sehen, gibt es plötzlich zwei Methoden beschleunigen, die vollkommen verschieden sein können. Einmal direkt bei der Klasse Raketenauto und einmal in der Basisklasse Auto, von der ja die Klasse Sportwagen abgeleitet wurde. Eine objektorientierte Programmiersprache wird in diesem Fall immer die Methode, die der Klasse direkt zugeordnet ist, aufrufen. Dieses Verhalten bezeichnet man als Polymorphismus. In der Klassenhierarchie kann es mehrere verschiedene Methoden mit gleichen Namen geben. Je nachdem welche Klasse einem Objekt zugeordnet ist, verhält sich das Objekt anders, es ist polymorph.
Beispiel Polymorphismus: Des Pudels Kern You are thinking about the services that your program must provide. You discover that one service might be provided in more than one way. Different clients may require different versions, but generally a given client will always require the same version. How can we provide several versions of the same service cleanly and efficiently? If you provide several different methods to provide the versions of this service, you may need to write if statements (selection) to choose between them. This is a poor solution as these if statements tend to proliferate through the program, making modifications difficult and error prone. [ ] Therefore, consider having distinct objects provide the different versions of the service. [ ] [Joseph Bergin]
Beispiel Polymorphismus: Alltag stellen Sie Ihre Uhr vor!
Beispiel Software-Schnittstellen: Definitionen sind so abstrakt Schnittstellen enthalten Vorlagen für Verhalten, das andere Klassen implementieren sollen. Schnittstellen bieten jedoch ein bei weitem größeres Spektrum an Funktionalität für Java und für das Klassen- und Objektdesign als einfache abstrakte Klassen und Methoden. Der Rest dieser Lektion erforscht die Schnittstellen: Was sind sie, warum sind sie für eine effektive Nutzung der Sprache Java wichtig und wie lassen sie sich implementieren und verwenden?
Beispiel Software-Schnittstellen: Schnittstellen im Alltag
Beispiel Koordinatensysteme: Roboter-Arm steuern Umrechnen zwischen Koordinatensystemen: alpha = phi+arccos((a*a+r*r-b*b)/(2*a*r)) beta = arccos((a*a+b*b-r*r)/(2*a*b)) x = a*cos(alpha)-b*cos(alpha+beta) y = a*sin(alpha)-b*sin(alpha+beta) y a β r b α ϕ x
Beispiel Koordinatensysteme: Roboter-Arm virtuell enaktiv www.swisseduc.ch/informatik/interaktiv/roboarm/
Beispiel Software-Entwicklungs-Framework: Definitionen sind so abstrakt A framework is a set of classes that embodies an abstract design for solutions to a family of related Problems. [R. E. Johnson, B. Foote; June 1988] A framework is a significant collection of collaborating classes that capture both the small-scale patterns and major mechanisms that implement common requirements and design in a specific application domain. [D.G. Firesmith, 1994]
Beispiel Software-Entwicklungs-Framework: Frameworks im Alltag Komponenten Framework 40
Beispiele Netzwerktopologien: Rasensprenger? Hub! Prinzip Hub: Analog zu Rasensprenger. Alles was reinkommt, wird an alle weiterverteilt. Prinzip Switch: Analog zu Stellwerk Eisenbahn. Einfahrender Zug wird an genau einen Bestimmungsort weitergeleitet.
Literatur zum Thema Aebli H.: Denken: das Ordnen des Tuns. Band I. Stuttgart 1980 (Klett-Cotta). Bruner J. S.: Studies in cognitive growth. New York 1966 (Wiley). Auf Deutsch: Studien zur kognitiven Entwicklung. Stuttgart 1971 (Klett Cotta)