Home

Intuitive Modelle der Informatik - publish.UP

image

Contents

1. 1 L a a 2 Haus Haus 13 a aa ab ac A aus Haus Maus Laus 5 at a aa aaa 16 Muth Muh Muuh Muuuh if ax a aa aaa 18 ORT sh MOMS MOOT NOOO 222 9 G lr Jas Glas Gras 10 L Glas Gras Glas Gras AD tC bn Ae bas IndLane Insel IntUEEIOSRA p 2 12 ANE oS N 10 00 EUR TASE rc 13 OES Bb ak oS LUD Ball Handbal L za ss Analysieren wir zun chst die Beispiele Sie unterscheiden sich in mehrfacher Hinsicht Konkretisierungsgrad Unter Konkretisierungsgrad verstehen wir das Ausma in dem Beispiele Objekte oder sensorisch erfahrbare Situationen die Realit t wiedergeben Manche Beispiele verwen den sowohl im regul ren Ausdruck re als auch bei der Darstellung der Menge L re die durch den regul ren Ausdruck definiert wird sinnvolle Texte In den Beispielen L2 und L10 sind abgese hen von Metazeichen alle vorkommenden Zeichenketten sinnvolle Begriffe Haus Gras Glas Bei anderen Beispielen L4 L11 L13 sind zumindest die in L re aufgef hrten Zeichenketten W r ter der deutschen Sprache All diese Beispiele sind also relativ konkret In einigen F llen kommt hin zu dass das Beispiel so interpretiert werden kann dass es eine Situation wiedergibt die aus dem All tag bekannt ist Im
2. Age standard deviation 17 39 years 0 74 Population of the town where the workshop took Less than 100 000 19 100 000 to 500 000 1 more place than 500 000 8 Country Germany 28 other country 0 Model 1 g Description Berechnung Fakultaet voll staendige Rekursion bis zum Abbruch Execution Frames white box Duration 28 seconds Concreteness 80 percent Average watchtime standard deviation fak n 93 25 seconds 42 36 ey This model was evaluated in 28 first subjective sessions The following table shows the results Question votes percentage would you use to explain 11 39 29 represents the idea of a recursive function best 9 32 14 most difficult to follow 1 3 57 228 un me Description Recursive computation of facto rial Processes are represented by execution frames Only one recursive call Duration 9 seconds Concreteness 80 percent Average watchtime standard deviation 38 61 seconds 25 62 This model was evaluated in 28 first subjective sessions The following table shows the results Question votes percentage would you use to explain 5 17 86 represents the idea of a recursive function best 7 25 00 most difficult to follow 10 35 71 Model 3 Description Recursive computation of facto rial Record of computation process function fak 1 calls are replaced by results Full recursion
3. Shapes State fd Procedures Audio Notes Rules Abb 45 Screenshot aus einer Sitzung mit Microworld EX Links das Arbeitsblatt mit der Turtle t 1 rechts der Backpack der Turtle mit einer rekursiven Prozedur Die Logo Turtle Grafik unterstiitzt das Modell der Selbstaufforderung weil es nur einen Akteur gibt die Turtle dem die in der Prozedur definierte Aktivit t zugeordnet wird Microworld EX ver wendet die Metapher eines Rucksacks den die Schildkr te tr gt Der Rucksack enth lt z B aktuelle Attributbelegungen z B Zeichenstift angehoben oder gesenkt die den Zustand definieren und Akti vit ten Procedures die die Schildkr te ber die fest eingebauten Operationen wie vorw rts gehen drehen etc hinaus beherrscht In diesem Fall der Prozedur draw zeichnet die Turtle ein Quadrat mit einer als Parameter berge benen Seitenl nge n Sofern die Seitenl nge nicht zu klein ist fordert sich die Turtle am Ende selbst auf ein weiteres Quadrat mit der halben Seitenl nge zu zeichnen usw Alles macht dieselbe Turtle ganz allein Es kommen keine weiteren Akteure ins Spiel 9 6 3 Fehlerhafte Verwendung des Modells der Selbstaufforderung Die Vorstellung eines einzigen Akteurs der sich immer wieder selbst auffordert dieselbe Aktivit t mit ge nderten Parametern durchzuf hren ist so einleuchtend dass sie in der wohl g ngigsten Kurz definition rekursiver Funktionen verwendet wird Eine rekur
4. protocol_pq_model Die Relation modelliert die Bewertung eines Modells in einem Quiz Diese Tabelle wird automa tisch vom Dienstprogramm pq_ service py aktualisiert Attribut Datentyp Erl uterung protocol id varchar 20 Fremdschl ssel Enth lt ID des Protokolls zu einer Quiz Session protocol _ pq task_id varchar 20 Fremdschl ssel Enth lt ID der Beschreibung einer Aufgabe players smallint Anzahl der Spieler die hinter der Bewertung stehen model varchar 20 ID des bewerteten Modells in der Reihenfolge der Bewertung fits smallint Bewertung des Modells 0 unpassend 1 passend time smallint Betrachtungszeit des Modells points smallint gesetzte Punktzahl Tab 43 Tabelle protocol_pq model 3 3 Gruppen einrichten Lehrerinnen und Lehrern bietet die PVS die M glichkeit Sch lergruppen zu definieren Dazu ge ben sie auf einer interaktiven Webseite verschiedene Daten zu ihrer Gruppe an Schule minimales und maximales Alter der Gruppenmitglieder Gr e der Stadt Programmiererfahrung und z hlen die Loginnamen Pseudonyme der Mitglieder ihrer Gruppe auf Sie haben dann die M glichkeit statisti sche Daten zu ihrer Gruppe abzufragen Zum Beispiel kann man die statistische Verteilung der Ant worten zu einem Python Visual Spiel als Aufh nger f r ein Unterrichtsgespr ch verwenden Teaching with the Python Visual Sandbox Michael Weigend 17 7 2004 16 8 2005 Using the
5. Question votes percentage would you use to explain 40 57 14 do you remember best 23 32 86 when you imagine the execution of the script 34 48 57 Model 3 Description Model of changing lists Lists are represented by boxes with cards Assign state ment is interpreted as adding a second label to the box Duration 5 seconds Concreteness 66 percent Average watchtime standard deviation 14 46 seconds 15 19 This model was evaluated in 70 first subjective sessions The following table shows the results Question votes percentage would you use to explain 11 15 71 do you remember best 16 22 86 when you imagine the execution of the script 17 24 29 219 Model 4 Description Model of changing lists Lists are represented by boards and arrows Assign state ment is interpreted as adding a new arrow Duration 7 seconds Concreteness 66 percent Average watchtime standard deviation 25 39 seconds 84 62 This model was evaluated in 70 first subjective sessions The following table shows the results Question votes percentage would you use to explain 4 5 71 do you remember best 19 27 14 when you imagine the execution of the script 9 12 86 Recursive function that mirrors a string Some general information about the players of this category who played the game at least once Professions 22 highschool students 0 u
6. S Hier wird der Begriff Intuitivit t in einem steigerungsfahigen Sinn gebraucht Erl uterungen dazu finden sich in Anhang 7 1 129 Sajaniemi 2002 hat ein System von Rollen entwickelt die Variablen in einem Programm spie len k nnen und gibt f r jede Rolle eine Visualisierung an Beispiele f r Rollen sind e Konstante d h eine Variable die nur einen Wert annehmen kann der niemals ge ndert wird e Stepper Eine Variable die mit einem Anfangswert initialisiert wird und die im Laufe einer Rechnung eine bestimmte Folge von Werten durchlaufen kann Ein Z hler der in einer Schleife inkrementiert wird ist ein Beispiel f r einen Stepper e Most wanted holder Eine Variable die den besten bisher gefundenen Wert enth lt Zum Beispiel bei der Suche nach dem Minimum in einer Sequenz braucht man einen Most wanted holder f r das bisher gefundene kleinste Objekt Die Rolle definiert ein Verhaltensmuster und M glichkeiten der Interaktion mit anderen Entit ten des Programms Wenn man einer Variablen eine Rolle zuordnet bindet man sie an Funktionalit t Eine Variable kann wie ein menschliches Individuum in verschiedenen Kontexten unterschiedliche Rollen spielen das ist freilich schlechter Programmierstil andererseits k nnen unterschiedliche Vari ablen die gleiche Rolle annehmen In fast allen F llen ist eine Rolle ein intuitives Konzept das Bestandteil einer Probleml sung ist Wenn ich einen Algorithmus f r die Su
7. 5 Bei einer aufsteigend sortierten Liste muss das kleinste Element am Anfang stehen 6 In einer aufsteigend sortierten Liste ist das letzte Element mindestens so gro wie das erste Eine Gruppe von 21 Sch lerinnen und Sch lern die mit dem Quicksort Algorithmus und Python Zusicherungen vertraut waren mussten in einem benoteten Test folgende Aufgabe l sen Gegeben war die obige Definition der Funktion gsort allerdings ohne Zusicherungen An den Stellen wo sich im obigen Listing die assert Statements befinden war jeweils eine L cke gelassen Au erdem gab es eine Liste von geeigneten und ungeeigneten assert Statements Die Aufgabe bestand darin min destens drei geeignete assert Anweisungen an den passenden Stellen einzuf gen Tab 1 gibt zu jeder korrekten Zusicherung die H ufigkeit an mit der sie auf korrekte Weise in das gegebene Pro gramm eingesetzt wurde Bemerkenswert ist dass die Zusicherung len ergebnis len liste nur von acht Teilnehmern gew hlt wurde obwohl sie doch ein sehr einfaches intuiti ves Konzept verk rpert Beim Sortieren einer Liste ver ndert sich die Anzahl der Elemente nicht Eine m gliche Erkl rung ist dass dieser Gedanke nicht unmittelbar mit der prim ren Aufgabe der Funktion Sortieren in eine bestimmte Reihenfolge bringen verbunden ist F r diese Erkl rung spricht auch dass in 20 F llen eine Eigenschaft einer aufsteigend sortierten Liste gepr ft wurde n mlich die Tatsa
8. 8 operator Abb 35 Verkn pfung von Operatoren Funktionen und Objekten bei Logotron aus Lehotska 2006 8 4 Ursprung der Eingabespezifikation Ein weiterer Aspekt bei der Modellierung von Eingabe ist die Frage welche Entit t die Argumente spezifiziert Programmtechnisch ist der Fall klar Beim Aufruf einer Funktion werden in Klammern die Argumente aufgef hrt Die Aktivit t geht also vom aufrufenden Akteur aus In Modellen zur Visu alisierung von Programmabl ufen kann das jedoch auch genau anders herum dargestellt werden Die Funktion holt sich selbst die Eingabedaten Dieser Fall liegt beispielsweise vor wenn eine boolesche Funktion die einen Gr er Vergleich realisiert als Akteur mit Sensoren dargestellt wird und dieser Akteur ber die Szenerie wandert und gezielt bestimmte Objekte abtastet und vergleicht 8 5 Vergleich von Eingabemechanismen Im Python Quiz Modeling a group geht es in Aufgabe 4 um die Visualisierung des Funktionsaufru fes olderThan group 19 Dabei beschreibt das erste Argument group eine Personengruppe durch eine Liste von Tupeln der Form name alter Das zweite Argument ist eine Altersangabe Die Funktion liefert eine Liste 82 von Namen aller Personen die lter sind Es werden unter anderem folgende Modelle angeboten sie he Abb 36 1 2 3 4 Die erste Animation pq_list_a5_ 1 verwendet ein Beh ltermodell f r die Liste group und stellt die Funktion olderThan als
9. 29 players 42 65 percent Average confidence in good judgement standard deviation 5 34 4 21 Number and percentage of players who declared that the model is not appropriate bad judgements 39 players 57 35 percent Average confidence in bad judgement standard deviation 6 79 4 05 Task 2 Judging Model pq_list_a2 8 Associated program for n a in persons Description Visualization of an iteration using a cointainer to represent a list and pointers for iteration variables Time 7 seconds Concreteness 100 percent of names are used in the model 247 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 7 35 3 71 Average watch time standard deviation Number and percentage of players who declared that the model is appropriate good judgements 10 28 seconds 11 09 54 players 79 41 percent Average confidence in good judgement standard deviation 7 96 3 30 Number and percentage of players who declared that the model is not appropriate bad judgements 14 players 20 59 percent Average confidence in bad judgement standard deviation 5 00 4 39 Judging Model pq_list_a2_7 Associated program for n a in persons Description Visualization of an iteration Post its with the names of the iteration variables are moving from it
10. Anna 22 Tim 21 Sarah 19 In Aufgabe 1 soll eine Funktion definiert werden die zu einer solchen Liste eine Liste mit den Namen der Gruppenmitglieder liefert Zu dieser Funktionsdefinition ist nur der Funktionskopf vorgegeben def getNames persons Die Anweisungen des Funktionsk rpers m ssen eingef gt werden Angeboten werden Puzzlest cke mit korrekten und falschen Anweisungen die mit der Maus in das Editorfeld verschoben werden siehe Abb 12 Die korrekte L sung lautet def getNames persons result for person in persons result append person 0 return result Durch die Auswahl an Bausteinen die zur Verftigung stehen wird erzwungen einen bestimmten Algorithmus zu implementieren Es gibt also im Prinzip wie bei einem richtigen Puzzle nur eine m gliche L sung Lediglich einige wenige Marginalien sind variabel z B Reihenfolge einiger An weisungen Ein wesentlicher Vorteil der Verwendung von Bausteinen liegt darin dass syntaktische Fl chtigkeitsfehler wie vergessene Kommata oder Klammern die f r wissenschaftliche Fragestel lungen weitgehend irrelevant sind ausgeschlossen werden Es kann sich um ein geschlossenes Puzz le handeln in dem alle Programmbausteine verwendet werden oder ein offenes Puzzle in dem auch falsche oder nicht ben tigte Bausteine angeboten werden Mit offenen Puzzles kann man unter suchen f r welche Fehler Programmentwickler besonders anf llig sind
11. Average confidence in bad judgement standard deviation 0 00 0 00 Judging Model pq_ objects a2 3 Associated program bottle fi11 0 4 Description Unappropriate visualization of the message bottle fill 0 4 by an oval moving to a filling device which fills a bottle Time 7 seconds Concreteness 100 percent of names are used in the model 295 K Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 38 3 75 Average watch time standard deviation 9 43 seconds 6 60 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 15 players 71 43 percent 7 67 3 20 Number and percentage of players who declared that the model is not appropriate bad judgements 6 players 28 57 percent Average confidence in bad judgement standard deviation 6 67 5 16 Judging Model pq objects a2 4 Associated program bottle fi11 0 4 Description Visualization of the message bottle fill 0 4 by an oval moving to a bottle which is filled in a magical way Time 6 seconds Concreteness 100 percent of names are used in the model bowie z Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 38 3
12. Greifer Manipulatoren 181 In manchen Animationen wird die Frage thematisiert welche Entit ten in der Maschinerie eines laufenden Programms eigentlich aktiv sind Aktivit t wird durch Greifarme mit Gelenken visualisiert die andere Entit ten meist Zettel mit Daten bewegen Abb 80 Greifer repr sentieren Aktivit t einer Entit t Funktionsboxen mit Ein und Ausgang Ein Ein Ausgabe orientiertes Modell einer Funktion wird in der PVS durch einen hohlen Pyrami denstumpf mit quadratischem Querschnitt dargestellt der sich nach unten verj ngt Funktionsbox Die obere gr ere ffnung ist der Eingang Sobald dieses Ger t gen gend Daten empfangen hat wackelt es ein paar Mal um interne Aktivit t anzudeuten und gibt dann ber die untere ffnung ein Ergebnis aus In einigen F llen bei rekursiven Funktionen besitzen die Funktionsboxen seitliche ffnungen um die Daten bergabe in internen Funktionsaufrufen darstellen zu k nnen Abb 81 Darstellung einer Funktion als Box mit Eingang oben und Ausgang unten Blitze Ereignisse wie die Ausf hrung einer Operation werden manchmal durch Explosionen mit einer Art Blitzerscheinung heller sich rasch ausbreitender und dann wieder verschwindender Lichtfleck visualisiert Der Blitz tritt an einer oder mehreren Entit ten meist Zettel auf und f hrt zu einer Ver nderung Manchmal sind die Blitze mit dem Namen der ausgef hrten Operation beschriftet Beispiel Z
13. classification and discussion learning activity CDA mit folgender Struktur teilnahmen 1 Konfrontation mit rekursiven Ph nomenen z B Bilder 2 Gruppenarbeit Klassifizierung der rekursiven Ph nomene 3 Pr sentation der Klassifizierung gefundenen Kategorien und Kriterien 4 Diskussion im Plenum mit dem Ziel gemeinsame Merkmale von Rekursivit t zu finden Auf Grund von Sch ler u erung identifizierten sie verschiedene gedankliche Konzepte sie spre chen von Pr konzepten pre conceptions die bei der Analyse rekursiver Ph nomene ihrer Meinung nach eine Schl sselrolle einnehmen Levy amp Lapidot 2001 Beispiele in Anf hrungsstrichen bei spielhafte Sch ler u erungen e Unendlich oder endlich Hier geht es um den Abbruch oder die unendliche Fortsetzung eines re kursiven Vorgangs e Regelm igkeit e Gradualit t vom Kleinen zum Gro en und umgekehrt e Periodizit t e Zur ckkehren e Sequentialitat z B aufsteigende und absteigende Sequenzen e Abh ngigkeit e Selbstbezug Dinge die sich selbst bauen e Zirkularit t e Enthalten sein Einige dieser Konzepte unendlich endlich Zirkularit t enthalten sein tauchen bereits zu Beginn der Auseinandersetzung mit Rekursivit t auf Manche Werke der bildenden Kunst thematisieren gera dezu einen Aspekt von Rekursion Ein Beispiel ist das Bild von Escher das zwei H nde darstellt die sich gegenseitig zeichnen Drawing Hands 1948
14. 3 Gesplittete Aktivitat 16 70 97 13 7 30 64 38 pq_objects_a2_ 1 4 Eigenbefiillung 2 20 87 90 21 3 13 0 0 pq_objects_a2_2 Tab 21 Beurteilung von Modellen zur Ausf hrung eines Auftrags mit unterschiedlicher Gewichtung der Eigenaktivit t des Objekts Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 23 Personen darunter 21 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben Abb 59 zeigt einen Screenshot aus einer Visualisierung der Anweisung bottle empty Aus dem Oval das die Botschaft repr sentiert erscheint ein Greifarm der die Karaffe auskippt Hier geht die Aktivit t von der Botschaft aus und das Objekt bleibt passiv Dieses Modell wurde von 19 der 23 Workshop Teilnehmer mit einer mittleren Konfidenz von 87 als passend beurteilt 125 Abb 59 Botschaft als Akteur Die Auswertung der letzten Aufgabe verschachtelte Botschaften befindet sich in Anhang 6 9 12 5 bermittlung von Botschaften Die bermittlung von Botschaften vom Sender zum Empf nger ist ein Akt der Kommunikation Wie gelangt eine Botschaft von Objekt A zu Objekt B Wie findet es seinen Adressaten Die PVS enth lt einige Visualisierungen die man als Beispiele f r folgende drei Routingmodelle betrachten kann 1 Der Sender der Botschaft ist f r die korrekte Zustellung zust ndig Im Alltag verwenden wir dieses Modell z B wenn wir jemandem bei eine
15. Number and percentage of players who declared that the model is appropriate good judgements 17 players 80 95 percent Average confidence in good judgement standard deviation 8 53 3 43 Number and percentage of players who declared that the model is not appropriate bad judgements 4 players 19 05 percent Average confidence in bad judgement standard deviation 1 25 2 50 298 Judging Model pg_objects_a3_5 Associated program bottle empty Description Visualization of the message bottle empty by an oval moving to a bottle When it hits it the bottle empties Time 5 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 8 81 3 12 Average watch time standard deviation 6 10 seconds 4 45 Number and percentage of players who declared that the model is appropriate good judgements 17 players 80 95 percent Average confidence in good judgement standard deviation 9 71 1 21 Number and percentage of players who declared that the model is not appropriate bad judgements 4 players 19 05 percent Average confidence in bad judgement standard deviation 5 00 5 77 Judging Model pg_ objects a3 4 Associated program bottle empty Description Unappr
16. depth Duration 23 seconds Concreteness 80 percent Average watchtime standard deviation 45 96 seconds 22 78 This model was evaluated in 28 first subjective sessions The following table shows the results Question votes percentage would you use to explain 11 39 29 represents the idea of a recursive function best 10 35 71 most difficult to follow 5 17 86 229 Model 4 Description Recursive computation of facto rial Record of computation process function calls are replaced by results Only one recur sive call is visualized Duration 8 seconds Concreteness 80 percent Average watchtime standard deviation 22 07 seconds 11 71 This model was evaluated in 28 first subjective sessions The following table shows the results Question votes percentage would you use to explain 1 3 57 represents the idea of a recursive function best 2 7 14 most difficult to follow 12 42 86 Fibonacci numbers Some general information about the players of this category who played the game at least once Professions 19 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 5 female and 14 male persons Hours a week spent on programming standard de viation 1 58 hours 1 64 Roughly estimated experience in Python program ming standard deviation 59 21 days 111 83 Age standard de
17. n 68 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Zeiger 4s 19 4 s 57 83 8 75 0 39 1 pq_list_a2_3 65 9 Zettel und Beh lter pq_assign al_7 9s 12 40 s 54 79 4 73 5 37 1 17 74 Zeiger und Beh lter pq_assign al 8 7s 10 20 s 54 79 4 73 5 37 1 3 71 Tab 49 Beurteilung von Modellen zur Veranschaulichung von Iterationen durch Namenbewegungen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teil genommen haben 28 Aufgrund der hohen Standardabweichungen die auf einige besonders lange Entscheidungszeiten hinweisen lassen sich die mittleren Entscheidungszeiten nicht vergleichen 322 6 Erg nzungen zu intuitiven Modellen in der OOP 6 1 Klasse und Schema Das intuitive Modell des Bauplans korrespondiert mit dem Begriff des Schemas in der Kognitions psychologie Nach Anderson 1996 S 150 ist der psychologische Begriff des Schemas an das Kon zept der Datenstrukturen angelehnt stammt also eigentlich aus der Informatik Wie eine Klasse be schreibt auch ein Schema einen Typ von Objekten durch ein Set von Attributen Slots denen typische Werte als Default zugeordnet sein k nnen Au erdem gibt es Attribute die die Verbindung zu anderen Schemata herstellen z B Oberbegriff Schemata werden verwendet um Objekte der Realwelt zu identifizieren
18. 2 17 Percentage of players who declared that the model 53 66 percent 14 63 percent 12 20 percent is appropriate good judgements Average confidence in good judgement standard 8 18 3 29 6 67 4 08 9 00 2 24 deviation Percentage of players who declared that the model is not appropriate bad judgements 46 34 percent 85 37 percent 87 80 percent Average confidence in bad judgement standard deviation 9 74 1 15 9 00 2 92 8 47 3 55 277 Judging Model pq_assign_al_11 Associated program a 3 b a Description Variable a containing the value 3 is visualized by a pointer named a pointing to a card with number 3 A second pointer b points to the same card Time 6 seconds T j Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 31 2 98 confidence standard deviation Average watch time standard deviation 13 36 seconds 11 38 Number and percentage of players who declared that the model is appropriate good judgements 119 players 77 27 percent Average confidence in good judgement standard deviation 8 82 2 50 Number and percentage of players who declared that the model is not appropriate bad judgements 35 players 22 73 percent Average confidence in bad judgement standar
19. Die Funktion mit dem Namen f wird aufgerufen und erh lt als Eingabe die Zahl 2 Dieser Wert wird von verarbeitet und das Ergebnis ein Wert zur ckgegeben Dieser Wert wird der Variablen x zugewiesen In dieser verbalen Beschreibung werden zumindest drei intuitive Modelle ber Funktionen ver wendet e Die Funktion wird aufgerufen Hier wird unterstellt dass die Funktion ein Akteur ist der schon vor der Ausf hrung der Anweisung existiert und darauf wartet aufgerufen zu werden Etwa so wie ein Schraubenzieher in einer Werkstatt zur Benutzung bereit liegt oder ein Handwerker den man zur Erledigung eines Auftrags anrufen kann e Der Funktion wird ein Wert bergeben Dieses Konzept der bergabe ist intuitiv und aus dem Alltag bekannt Man bergibt einen Zettel an jemanden Der bergebene Wert hat wie ein Ge genstand den Besitzer gewechselt und die Funktion kann als neuer Besitzer damit machen was sie will e In der Formulierung zur ckgeben steckt die Annahme dass die Funktion selbst und niemand anderes daf r sorgt dass das Berechnungsergebnis an einen bestimmten Akteur des Systems n mlich den Auftraggeber bergeben wird Das impliziert dass sie sich ihren Auftraggeber mer ken muss In anderen Zusammenh ngen dagegen z B bei der Interpretation rekursiver Funktionen sieht man die Ausf hrung des Textfragments 2 eher als Generierung eines neuen Akteurs Prozess der vorher noch nicht existiert
20. Michael Weigend Intuitive Modelle der Informatik Universit tsverlag Potsdam 2007 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet ber http dnb d nb de abrufbar Universit tsverlag Potsdam 2007 Universit tsverlag Potsdam Am Neuen Palais 10 14469 Potsdam Tel 49 0 331 977 4517 Fax 4625 e mail ubpub uni potsdam de http info ub uni potsdam de verlag htm ISBN 978 3 940793 08 9 URL http pub ub uni potsdam de volltexte 2008 1578 URN urn nbn de kobv 517 opus 15787 http nbn resolving de urn nbn de kobv 517 opus 15787 Druck docupoint GmbH Magdeburg Das Manuskript ist urheberrechtlich geschutzt Institut f r Informatik Didaktik der Informatik Intuitive Modelle der Informatik Dissertation zur Erlangung des akademischen Grades doctor rerum naturalium Dr rer nat in der Wissenschaftsdisziplin Didaktik der Informatik eingereicht am 1 Marz 2007 an der Mathematisch Naturwissenschaftlichen Fakultat der Universitat Potsdam von Dipl Inform Michael Weigend 1 Gutachter Prof Dr Andreas Schwill Universit t Potsdam 2 Gutachter Prof Dr Carsten Schulte Freie Universit t Berlin 3 Gutachter Prof Dr Werner Hartmann P dagogische Hochschule Bern Disputation am 26 11 2007 F r meinen Vater Vorwort Seit vielen Be
21. Sie zeigen das Paradox der wechselseitigen Abh n gigkeit zweier Objekte Keines kann ohne das andere existieren In einer rekursiven Funktion verwen de ich dieselbe Funktion die ich gerade definiere und die also noch gar nicht existiert Es gibt konkrete Ph nomene die jeweils einige dieser Konzepte in einer geschlossenen Gestalt rep r sentieren Beispiele f r rekursive Ph nomene findet man in Levy und Lapidot 2000 So sind in den russian dolls die Konzepte Regelm igkeit Gradualit t und enthalten sein verk rpert Zwei ge gen ber liegende parallele Spiegel er ffnen einen Blick in die Unendlichkeit die durch rekursive Funktionen ohne Abbruchbedingung erzeugt wird Man kann diese erlebbaren Ph nomene als Repr sentationen intuitiver Modelle betrachten die mit Rekursion assoziiert werden d h die bei der Interpretation oder Generierung rekursiver Funktionen verwendet werden Diese Intuitionen sind jedoch jede f r sich keine vollst ndigen Modelle Sie sind fokussieren nur auf bestimmte Aspekte und k nnen Teil eines Clusters von Intuitionen sein das bei der intellektuellen Auseinandersetzung mit einer rekursiven Funktion verwendet wird Nach Wu Dale amp Bethel 1998 f rdern konkrete Modelle der Rekursion russian dolls Prozess Tracing und Stack Simulationen unabh ngig vom Lerntyp besser der Lernprozess als abstrakte Mo delle Strukturschablonen mathematische Induktion 311 4 4 Fehlerhaf
22. Zu Beginn einer Session wird ein XML Paket an das Service Programm pp startservice py ge schickt Es enth lt u a die IDs Passw rter der Spieler und hat folgendes Format lt log gt lt session game gameld id SessionID gt lt person id id1 gt lt person id id2 gt lt log gt Vom Serviceprogramm wird ein Datensatz Tupel der Relation protocol pp f r die Beschrei bung der Session angelegt als Spieldauer 0 Sekunden und als erreichte Punktzahl 200 eingetragen Am Ende einer Session wird ein XML Paket mit dem Sessionprotokoll an das Service Programm pp_service py geschickt Es ist folgenderma en aufgebaut lt log gt lt task id Nummer time Bearbeitungsbeginn der Aufgabe gt lt model id Prim rschl ssel des Modells time Zeitpunkt der Betrachtung watchtime Dauer der Betrachtung eval Bewertung 1 bis 3 gt 236 lt correct time zeitpunkt gt Programmzeile lt correct gt lt error time zeitpunkt gt Programmzeile lt error gt lt time gt Bearbeitungszeit lt time gt lt points gt erreichte Punktzahl lt points gt lt runs gt Anzahl der Testl ufe lt runs gt lt task gt lt session id SessionID game gamelID time Spieldauer in Sekunden points erreichte Punktzahl gt lt log gt F r jede gel ste Aufgabe gibt es einen task Knoten mit Nummer der Aufgabe und Bearbeitungs beginn als Attribut Er erh lt Unterknoten mit Informat
23. gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 2 K stchen an der Tafel als Beh lter f r Daten bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 3 Wertetabellen f r Variablen bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt Abb 82 Fragebogen zur Verwendung von Visualisierungen 1 4 Beh lter mit F chern zur Veranschaulichung einer Liste bzw eines Arrays bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 5 Zeiger oder Linie zur Darstellung der Verbindung eines Namens zu einem benannten Objekt oder Datum bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt no Bb BoB B 6 Box mit Ein und Ausgang zur Visualiserung einer Funktion die einen Wert oder ein Objekt ber ihren Eingang aufnimmt verarbeitet und ein Ergebnis ber den Ausgang ausgib
24. 1998 http unplugged canterbury ac nz Zugriff am 15 3 2005 Bernitzke Fred Heinz 1987 Mastery Learning Strategie als Unterrichtsalternative Frankfurt a M Bern New York Paris Lang Bhuiyan Shawkat Greer Jim E McCalla Gordon I 1994 Suppporting the Learning of Recursive Problem Solving In Interactive Learning Environments 4 2 S 115 139 Blackwell Alan F Whitley Kirsten N Good Judith Petre Marian 2001 Cognitive Factors in Pro gramming with Diagrams In Artificial Intelligence Review 15 1 2 Springer Netherlands S 95 114 du Boulay Benedict 1989 Some difficulties of learning to program In Soloway amp Spohrer 1989 S 283 301 Bonar Jeffrey Soloway Elliot 1985 Preprogramming Knowledge A Major Source of Misconcep tions in Novice Programmers In Human Computer Interaction Bd 1 Nr 2 S 133 161 Bower G H Black J B Turner T J 1979 Scripts in memory for texts In Cognitive Psychology 11 S 177 220 Brewer W F Treyens J C 1981 Role of schemata in memory for places In Cognitive Psychol ogy 13 S 207 230 Brown D E 1992 Using examples and analogies to remediate misconceptions in physics Factors influencing conceptual change In Journal of Research in Teaching Science 29 1992 S 17 34 Byrnes James P 1996 Cognitive Development and Learning in Instructional Contexts Boston London Toronto Sydney Tokyo Singapur Chiu Ming Ming 1996 Exploring the
25. 3 2 2 Mehrperspektivit t Viele Modelle f r eine Sache Erkl rungen sind immer Bestandteil einer Kommunikation Ein Erkl rungsversuch muss also auf den Verstehenshorizont des Gegen bers abgestimmt sein Diese berlegung macht zwei Probleme sichtbar e Es kann immer nur vermutet werden welche intuitiven Modelle der Kommunikationspartner ver steht d h welche Konzepte f r sie oder ihn intuitiv einleuchtend sind e Dokumentierte Erkl rungsversuche etwa Kommentare in Programmlistings oder Erkl rungen in Bedienungsanleitungen wenden sich an ein heterogenes Auditorium also an Personen mit v llig unterschiedlichen Vorkenntnissen Beide Probleme legen die gleiche Schlussfolgerung nahe F r Erkl rungen ist es in der Regel not wendig unterschiedliche intuitive Modelle f r die gleiche Sache zu verwenden Dar ber hinaus kann es sinnvoll sein f r die Darstellung eines Modells unterschiedliche Repr sentationen zu verwenden Dabei ist es aber kaum zu entscheiden ob zwei unterschiedliche Darstellungen die das gleiche Modell meinen im Grunde nicht doch zumindest in Nuancen unterschiedliche intuitive Modelle repr sentie ren ohne dass sich der Erkl rende dessen bewusst ist Professionelle Erkl rer halten f r eine Wissensdom ne eine breite Palette unterschiedlicher intuiti ver Modelle bereit auf die sie situationsspezifisch zur ckgreifen vgl auch Chiu 2001 Ueno 1993 Bei einer Erkl rung im Rahmen einer bidirektionalen Kommuni
26. 3 78 6 67 5 77 deviation Percentage of players who declared that the model 56 10 percent 80 49 percent 92 68 percent is not appropriate bad judgements Average confidence in bad judgement standard 7 39 3 95 9 22 2 24 8 68 3 22 deviation 280 Judging Model pq_assign_a2_9 Associated program today Monday Monday today Tuesday today Wednesday uesday Description A Variable is represented by a SS pointer Successive assignments are visual ized by one pointers pointing to appearing Be Wednesday cards Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 9 09 2 32 Average watch time standard deviation 7 77 seconds 5 88 Number and percentage of players who declared that the model is appropriate good judgements 125 players 81 17 percent Average confidence in good judgement standard deviation 9 36 1 79 Number and percentage of players who declared that the model is not appropriate bad judgements 29 players 18 83 percent Average confidence in bad judgement standard 7 93 3 66 deviation First three judgements Total number of persons who played this game at 41 least three times First session Second session Third session Average bet p
27. Abb 60 zweites Bild In der Animation pq_objects_a4_2 schwebt ein Oval mit der Beschriftung bottle fill 0 A ins Bild bewegt sich zun chst zu der Vase und schlie lich zur Karaffe verschwindet mit einem Blitz Darauf hin f llt sich die Karaffe auf magische Weise mit einer gewissen Menge Fl ssigkeit Abb 60 drittes Bild Hier sucht sich also die Botschaft selbst ihren Weg zum Empf nger Im letzten Modell schlie lich schweben von oben viele Ovale mit der Botschaft ber die Bildfl che Eines davon trifft auf das Objekt bottle und l st die Aktivit t Bef llung aus Abb 60 rech tes Bild gl ae x a4 amp hi Abb 60 Modelle mit unterschiedlicher Darstellung des Transports einer Botschaft zum Empf nger Leitstrahl Anfassen selbstst ndige Suche und Broadcasting 126 Die Beurteilungen dieser Modelle durch 23 Teilnehmer von Workshops mit der PVS Tab 22 las sen erkennen dass alle drei intuitiven Modelle eine gewisse psychische Realit t besitzen Allerdings wurde das Broadcasting Modell gegen ber den Modellen Anfassen und Eigenst ndige Suche signifikant seltener als passend beurteilt Fisher Test p 0 036 bzw p 0 006 Die vier Modelle standen in unmittelbarem zeitlichem Kontext innerhalb einer Aufgabe Sie wurden innerhalb einer Minute von den Spielern wahrgenommen so dass davon auszugehen ist dass sie von den Betrachtern verglichen worden Vor diesem Hintergrund ist bemerkenswert ist dass ge
28. Interaktives Skript 2 Beispiele 8889 80064 Selbst ausgedachtes Beispiele 1 0741 1 81714 Insgesamt ausprobiert 10 8148 4 99259 Tab 27 Anzahlen der ausprobierten Beispiele n 29 Bemerkenswert sind folgende Beobachtungen e Etwa zwei Drittel der Funktionsaufrufe mit unbekanntem Ergebnis wurden am Computer auspro biert und so das Ergebnis gefunden Dagegen wurden die interaktiven Skripte in erheblich gerin gerem Ausma getestet e Mehr als ein Drittel der vollst ndigen Beispiele Funktionsaufruf mit bekanntem Ergebnis wur den ausprobiert Offenbar spielte das praktische Ausprobieren eine gro e Rolle beim Bem hen um das sichere Ver stehen regul rer Ausdr cke Selbst Funktionsaufrufe deren Ergebnisse bereits bekannt waren wurden nachgespielt In diesem Fall war das Bild das der Python Interpreter beim Test lieferte mit dem identisch was im Text des Selbstlernmaterials stand Es gab keinerlei zus tzliche Information Dieses Verhalten kann man als Streben nach Gewissheit interpretieren Subjektive Gewissheit ist nach Fischbein ein zentrales Merkmal von Intuitionen Der Test am Computer ist eine echte Gewiss heit spendende Erfahrung in der Wirklichkeit vergleichbar mit einem naturwissenschaftlichen Expe riment Das Beispiel im Arbeitsblatt dagegen ist nur ein Medium das ein blo es Abbild der Realit t liefert In der Untersuchung wurde nicht eruiert wie die Sch lerinnen und Sch ler beim Ausp
29. Klasse als Fabrik Bauplan oder Prototyp Argumente des Konstruktoraufrufs werden als Individualmerkmale des neuen Objektes interpretiert e Auswahl eines Objektes aus einem Vorrat Klasse als Menge Argumente des Konstruktoraufrufs werden als Auswahlkriterien interpretiert Damit sucht der Konstruktor ein passendes bereits exis tierendes Objekt heraus 12 3 Instanzierungsmodelle in der PVS In der PVS Applikation Python Quiz Objects werden verschiedene intuitive Modelle aus dem Bereich der OOP thematisiert Grundlage ist folgende Klassendefinition Python class Container object def init self max self max max self content 0 Ju def fill self volume self content volume if self content gt self max self content self max overflow def empty self volume self content self content 0 return volume Die Klasse Container modelliert Beh lter mit einem begrenzten Fassungsverm gen z B Fla schen f r Fl ssigkeiten Mit der Methode fill wird ein Beh lter mit einem gewissen Volumen bef llt und mit empty wird er vollst ndig entleert Ein typisches objektorientiertes Programm repr sentiert eine magische Welt in der Objekte agie ren k nnen die in der Realit t v llig passiv sind So kann im Programmtext dieses Beispiels sich eine Flasche selbst bef llen und Materie Inhalt einer Flasche aus dem Nichts entstehen Die Vorstellung einer Welt aus Flaschen deren I
30. Vorstellungen verwenden Allgemeine Prinzipien der Verwendung intuitiver Modelle Ein viertes Anliegen ist allgemeine Prinzipien des Umgangs mit intuitiven Modellen herauszufin den Welche Strategien und Techniken wenden Sch lerinnen und Sch ler an wenn sie versuchen die Arbeitsweise eines Programms durch intuitive Modelle zu rekonstruieren Kapitel 13 Welche Hin dernisse gibt es auf dem Weg von einer intuitiven L sungsidee zu einer programmtechnischen Reali sierung Wie k nnen sie berwunden werden Kapitel 14 16 1 Intuitive Modelle und informatisches Wissen Intuition lat intuieri ansehen hinschauen betrachten wird seit der Antike in der Philosophie und Wissenschaft als Quelle f r sicheres oder scheinbar sicheres Wissen beschrieben In manchen Kontex ten verwendet man den Begriff Intuition zur Bezeichnung eines Prozesses Eine Handlung ist intuitiv wenn sie schnell und aus einem Gef hl heraus erfolgt Im Gegensatz dazu stehen rational durchdachte Entscheidungen die auf logischen Schlussfolgerungen basieren und bei denen jede Handlungsalterna tive in Gedanken durchgespielt worden ist In anderen Zusammenh ngen wird Intuition dagegen als besondere Kategorie von deklarativem Wissen definiert Nach Fischbein 1987 sind Intuitionen grundlegende Vorstellungen ber die Beschaffenheit der Welt die wir ohne weiteren Beweis als sicher richtig akzeptieren Sie sind unmittelbar wie sinnliche Wahrnehmungen gehen aber ber beoba
31. bitte Birne Unvollstandige Beispiele fur Funktionsaufrufe vl gt gt gt findall 1 Hallo V2 gt gt gt findall d Notruf ist 110 V3 gt gt gt findall t Er hat Fett an den Fingern v4 gt gt gt findall Wo ist mein Kuli V5 gt gt gt findall Hallo V6 gt gt gt findall Meine Orange V7 gt gt gt findall V8 gt gt gt findall d 1 2 3 und 4 0 V9 gt gt gt or i In findall a Mily 2y 3n 1nd 4m print i B Die Birne ist durchgebrannt W10 gt gt gt findall te Er hatte Tee lower W11 gt gt gt len findall 1 hell Skripte in denen regul re Ausdr cke verwendet werden Al eingabe raw input Noch Tee if indall jJ eingabe print Hier ist der Tee A2 eingabe raw input while findall culsee you bye eingabe eingabe raw input if findall culsee you bye eingabe print Aha Tell me more about it 190 else print Good bye 2 2 4 Ergebnisse Tab 27 gibt einen berblick in wie vielen F llen die Beispiele ausprobiert wurden Art des ausprobierten Beispiels Mittelwert Std Abweichung Funktionsaufruf mit bekanntem Ergebnis 1 4815 1 76222 4 Beispiele Funktionsaufruf mit unbekanntem Ergebnis 11 7 3704 3 97248 Beispiele
32. dem Kontext des Programmfragments in der Zieldom ne zu tun Die technische Umgebung in der das Programm l uft das in Abb 64 visualisiert wird hat z B keinen Mechanismus ber den eine Variab le ber ihre Belegung berichten k nnte 13 9 R ckmodellierung Unter R ckmodellierung verstehen wir den Versuch zu einem Programmtext oder Programmtext fragment einen Wirklichkeitsausschnitt oder eine praktische Problemstellung zu finden f r die das Programm ein Modell oder eine L sung darstellt Abb 66 zeigt eine Visualisierung der Java Anweisungsfolge String wort wort Hallo Hier hat der Sch ler mit viel Fantasie eine Begr ungssituation erfunden in der ein Computer auf dem Monitor ein Gesicht zeigt und ber Lautsprecher den Gru Hallo ausgibt Das Programm das eine solche Aufgabe bew ltigt enth lt sicherlich die beiden obigen Anweisungen aber noch viele mehr 135 Abb 65 Visualisierung als R ckmodellierung Zeichnung eines 17 j hrigen Sch lers der Jahrgangsstufe 11 R ckmodellierung kann dem Dramatisieren und Dekorieren hneln wenn Erfundenes hinzugef gt wird Die hinzugef gten Elemente entstammen jedoch einem Realit tsausschnitt der vom Programm modelliert wird Dabei wird angenommen dass in dem Programm wie bei jeder Modellierung ge wisse Aspekte der Realit t weggelassen worden sind Diese werden beim R ckmodellieren wieder hinzugef gt Als Motiv f r R ckmodellierung kann man in ers
33. die den Quicksort Algorithmus implementiert def qsort liste s liste s ist eine Kopie von liste if s return s else assert len s gt 1 1 x s 0 s remove x ntferne x aus der Liste s sl s2 for i in s if i lt x sl append i else s2 append i assert len s1 lt len liste 2 assert len sl lt len s 3 ergebnis qsort sl x qsort s2 assert len ergebnis len liste 4 assert ergebnis 0 min liste 5 assert ergebnis 0 lt ergebnis 1 6 return ergebnis 42 Hier sind einige assert Statements eingef gt die folgende Intuitionen wiedergeben 1 Die Liste s muss mindestens ein Element enthalten 2 Die Teilliste s1 die im rekursiven Aufruf von qsort als Argument bergeben wird ist k rzer als die als Argument bergebene zu sortierende Liste liste Anderenfalls droht eine End losrekursion Hier wird also eine Grundidee rekursiver Algorithmen aufgegriffen In einem rekursiven Aufruf wird der L sungsalgorithmus auf einen kleineren Teil des Gesamtproblems angewendet 3 Variante von Zusicherung 2 Da die Liste s um ein Element k rzer ist als die urspr ngliche Liste kann s1 auch die gleiche L nge wie s haben 4 Hinter dieser Zusicherung steht die intuitive Vorstellung dass beim Sortieren die Anzahl der Elemente erhalten bleibt Es geht nichts verloren und es kommen keine Elemente hinzu
34. e Behaltermodell In eine Box mit Etikett today werden Zettel mit dem aktuellen Wert gegeben e Zeigermodell Von einem Brett mit dem Namen today f hrt ein Zeiger zu dem aktuellen Wert Mit diesen Grundmodellen werden in den Animationen Zuweisungen veranschaulicht und dabei verschiedene Vernichtungskonzepte verwendet 1 Als ung ltig markieren Auf einem Notizzettel mit berschrift today werden sukzessive neue Werte Monday Tuesday geschrieben nachdem der alte Wert in der Zeile dar ber durchgestrichen worden ist Abb 46 links 2 Zerst rung 1 Auf einem Notizzettel werden sukzessive neue Werte geschrieben nachdem jeweils der alte Wert ausradiert worden ist Abb 46 zweites Bild 3 Zerst rung 2 Die Variable wird durch einen Beh lter mit der Aufschrift today repr sentiert in den sukzessive neue Zettel mit den Wochentagen wandern Kurz bevor ein neuer Zettel in den Beh lter ge langt wird der alte Zettel mit einem Blitz zerst rt Abb 46 drittes Bild 4 Verlust Bevor in den Beh lter mit der Aufschrift today ein neuer Zettel gelangt bewegt sich der vorige Inhalt heraus so dass sich immer nur ein Zettel in dem Beh lter befindet Abb 46 viertes Bild 5 L sen von Bez gen Die Variable wird durch ein Zeigermodell repr sentiert Die Daten Entit ten Zet tel mit den Wochentagen bleiben w hrend der Zuweisungen erhalten Allein der Zeiger wechselt von einem Zettel zum n chsten Dabei l st sich jeweils der
35. gesamten als geschlossene Gestalt gedach ten Anweisungsblocks berwacht und steuert 98 Mit dieser Intuition der Wiederholungskontrolle ist eine m gliche Fehlvorstellung verbunden n m lich dass die wiederholte Aktion sofort abgebrochen wird wenn die while Bedingung nicht mehr er f llt ist 9 5 2 Schleifen Im Programmierjargon ist der Begriff Schleife loop f r Wiederholungen au erordentlich gut etab liert Dahinter steht die Vorstellung eines kreisf rmigen Kontrollflusses Die zeitliche Abfolge von Aktivit ten wird durch einen zyklischen gerichteten Graphen visualisiert Typischerweise denkt man bei einer Schleife nicht an eine einzige holistische Aktion die wiederholt wird sondern an eine Se quenz von mindestens zwei Aktionen die immer wieder in der gleichen Reihenfolge hintereinander ausgef hrt werden Diese Sequenz von Aktionen bildet das Herzst ck des Modells Beispiele von Ak tionszyklen im Alltag sind e Der Wechsel von Tag und Nacht im Verlauf eines Tages e Der Zyklus der Jahreszeiten e Das Wechselspiel von Frage und Antwort in einem Interview Schleifen werden z B in Programmablaufpl nen PAP Flussdiagramm visualisiert PAPs enthal ten kein besonderes Sinnbild f r Wiederholungen Der Austritt aus der Schleife wird durch eine Ver zweigung des Kontrollflusses wie bei einer if Anweisung dargestellt Die schleifenf rmige Struktur wird erst durch Betrachtung der Gesamtstruktur sichtbar In Anhang 4 2 wird
36. hnliches Jeder Spieler der PVS kann nach Eingabe seines Passwortes einen Activity Report abrufen Er enth lt die bisher erreichte Gesamtpunktzahl und eine Auflistung aller Sitzungen Python Visual Sandbox Michael Weigend 17 7 2004 30 5 2005 home Test_hans s Activity Report You have got 12890 points Activities Python Visual Time of first valid session Points Recursive function that mirrors a string f valid session Thu Aug 25 20 33 30 2005 20 Regular expressions 2 valid sessions Sat Aug 20 08 01 32 2005 20 What happens when a function returns something 2 valid sessions Tue Aug 2 08 18 25 2005 20 Recursive computation of factorial valid session Wed Jan 4 14 48 54 2006 20 Analogies for iterations 1 valid session Mon Apr 18 23 07 21 2005 20 Multilists 2 valid sessions Sat Apr 23 10 11 59 2005 20 Python Puzzle Time of session Points Modeling a group Thu May 26 22 57 50 2005 200 Modeling a group Thu May 26 23 14 24 2005 60 Abb 93 Actvity Report der Testentit t test _hans Jeder Spieler kann nach Eingabe seines Passwortes die Highscore Listen aller Spiele abrufen die sie oder er selbst durchgef hrt hat Jede Hisghscore Liste zeigt Punktzahl Nicknames der Spieler Herkunftsland und Datum der besten zehn Sessions eines Spiels Dies motiviert dazu an vielen Spie len teilzunehmen und bei einem Spiel ein m glichst gutes Resultat zu erzielen The Python Visual Sandbox home Highscores itis
37. nnen gleichgro e Modelle f r Funktionen ver wendet werden In Python Visual Mirrors wird die Ausf hrung einer rekursiven Funktion veranschaulicht die eine Zeichenkette spiegelt aus roma wird amor In den Animationen werden offene und geschlossene Modelle einander gegen ber gestellt Abb 40 def mirror w if w return w else return mirror w l w 0 print mirror roma Abb 40 Offene und geschlossene Modelle zur Visualisierung der Ausftihrung einer rekursiven Funktion 1 Die erste Animation zeigt nur einen Rekursionsschritt des Programmlaufs Der zu einem Funktionsauf ruf geh rende Prozess wird als Brett mit der Aufschrift mirror visualisiert Es besitzt einen Grei fer der Zettel manipuliert Ein derartiger Akteur erh lt vier Zettel mit den Buchstaben des Wortes roma Der Greifer nimmt die hinteren drei Zettel oma und bergibt sie einem zweiten Akteur rekursiver Aufruf der Funktion Dieser vertauscht die Buchstaben so dass ihre Reihenfolge umge kehrt wird und gibt das Ergebnis zur ck amo Der erste Akteur nimmt diese drei Zettel in Emp fang setzt den Buchstaben r hinten an und gibt das Ergebnis amor nach oben zur ck 2 Das zweite Modell entspricht dem ersten stellt jedoch die vollst ndige Rekursion vier Funktionsauf rufe bis zum Rekursionsabbruch dar Abb 40 links 88 3 Das dritte Modell stellt die vollst ndige Rekursion vier Funktionsaufrufe bis zum Rekursionsabbr
38. t beim ersten Aufruf fib 3 wird zuerst rekursiv fib 2 aufgerufen Karte mit Aufschrift 2 wandert durch die Seitent r nach drau en Erst wenn das Ergebnis Karte mit Aufschrift 2 durch die Seitent r zur ckgekommen ist wird der zweite rekursive Aufruf fib 1 ausgel st d h eine Karte mit Aufschrift 1 wird durch die Seitent r verschickt und durch eine neue Box verarbeitet und so weiter 2 In der zweiten Animation gibt es nur einen einzigen Akteur der die Funktion fib repr sentiert Ein rekursiver Funktionsaufruf wird so dargestellt dass eine Karte mit dem Argument durch die Seitent r die Box verl sst und nach oben zum Eingang wandert Da die Karten mit den Argumenten der Funkti onsaufrufe erst verschwinden wenn eine Berechnung abgeschlossen ist sammeln sich am Eingang Karten mit Zahlen und erinnern an noch laufende Berechnungsprozesse 3 Im dritten Modell sind die Funktionsakteure von Beginn an vorhanden statisches Akteurmodell und warten auf ihren Einsatz Von der Funktion fib gibt es also einen unersch pflichen Vorrat von Ex emplaren Jede Zahlenkarte Argument eines Aufrufs der Funktion fib sucht sich ihren Weg zu einer noch freien Box die daran erkennbar ist dass in ihrem Eingang noch keine Karte steckt Die Ausf hrung der rekursiven Aufrufe ist wieder seriell wie beim ersten Modell 4 Die vierte Animation verwendet wie Modell 1 ein dynamisches Akteurmodell die rekursiven Aufrufe werden aber parallel ausg
39. wenn dadurch die Intuitivit t gesteigert werden kann Hier spielen vor allem Abstaktion und Gestaltbildung eine Rolle Die Ansicht eines Datums abstrahiert von Fragen der technischen Repr sentation und sie betont die Bedeutung was die Bildung einer sinnhaften Gestalt erleichtert 7 2 Verwechseln von Wert Datum und Literal Der Unterschied zwischen Literal und Wert ist sehr feinsinnig Bei numerischen Objekten ignoriert man ihn h ufig ohne dass dies zu Problemen f hrt Intuitiv setzt man Dezimalzahlen Literale mit den repr sentierten mathematischen Werten gleich und tut z B so als ob es von einer Zahl mehrere Ex emplare geben kann An der Tafel stehen Zahlen von denen einige gleich sind 1 2 4 1 1 Schreibe eine Drei auf In manchen Formulierungen wird jedoch tats chlich zum Ausdruck gebracht dass bestimmte Ob jekte z B Zahlen einmalig sind Nach der deutschen Rechtschreibung beginnt das Wort Schule mit einem gro en Buchstaben Es gibt nur ein Wort Schule Es gibt Situationen in denen die Differen zierung zwischen Literal und Wert von Bedeutung ist Mathematische Operationen sind f r Werte definiert und nicht f r Literale In den folgenden Beispielen die in Python formuliert sind liefert der Gleich Operator jedes Mal den Wert True obwohl die Literale sich unterscheiden Hall 0Oxf6 Hallo Wort Wort 1 0 1El 010 7 3 Fig rliche Ansichten Intuitive Modelle von Pr
40. who declared 28 players 41 18 percent that the model is not appropriate bad judgements Average confidence in bad judgement standard 3 75 4 44 deviation Judging Model pq_list_a4_1 Associated program result append n Description Visualization of a list extension call of append method The list is repre sented by a box with a constant number of compartments Time 5 seconds Concreteness 67 percent of names are used in the model 257 Total number of first judgements 68 Average bet points 0 to 10 representing the 6 03 4 28 player s confidence standard deviation Average watch time standard deviation 9 66 seconds 7 28 Number and percentage of players who declared that the model is appropriate good judgements 48 players 70 59 percent Average confidence in good judgement standard deviation 6 67 4 17 Number and percentage of players who declared that the model is not appropriate bad judgements 20 players 29 41 percent Average confidence in bad judgement standard deviation 4 50 4 26 Judging Model pq_list_a4 3 Associated program result append n Description Visualization of a list extension call zs of append method There are two list models a ee card moves from one list to the other Time 4 seconds Concreteness 33 percent of names are used in the model Total number of first jud
41. who declared that 17 players 80 95 percent the model is appropriate good judgements Average confidence in good judgement standard 8 53 2 94 deviation Number and percentage of players who declared that 4 players 19 05 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 2 50 5 00 deviation 306 Judging Model pg_objects_a5_4 Associated program vase fill bottle empty Description The message vase fill bottle empty is sent to the vase The vase grabs the bottle using an ma nipulator and pours its content into itself Time 9 seconds Concreteness 100 percent of names are used in the model First Judgements Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 43 4 23 Average watch time standard deviation 35 57 seconds 114 62 Number and percentage of players who declared that the model is appropriate good judgements 14 players 66 67 percent Average confidence in good judgement standard deviation 7 86 3 23 Number and percentage of players who declared that the model is not appropriate bad judgements 7 players 33 33 percent Average confidence in bad judgement standard deviation 3 57 4 76 307 308 4 Erg nzungen zu Steuerungsmodellen 4 1 Verzweigungen
42. who declared that the model is appropriate good judgements 103 players 66 88 percent Average confidence in good judgement standard deviation 7 96 3 09 Number and percentage of players who declared that the model is not appropriate bad judgements 51 players 33 12 percent Average confidence in bad judgement standard 7 35 3 22 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 29 3 08 8 90 2 10 8 78 3 12 Average watch time standard deviation 19 56 seconds 25 27 8 07 seconds 3 45 7 12 seconds 5 38 Percentage of players who declared that the model is appropriate good judgements 60 98 percent 68 29 percent 60 98 percent Average confidence in good judgement standard deviation 8 40 2 78 8 93 2 09 9 60 1 38 Percentage of players who declared that the model is not appropriate bad judgements 39 02 percent 31 71 percent 39 02 percent Average confidence in bad judgement standard deviation 8 12 3 59 8 85 2 19 7 50 4 47 279 Task 2 Judging Model pq_assign a2 8 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a p
43. zu denen er passt Ein Legostein passt nur an bestimmte Stellen eines Le go Bauwerks ein Teller passt nur an bestimmte Stellen einer Sp lmaschine etc Die Vorstellung dass durch regul re Ausdr cke eine eventuell unendliche Menge von Zeichen ketten definiert wird Mengenkonzept erlaubt eine elegante Definition der Semantik regul rer Aus dr cke Die zweite Animation ist eine Visualisierung dieses Modells Die Produktion einer im Prinzip unendlichen Vielfalt von Dingen nach einem bestimmten Muster ist grunds tzlich ein Konzept das auch im Alltag vorkommt Ostereier f rben Mandelas ausmalen etc Dennoch wurde diese Intuition nur von wenigen Sch lern auf regul re Ausdr cke angewendet M glicherweise liegt es daran dass das Mengenkonzept f r Probleml sungen mit regul ren Ausdr cken keine Rolle spielt Bei prakti schen Anwendungen regul rer Ausdr cke etwa bei der Verarbeitung nat rlichsprachlicher Eingaben oder der Analyse von Texten geht es allein um das Erkennen von Zeichenketten und nicht um die Produktion 2 3 Probleml sen 2 3 1 Fallstudie Das Iterator Pattern und seine Implementierung in Python Das Iterator Konzept geh rt zu den klassischen 23 Design Patterns die in dem grundlegenden Werk von Gamma et al 1995 beschrieben werden Es f llt in die Kategorie Verhaltensmuster beha vioural pattern Der Begriff Iteration leitet sich von dem lateinischen Wort iter ab was so viel wie Gang oder Marsch bede
44. 00 40 00 E Konfidenz 40 00 20 00 20 00 0 00 0 00 1 2 3 1 2 3 Abb 54 Beurteilung als unpassend eingestufter Modelle mit Zeigerbewegungen Lernkurven bei Vielspielern n 41 f r Zeiger vom Objekt zum Namen pq_assign_al_13 links und Zeigerkette pq_assign_al_12 rechts 115 116 11 Klassen 11 1 Intuitive Modelle in der Objektorientierten Programmierung Ein objektorientiertes Programm ist ein System von Objekten die Botschaften austauschen Jedes Objekt besitzt Attribute die Wissen repr sentieren und beherrscht Operationen mit denen das gekap selte Wissen verarbeitet werden kann Eine Besonderheit der OOP ist dass das mentale Modell von interagierenden Entit ten Bestandteil des Paradigmas ist und mit der Begrifflichkeit der Fachsprache beschrieben wird Objektorientierte Programme sollen h ufig Realit tsausschnitte modellieren Hub wieser 1999 2004 Schubert amp Schwill 2004 sind aber in der Regel nicht v llig strukturtreu Das Hauptmotiv der informatischen Modellierung ist Denk konomie Das hei t das Design ist so ange legt dass m glichst gut verst ndliche Systeme entstehen Nun gibt es einen seltsamen Doppelbezug Einerseits soll h ufig das informatische System tats chlich ein Modell eines Realit tsausschnitts sein In diesen F llen ist die Grundlage des Entwurfs ein Fachkonzept das sich mit der Realit t z B die Verwaltungsabl ufe in einer Bibliothek besch ftigt und sie analysiert In dies
45. 110 zeigt Screenshots aus Animationen die das Durchlaufen der Liste dargestellt als Beh lter mit drei F chern durch Zuweisungen modelliert Die Modelle unterscheiden sich im Grad der Naivit t mit der Materialbewegungen auf die Darstellung von Zuweisungen angewendet werden 1 Im naiven Modell pq_list a2 _6 werden keine Kopien angefertigt und beim berschreiben eines Va riableninhalts der vorige Inhalt nicht gel scht Aus dem Listenbeh lter persons werden Karten ent nommen und in Beh lter die mit n und a etikettiert sind gesteckt Das aktuelle Element befindet sich immer vorne und ist somit eindeutig erkennbar Ein solcher Ablauf kann mit realen Gegenst nden leicht nachgespielt werden 2 Im zweiten Modell pq_list a2 _2 werden Elemente aus dem Listenbeh lter herausgenommen und bewegen sich in die Beh lter n und a nachdem der vorige Inhalt mit einem Blitz verschwindet 3 Das dritte Modell pq_list a2 _4 gibt Zuweisungen am realistischsten wieder ist aber am weitesten von der physischen Situation entfernt Hier werden Kopien der Items aus der Liste angefertigt und in die Beh lter n und a bewegt deren voriger Inhalt zerst rt wird Abb 110 Screenshots aus Animationen der PVS Applikation Python Quiz List 1 Naive Bewegung 2 Bewegung ohne Kopien 3 Bewegung von Kopien Tab 48 zeigt die Ergebnisse der Beurteilung von 68 Sch lerinnen und Sch lern 12 w 56 m Durchschnittsalter 17 15 Jahre Die Mehrheit akzep
46. 2 2 Sukzessive Zuweisungen ohne Vernichtung Eine Fehlvorstellung bei der Interpretation von sukzessiven Zuweisungen ist die Annahme dass die vorherigen Werte erhalten bleiben und sozusagen die Geschichte der Variable aufgezeichnet wird Diese Vorstellung entspricht der Art und Weise wie Menschen neue Information aufnehmen Als aktueller Wert wird dann die neuste Information bernommen und die alten in den Hintergrund gedr ngt Man erf hrt wer der der neue Bundeskanzler ist und speichert den Namen unter der Rubrik Bundeskanzler ab vergisst aber nicht die Namen der vorigen Amtsinhaber Es ist fraglich ob man dieses Zuweisungskonzept unbedingt als fehlerhaft einstufen muss Denn auch wenn vergangene Wer te zu sehen sind ist doch der aktuelle neuste Wert erkennbar Sajaniemis Visualisierungsvorschlag f r Stepper Streifen mit Werten von denen einer als aktuell markiert ist bezieht auch vergangene und zuk nftige Werte ein Sajaniemi 2002 Aufgabe 2 des Python Quiz Modeling assignments enth lt Filme mit den drei oben genannten Grundmodellen f r Variablen die sukzessive Zuweisungen ohne Vernichtung des vorigen Wertes visualisieren Zuweisungen f hren zu Akkumulation von Datenentit ten Beim Notizzettelmodell Abb 47 links werden Werte untereinander geschrieben Der untere Schriftzug ist der aktuelle Wert Im Beh ltermodell wird das neue Datum vor das zuletzt aktuelle gesteckt Abb 47 Mitte Beim Zei germode
47. 2 4 1 Prinzipien der Beispielbildung 2 4 2 Prototypische Beispiele 2 4 3 Repr sentation durch eine Beispielkollektion 2 4 4 Beispiel basiertes Probleml sen 2 5 Strukturorientierte und ablauforientierte Repr sentationen 2 6 Modellreprdsentationen im Unterricht Verwendung intuitiver Modelle 3 1 Verstehen 3 1 1 Verstehen aus Sicht der Hermeneutik 3 1 2 Verstehen durch intuitive Modelle 3 2 Erkl ren 3 2 1 Fokussierung 3 2 2 Mehrperspektivit t Viele Modelle f r eine Sache 3 3 Probleml sen 3 3 1 Antizipatorische Intuitionen 3 3 2 Ansatz und Verfeinerung 3 3 3 Paradigmatische Modelle und Software Entwicklung 3 3 4 Entwurfsmuster Design Patterns 3 3 9 Use Cases intuitive Modelle f r Funktionalit t 3 3 6 Intuitive Modelle im agilen Programmieren The Planning Game 3 4 Kontrollmodelle 3 4 1 Zusicherungen Empirische Erforschung intuitiver Modelle 4 1 Forschungsansdtze und methodische Probleme 4 2 Visualisierungstibungen 4 3 Die Python Visual Sandbox 4 3 1 Die PVS als Spiel 4 3 2 Lernen mit der PVS 4 3 3 berblick ber den technischen Aufbau der Python Visual Sandbox 4 4 Python Visual 4 5 Python Puzzle 4 5 1 Dokumentation einer Session 4 5 2 Auswertung der Python Puzzle Sessions 4 5 3 Verwendung von Tipps 4 6 Python Puzzle assert 4 7 Python Quiz 4 7 1 Bewertung der Antworten 4 7 2 Dokumentation einer Session 4 7 3 Schlussfolgerungen zur Intuitivitat von Modellen 4 8 Workshops mit der PVS 4 9
48. 204 32 Tabelle model 204 33 Tabelle protocol_pv 205 34 Tabelle description_pv 206 35 Tabelle protocol_pv_person 206 36 Tabelle description_pp 206 37 Tabelle protocol_pp 206 38 Tabelle protocol_pp_task 207 39 Tabelle protocol_pp_model 207 40 Tabelle description_pq 208 41 Tabelle description_pq 208 42 Tabelle protocol_pq 208 43 Tabelle protocol_pq model 209 44 Rekursive Logo Prozedur mit einer korrekten und zwei falschen Bildschirmausgaben beim Aufrufvon pattern3 LEGO 312 45 Ergebnisse von ersten Sessions zweier Python Visuals 314 46 Beurteilung eines Zuweisungsmodells mit totaler Vernichtung der Variablen 315 47 Wahl verschiedener Modelle zur Veranschaulichung der Arbeitsweise einer rekursiven Funktion Fakult t 320 48 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen im Rahmen einer Iteration 321 Tab 49 Beurteilung von Modellen zur Veranschaulichung von Iterationen durch Namenbewegungen 322 167 168 Abk rzungsverzeichnis ACM DL GI ICOS IFIP IVLA JOOP LNI OOP PPIG p Prim PVS SIGCSE SIGPLAN UML Association for Computing Machinery Dynamisches Labyrinth Gesellschaft fiir Informatik International Federation for Information Processing International Visual Literacy Association Journal of Object Oriented Programming Lecture Notes in Informatics Objektorientierte Programmierung ph nomenologisches Primitiv diSessa Python Visual Sandbox Special Interest Group Computer Scienc
49. 47 zeigt das Ergebnis der Sessions von 31 Teilnehmern verschiedener Workshops mit der PVS Die Angaben zur ersten und letzten Frage unterscheiden sich signifikant von einer Gleichvertei lung Chi Quadrat Test p 0 02 bzw p 0 04 12 der 31 Teilnehmer gaben an dass sie die Anima tion mit einer vollst ndigen sukzessiven Termumformung verwenden w rden um jemandem die Ar beitsweise des Programms zu erkl ren Nur sechs hielten dieses Modell am f r am schwierigsten nachvollziehbar n 31 Execution frames Execution frames Rechenprotokoll Rechenprotokoll vollst ndig unvollst ndig vollst ndig unvollst ndig Erkl ren 12 5 12 2 Idee der Rekursion 10 7 11 3 Schwierig nachvoll ziehbar 2 11 6 12 Tab 47 Wahl verschiedener Modelle zur Veranschaulichung der Arbeitsweise einer rekursiven Funktion Fakult t Er gebnisse von 31 ersten Sessions in Workshops mit der PVS Teilnehmer 28 Schiiler und 3 Studenten aus Deutschland 6 weiblich und 25 m nnlich sie besch ftigten sich im Schnitt 2 26 Stunden pro Woche mit Programmierung und hatten ein Durchschnittsalter von 17 65 Jahren 320 5 7 Datenbewegung bei Iterationen Die PVS Applikation Python Quiz List enth lt einige Animationen in denen folgende Programm zeile Python aus einer Iteration visualisiert wird for n a in persons Dabei ist persons eine Liste von Tupeln der Form Name Alter die eine Personengruppe modelliert Abb
50. 6 6 Implizite Verwendung des Prototypkonzepts bei der Entwicklung einer Klasse Auch auf der Ebene des Programmierens im Kleinen kann die Entwicklung einer Klasse mit ei ner objektorientierten Programmiersprache nahezu v llig prototyporientiert sein Anf nger die in der Syntax und Semantik einer Programmiersprache noch unsicher sind folgen h ufig einer experimentel len Strategie die dem Test Driven Development TDD des Extreme Programming Beck 2003 h nelt Mit Python das diese Vorgehensweise unterst tzt geht das folgenderma en Als Beispiel neh men wir an dass eine Sch lerin namens Sandra die Klasse Geld aus dem vorigen Abschnitt entwickeln m chte Als erstes schreibt sie ein Skript mit einer kleinen berschaubaren Klassendefinition und einigen Programmzeilen zum Testen class Geld wechselkurs USD 0 84998 GBP 1 39480 EUR 1 0 JPY 0 007168 def init self waehrung betrag self waehrung waehrung self betrag float betrag 325 Testen if name main i 1 g Geld USD 100 2 print g print g waehrung Die Bedingung name main _ 1 ist dann erf llt wenn die Datei direkt gestar tet wird Nur in diesem Fall werden die Anweisungen im einger ckten Block ab 2 ausgef hrt Wenn die Klasse die sp ter Teil eines gr eren Projektes sein kann von einem anderen Modul aus importiert wird ist die Bedingung nicht erf llt und die
51. 75 Average watch time standard deviation 11 33 seconds 8 61 Number and percentage of players who declared that the model is appropriate good judgements 19 players 90 48 percent Average confidence in good judgement standard deviation 7 89 3 46 Number and percentage of players who declared that the model is not appropriate bad judgements 2 players 9 52 percent Average confidence in bad judgement standard deviation 2 50 3 54 296 Task 3 Judging Model pq_objects_a3_1 Associated program bottle empty Description Visualization of the message bottle empty by an oval moving to a bottle which pours out its content Time 5 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 8 57 2 80 Average watch time standard deviation 5 67 seconds 3 97 Number and percentage of players who declared that the model is appropriate good judgements 17 players 80 95 percent Average confidence in good judgement standard deviation 8 53 2 94 Number and percentage of players who declared that the model is not appropriate bad judgements 4 players 19 05 percent Average confidence in bad judgement standard deviation 8 75 2 50 Judging Model pq_ obj
52. 78 seconds 12 60 This model was evaluated in 18 first subjective sessions The following table shows the results Question votes percentage would you use to explain 8 44 44 do you remember best 7 38 89 when you imagine the use of a regular expression 9 50 00 213 Model 2 Description Visualizes the effect of a regular expression by a machine which generates matching strings Duration 12 seconds Concreteness 0 percent Average watchtime standard deviation 22 61 seconds 14 65 This model was evaluated in 18 first subjective sessions The following table shows the results Question votes percentage would you use to explain 1 5 56 do you remember best 3 16 67 when you imagine the use of a regular expression 2 11 11 Model 3 Description Crane that selects maching string applying key lock principle Duration 21 seconds Concreteness 0 percent Average watchtime standard deviation 23 39 seconds 9 20 This model was evaluated in 18 first subjective sessions The following table shows the results Question votes percentage would you use to explain 9 50 00 do you remember best 8 44 44 when you imagine the use of a regular expression 7 38 89 214 Straight selection Some general information about the players ofthis category who played the game at least once Professi
53. 8 8 2 Box mit Seitent r Um die eben erw hnten Probleme zu l sen kann das geschlossene Box Modell um eine Seiten t r erweitert werden ber die die Maschinerie der Funktion mit ihrer Umgebung Kontakt hat Sie stellt neben Ein und Ausgang einen weiteren Kommunikationskanal dar Wenn eine Funktion eine andere Funktion aufruft so kann man dies so darstellen ber die Seitent r wandert ein Objekt das Argument des Funktionsaufrufs nach drau en in den Eingang der aufgerufenen Funktion Sie liefert ber ihren Ausgang ein Ergebnis das durch den Seiteneingang in das Innere der ersten Funktion gelangt und dort in die weitere Rechnung einbezogen wird Abb 39 links Boxen mit Seitent ren werden in er PVS als Veranschaulichung einer rekursiven Funktion zur Berechnung von Fibonacci Zahlen verwendet siehe Abschnitt 8 9 8 8 3 Direkter Zugriff auf externe Objekte Seiteneffekte und die Verwendung globaler Variablen kann man durch die Metapher eines Mani pulators darstellen der Objekte ver ndern kann die sich au erhalb der Funktionsbox befinden Da mit ist die Systemgrenze sehr durchl ssig Kooperierende Akteure die auf ihre Umgebung Einfluss nehmen kann man beobachten wenn eine Gruppe von Menschen gemeinsam eine handwerkliche Aufgabe mit verteilten Rollen l st Betrachten wir als Beispiel die Situation nach einem Essen Je mand r umt das Geschirr vom Tisch eine andere Person sp lt eine dritte r umt ab
54. B von einer Zeichenkette aus Whitespaces Leerzeichen Tabulatorzeichen etc unterschieden werden Beobachtungen mit der PVS zeigen dass Sch lerinnen und Sch ler Probleme mit der Beurteilung von Visualisierungen leerer Objekte haben Abb 28 zeigt einige passende und unpassende Modelle f r die leere Liste mit L nge 0 Das erste Modell ist bei Anwendung der sonst in der PVS verwende ten Bildersprache eine Liste mit einem leeren Element z B leerer String und damit unpassend eine leere Liste enth lt kein einziges Element Das zweite Modell beschreibt die Python Liste None None None None None also eine Liste der L nge 5 mit f nf leeren Objekten und ist damit ebenfalls ungeeignet Das dritte Bild kann als Beh lter mit null F chern interpretiert werden und ist passend Das vierte Bild stellt einen Zeiger dar der ins Leere auf ein unbestimmtes Nichts zeigt ist somit weniger spezifisch verst t aber nicht wie die ersten beiden Modelle gegen Merkmale einer leeren Liste a f L 7 L m M Abb 28 Geeignete und ungeeignete intuitive Modelle zur Darstellung einer leeren Liste Tab 7 gibt die Einsch tzungen von 68 Sch lerinnen und Sch lern wieder Die Beurteilungen pas sender und unpassender Modelle unterscheiden sich kaum 74 n 68 Als passend beur Konfidenz Als unpassend Konfidenz teilt von Stdabw beurteilt von Stdabw Beh lter mit leerem Zettel 41 60 61 40 27 40 68 42 Beh
55. Bezug des Variablennamens zum vorigen Wert Abb 46 rechts Monday today xj fe lt s Kr a 3 C Abb 46 Darstellung von Zuweisungen mit unterschiedlichen Vernichtungsmodellen Tab 15 zeigt dass alle f nf Varianten von der Mehrheit der beobachteten Sch lerinnen und Sch ler spontan als g ltige Modelle f r sukzessive Zuweisungen gewertet werden Allerdings wird das erste Modell bei dem der vorige Wert als ung ltig markiert wird signifikant seltener als korrekt er kannt als die beiden letzten Modelle exakter Fisher Test p 0 03 bzw p 0 004 106 n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw 1 Als ung ltig markieren 8s 8 12 102 66 2 91 7 23 4 pq_assign_a2_5 6 71 2 Ausradieren des vorigen Inhalts 10s 9 28 s 111 72 1 94 6 15 6 pq_assign_a2_6 6 22 s 3 Wegsprengen des vorigen Inhalts 7s 10 14 s 117 76 0 89 3 25 3 pq_assign_a2_3 11 01 4 Verlust des vorigen Inhalts 78 9 45 s 120 77 9 91 2 24 0 pq_assign_a2_2 12 45 5 L sen eines Bezuges 6s 7 778 125 81 2 93 6 17 9 pq_assign_a2_9 5 88 Tab 15 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 10
56. Daten Unter Daten verstehen wir Information die so repr sentiert ist dass sie vom Computer verarbeitet werden kann Aus Sicht der OOP kann man ein Datum als Zustand eines Objektes verstehen der durch die Belegung der Attribute gegeben ist Wir verwenden den Begriff Wert synonym f r Datum Singular von Daten 7 1 Ansicht versus Literal Daten werden in Programmtexten durch Literale dargestellt F r die Bildung von Literalen gibt es Syntaxregeln in der Grammatik der Programmiersprache Man kann zwischen der Ansicht eines Wer tes und seiner Beschreibung durch ein Literal unterscheiden Beide Begriffe beziehen sich auf die Repr sentation eines Wertes Im Unterschied zum Literal ist die Ansicht eines Wertes unabh ngig von der Programmiersprache Ansichten sind Teil unserer Vorstellungswelt Sie zeigen Daten wie sie von uns wahrgenommen und verstanden werden Sie repr sentieren die Bedeutung eines Literals Sie sind somit kein informationstechnisches sondern ein psychologisches und kulturelles Ph nomen Bei Zahlen ist h ufig die Unterscheidung zwischen Literal und Ansicht schwierig Mit 1 kann man sowohl ein abstraktes mathematisches Objekt Ansicht als auch ein Literal zur Repr sentation dieser Zahl meinen Gleichwohl kann die Zahl 1 Ansicht auch durch andere Literale dargestellt werden in Python z B 01 0x1 1 0 In der Interpretation von Programmtexten durch intuitive Modelle verwendet man Ansichten von Daten an Stelle der Literale
57. Datenbesitzes werden im Befindlichkeitsmodell Zust nde mit aus sagekr ftigen Namen versehen Ein Prozess kann sich z B in den Zust nden aktiv oder wartend befinden F r ein Objekt das ein Bankkonto modelliert gibt es aber keinen eigenen Namen f r den Zustand der sich ergibt wenn der Besitzer Monika Gabel hei t und sich 1200 EUR auf dem Konto befinden Holland et al 1997 haben beobachtet dass Studenten h ufig glauben dass Objekte nur ein einziges Attribut besitzen d rfen Sie f hren dies auf blo es Nichtwissen zur ck und empfehlen einf hrende Beispiele mit mehreren Attributen Die Ursache f r diese Tendenz k nnte aber auch im holistischen Zustandskonzept liegen Wenn man von einem zustandsorientierten Modell f r das Verhalten einer Entit t ausgeht ist es nahe liegender die m glichen Zust nde in einem einzigen Attribut zu speichern Eine verfeinerte weiter gehende Modellierung impliziert dass man die Gestalt des Zustandes auf bricht und die Struktur des zu modellierenden Originals analysiert Teilaspekte seiner Beschaffenheit m ssen identifiziert und durch Attribute repr sentiert werden 121 12 2 Instanzierung von Objekten Produktion oder Auswahl Intuitive Modelle zur Instanzierung von Objekten korrespondieren mit Vorstellungen ber Klassen Vor dem Hintergrund der Ausf hrungen in Kapitel 11 kann man zwei grunds tzliche Instanzierungs modelle unterscheiden e Herstellung eines neuen Objektes
58. Description The nested message vase fill bottle empty is visualized by two messages going to the bottle and the vase The bottle pours its content into the vase Time 7 seconds Concreteness 100 percent of names are used in the model 303 Total number of first judgements 21 Average bet points 0 to 10 representing the player s standard deviation confidence 7 14 4 35 Average watch time standard deviation 8 00 seconds 6 96 Number and percentage of players who declared that the model is 9 players 42 86 percent appropriate good judgements Average confidence in good judgement standard deviation 8 89 2 20 Number and percentage of players who declared that the model is 12 players 57 14 percent not appropriate bad judgements Average confidence in bad judgement standard deviation 5 83 5 15 Judging Model pg_ objects _a5_1 Associated program vase fill bottle empty Description Nested message vase fill bottle empty is visualized by an empty message to bottle and a fill message from bottle to vase Time 7 seconds Concreteness 50 percent of names are used in the model Y Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 19 4 72 Average watch time standard deviation 9 86 seconds 9 25 Number and percentage of players who
59. Details in Anhang 1 9 Das Befragungsergeb nis Abb 5 l sst vermuten dass Visualisierungen wie in der Python Visual Sandbox im Informatikun terricht an deutschen Schulen eine eher geringe Rolle spielen Lediglich UML Klassendiagramme Zeiger Wertetabellen und K stchen in die der momentane Wert einer Variablen eingetragen wird werden im Mittel gelegentlich entspricht dem numerischen Wert 2 oder h ufiger verwendet Zustands bergangsdiagramme Flussdiagramme Nassi Schneidermann UML Interaktionsdiagramme UML Objektdiagramme UML Klassendiagramme Haftzettel zur Benennung Bewegliche Zettel f r Botschaften Bewegliche Zettel f r Daten Aktive Entit ten Box mit Ein und Ausgang f r Zeiger Liste als Beh lter mit F chern Wertetabellen K stchen mit variablem Inhalt Beh lter mit Etikett 0 00 050 100 150 200 250 3 00 3 50 Abb 5 Ergebnis einer Umfrage zur H ufigkeit der Verwendung von Visualisierungen im Informatikunterricht n 20 Dargestellt werden die Mittelwerte der numerisch codierten Antworten 0 nie 1 selten 2 gelegentlich 3 h ufig 4 immer wenn es passt Weitere Details im Anhang 1 9 31 32 3 Verwendung intuitiver Modelle Welche Rolle spielen intuitive Modelle bei Softwareentwicklungen im Klassenraum Zu welchen Zwecken werden sie verwendet In diesem Kapitel legen wir das Augenmerk auf Verstehen Erkl ren Probleml sen und Kontrollieren Verstehen findet z B statt wenn ein Sch ler in
60. Dieser Auszug aus der automatisch erstellten Auswertung beschr nkt sich auf die ersten nicht vor zeitig abgebrochenen subjektiven Sitzungen von Sch lerinnen und Sch lern die an einem Workshop teilgenommen haben Wenn es Sch ler gab die ein Quiz drei Mal oder h ufiger durchgef hrt haben wurde eine bersicht ber die Ergebnisse der ersten drei nicht abgebrochenen Sitzungen generiert Modeling a group using a list of tuples This game contains 5 tasks In each task the player has to judge several models whether or not they are appropriate to explain the execution of some program statement Task 1 result Task 2 for n a in persons Task 3 a gt age Task 4 result append n Task 5 olderThan group 19 241 The following table provides some general information about the usage of this game pq list Number of objective sessions not taking into account that there are sometimes two players working together 106 sessions Number of subjective sessions taking into account that there are sometimes two players working together 116 sessions Number of subjective uncanceled sessions taking into account that there are sometimes two players working together 77 sessions Number of subjective first uncanceled sessions taking into account that there are sometimes two players working together and some people play this game several times 68 sessions Number of perso
61. Entit ten des Fallbeispiels und wendet das bekannte L sungsmuster an Betrachten wir eine typische Textaufgabe mit L sung aus einem Mathematikbuch nach Chiu 2001 Ein Zug f hrt 300 Kilometer nach K ln Er f hrt mit 150 Stundenkilometern Wie lange braucht er bis er K ln erreicht L sung 300 km 150 km h 2 Stunden Durch Beispiel basiertes Probleml sen kann man leicht Aufgaben wie die folgende l sen Anna f hrt mit 60 Stundenkilometern Wie lange braucht sie um das Haus ihrer Tante zu erreichen das 180 km entfernt ist Hier braucht man nur in der Musterl sung andere Zahlen f r Geschwindigkeit und Entfernung ein setzen und kann damit das neue Problem l sen Dabei ist nicht einmal ein wirkliches Verst ndnis der Begriffe Entfernung und Geschwindigkeit erforderlich Die passenden Zahlen k nnen durch eine ober fl chliche Analyse des Aufgabentextes ermittelt werden Hinter der ersten Zahl muss das Wort Kilo meter oder km stehen hinter der zweiten die Zeichenkette km h Probleml sung durch oberfl ch liches Nachmachen bei dem man sich nur an u eren Merkmalen der Repr sentation orientiert ohne das dahinter liegende Konzept zu verstehen kann schnell zu Fehlern f hren wie Anderson am Bei spiel mathematischer Beweise zeigt Anderson 1996 S 242 f 2 5 Strukturorientierte und ablauforientierte Repr sentationen In einer strukturorientierten Repr sentation eines intuitiven Modells werden Enti
62. Grundproblem derartiger Laborexperimente ist aber dass die Motivation der Teilnehmer unklar bleibt Die L sung eines algorithmischen Problems ist eine anspruchsvolle kogniti ve Leistung die eine gewisse Anstrengung erfordert Auf der anderen Seite ist es leicht aus einer Auswahlliste nach dem Zufallsprinzip eine m gliche Antwort anzukreuzen wenn man keine Lust hat sich ernsthaft mit der Aufgabe auseinanderzusetzen Bei freien Programmieraufgaben konnte beobach tet werden dass die Versuchsteilnehmer die urspr ngliche Aufgabe umformuliert vereinfacht haben und in der Versuchssituation ein Programm entwickelten das nur einen Teil der geforderten Funktio nalit t besa z B Spohrer et al 1989 Eine L sung des Motivationsproblems ist die Erhebungen in regul re Tests des normalen Unter richts zu integrieren z B Fothe 2005 Da die Sch lerinnen und Sch ler gute Noten erhalten wollen sind sie motiviert ihr Bestes zu geben Die Schwierigkeiten bei diesem Ansatz liegen darin dass eine enge Kooperation mit Lehrerinnen und Lehrern erforderlich ist und der Test inhaltlich und methodisch curricularen Vorgaben entsprechen muss Eine zweite Erhebungsmethode sind Beobachtungen und Interviews bei denen die Teilnehmer laut denkend ihre berlegungen w hrend eines Probleml sungsprozesses mitteilen z B Chiu 1996 2000 2001 Ein Problem ist jedoch dass intuitive Konzepte unbewusst sein k nnen oder es den Ver suchsteilnehmern an spra
63. Iteration wie im letzten Beispiel von einer vorgegebenen Sequenz losgel st wird kann der Iterator selbst eine Reihenfolge unter dem Gesichtspunkt optimaler Rechenzeit wahlen Die Python Liste ist ein sehr kostenintensiver Datentyp Sie ist keine lineare Liste im blichen Sinne sondern erlaubt di rekten Zugriff auf einzelne Elemente ber ihren Index Diese M glichkeit wird bei Iterationen nicht genutzt und muss aber dennoch mit Performanzverlusten bezahlt werden Fraglich ist ob die Verwendung des Iterators an Stelle einer Liste mit einem Verlust an Anschu lichkeit bzw Intuitivit t verbunden ist Eine Python Liste kann man sich z B als lange Kiste mit vie len F chern vorstellen Jedes Fach ist mit dem Index des dort enthaltenen Elementes beschriftet Ein Container Objekt mit Iterator ohne offenkundige Reihenfolge der Elemente kann man nicht so ohne weiteres visualisieren Man m sste ja die enthaltenen Elemente in irgendeiner Weise darstellen ohne dass die Darstellung eine bestimmte Reihenfolge suggeriert Nun ist es nat rlich legitim als Modell eine listen hnliche Darstellung zu verwenden Nur muss man sich dann im Klaren sein dass die Rei henfolge der Elemente der Modell Liste kein Merkmal des modellierten Original Konzeptes ist 2 4 Kontrolle 2 4 1 Intuitive Modelle und Testen Inwiefern werden beim Testen eines Programms intuitive Modelle ber dessen Arbeitsweise ver wendet Wir beschr nken unsere berlegungen a
64. Jun Jul Aug Sep Okt Nov Dez Abb 69 Ansicht des Kalenderblattes nach Spezifikation wie im Beispiel aus Abb 68 Probiert man das Beispiel aus und betrachtet die Wirkung auf das Kalenderblatt Monats bersicht wird die Bedeutung offensichtlich Das Beispiel hat den Charakter eines Prototyps Die Abstraktion zu einer allgemeing ltigen Anleitung kann vom Leser vorgenommen werden Sie lautet in diesem Fall etwa folgenderma en Die erste Zahl vor dem Unterstrich repr sentiert den Tag des Monats Die anschlie ende Zeichen kette bis zum Komma ist der Text der in der Monats bersicht Kalenderblatt erscheint und der dann folgende Text wird in einer Box sichtbar wenn man mit der Maus den Cursor auf das Feld im Kalen derblatt bewegt Dieser Text ist erheblich komplexer und vermutlich schlechter zu behalten als das prototypische Beispiel Eine besondere Rolle spielen Beispiele in der Tabellenkalkulation Nehmen wir an wir haben eine Kalkulationstabelle mit drei Spalten Die ersten beiden Spalten enthalten irgendwelche Zahlen Die dritte Spalte soll in jeder Zeile die Summe der der beiden links daneben stehenden Zahlen enthalten 176 Dazu gibt ein ge bter Anwender der Tabellenkalkulation in die oberste Zelle der Summenspalte eine Formel ein in diesem Fall in Zelle C2 die Formel A2 B2 Diese Formel kopiert sie oder er anschlieBend in die anderen Zellen der Summenspalte In der Kal kulationstabelle erscheint jeweils das Ergeb
65. Kasten mit einem Greifarm dar Diese Entit t ist eigenaktiv und nimmt mit dem Greifarm zun chst eine Kopie aller Zettel aus der Liste group heraus und stopft sie in ihr Inne res In gleicher Weise verleibt sie sich einen Zettel mit der Altersangabe 19 ein Schlie lich zieht der Greifarm aus dem Inneren des Kastens das Ergebnis zwei Zettel mit Namen heraus In der zweiten Animation pq_list_a5_4 wird die Funktion durch einen Kasten mit beweglichen Sen soren visualisiert Die Sensoren nehmen mit der Liste und einem Zettel der die Altersangabe 19 tr gt Kontakt auf Danach kommen unten aus dem Funktionsobjekt zwei Zettel mit Namen heraus Hier wird ein Eventmodell Blitz f r den Funktionsaufruf verwendet Aus dem Kasten der die Liste darstellt steigen Kopien der enthaltenen Zettel heraus Sie treffen auf einen Zettel mit der Altersangabe 19 mit einem Blitz verschwinden diese Zettel und es erscheinen stattdessen zwei neue Papierst cke mit den Namen der gesuchten Personen Die Animation stellt die Funktion olderThan durch ein Ein Ausgang Modell umgedrehter Py ramidenstumpf dar In das Funktionsmodell fliegen Kopien aller Zettel aus der Liste und ein Zettel mit der Altersangabe 19 Unten kommt das Ergebnis heraus zwei Zettel mit Personennamen Datenfluss Abb 36 Modelle mit unterschiedlichen Eingabemechanismen zur Visualisierung eines Funktionsaufrufs Tab 9 zeigt die Bewertungen dieser Modelle passend unpassend von 68 Sch l
66. Konfidenz Eine Intuition wird vom Subjekt als sicher zutreffend akzeptiert Gewissheit und Selbstevidenz sind nicht das gleiche Man kann berzeugt sein dass z B ein mathematischer Satz wie der Satz des Pytha 19 goras richtig ist obwohl er nicht selbstevident ist sondern eines Beweises bedarf Andererseits gibt es empirisch nachgewiesene F lle in denen befragte Personen eine Aussage als selbstevident einsch t zen sich aber bez glich der Korrektheit dieser Einsch tzung unsicher sind Fischbein 1987 Selbst evident hei t lediglich dass man keine Beweismittel f r erforderlich oder gar vorstellbar h lt mit denen die Richtigkeit der Behauptung nachgewiesen kann Der Begriff Gewissheit oder Konfidenz bezieht sich vor allem auf die affektive Komponente einer Intuition Mit Gewissheit ist die Bereit schaft verbunden pers nliche Nachteile in Kauf zu nehmen falls die betreffende Aussage sich uner wartet als falsch erweist Dementsprechend kann Gewissheit z B dadurch gemessen werden dass Probanden sich bereit erkl ren Geld zu zahlen falls sie sich irren Fischbein 1987 S 46 Fischhoff et al 1977 S 559 560 Intuitionen sind h ufig tr gerisch Nicht selten vertrauen wir einer Intuition die sich sp ter als falsch erweist Fischbein nennt dieses Ph nomen bervertrauen overconfidence Bemerkenswert ist dass Menschen vor allem auf Gebieten in denen sie sich nicht auskennen zu bervertrauen neigen Gewisshei
67. L3 Dabei ist L3 weniger komplex und hat einen st rkeren definitorischen Charakter Beispiel L6 weist aller dings die gleiche H ufigkeit auf wie sein abstraktes Pendant L5 Die auff llige Dominanz des letzten Beispiels L Bb all kann eventuell damit zusam menh ngen dass die Animationen s u genau dieses Beispiel aufgegriffen haben 2 2 2 Beispiele ausprobieren Streben nach Gewissheit Bei der Programmierung mit Python werden regul re Ausdr cke als erstes Argument in einem Aufruf der Funktion findall verwendet um einen Text zu analysieren der als zweites Argument bergeben wird Der Aufruf findall re text liefert eine Liste mit nicht berlappenden Teilst cken der Zeichenkette text die auf den regul ren Ausdruck re passen Das Material zum Fra gebogen enthielt vier Beispiele f r Funktionsaufrufe zusammen mit dem Ergebnis das die Funktion findall liefert und 11 Beispiele ohne das Ergebnis Au erdem gab es noch zwei kurze interakti ve Programme in denen eine Benutzereingabe mit Hilfe von findall ausgewertet wurde 2 2 3 Beispiele f r die Verwendung regul rer Ausdr cke Vollst ndige Beispiele f r Funktionsaufrufe Fl gt gt gt findall u Hallo 189 F2 gt gt gt findall ab Aber abends habe ich Hunger rab ab F3 gt gt gt findall G as Ein Glas liegt im Gras Glas Gras F4 gt gt gt findall Bb w Bring mir bitt ine Birne Bring
68. Menschen sich mit der Informatik zu besch ftigen Je mehr Wissen jemand in seiner Entwicklung erwirbt desto neugieriger wird er Oerter Montada 1995 S 769 Motivierender Unterricht kn pft deshalb an vorhandenes intuitives Wissen an und schafft so Zug nge zu neuem Wissen Als Medien materialisierte intuitive Modelle anschauliche und leicht verst ndliche Abbilder schwieriger informatischer Konzepte werden in Schulb chern Museen Zeitschriften und Fernseh sendungen verbreitet Sie sind damit Aush ngeschilder die das Bild der Informatik in der Offent lichkeit pr gen Eine Aufgabe der Fachdidaktik ist es solche Vermittlungsmodelle zu schaffen um einem breiten Publikum den Zugang zur Informatik zu erm glichen Zu den konkreten Zielen in dieser Richtung geh rt den Katalog identifizierter geeigneter und ungeeigneter intuitiver Modelle zu er weitern zu verfeinern auf komplexere Themen auszudehnen und neue Medien und dazu passende Unterrichtsformen zu entwickeln in denen diese Modelle elaboriert werden 149 150 Literatur Andrianoff Steven K Levine David B 2002 Role playing in an object oriented world In ACM SIGCSE Bulletin 2002 S 121 125 Aharoni Dan 2000 Cogito Ergo Sum Cognitive Processes of Students Dealing with Data Struc tures In ACM SIGCSE Bulletin S 26 30 Albert J rgen Ottmann Thomas 1983 Automaten Sprachen und Maschinen f r Anwender Mann heim Wien Z rich BI A
69. Modelle auf die Denkstufe konkreter Operationen begibt Nach diSessa ist dies ist kein negativ zu bewertender R ckfall sondern etwas v llig normales wenn man sich auf noch unvertrautem Wissenterrain bewegt Die hier skizzierten kognitiven Prozesse des intuitiven Modellierens haben letztlich als Ziel das Verst ndnis des Programmtextes zu verbessern Insofern sind sie sinnvoll und haben sich zumindest in der Biographie der Personen bei denen man diese Prozesse beobachten kann bew hrt Gleichwohl k nnen sie zu Fehlvorstellungen f hren bzw ihre Ergebnisse lassen sich als Fehlvorstellungen inter pretieren Damit sind sie aber noch keine bug generators die man generell ausmerzen muss Es sind normale kognitive Vorg nge die beim Versuch die Welt zu verstehen ihren Stellenwert haben 13 1 Identifizierung von Entit ten Bei der intellektuellen Auseinandersetzung mit Programmtexten streben Menschen nach gedankli chen Einheiten die sie beherrschen k nnen Sie suchen nach vertrauten Entit ten in einem zun chst undurchschaubaren Ganzen die im Hinblick auf die Gesamtidee des Systems wichtige Rollen spielen So wird man beispielsweise bei der Analyse eines iterativen Algorithmus vielleicht folgende Entit ten identifizieren e Ein Container z B eine Liste mit mehreren Elementen e Das aktuelle Element das w hrend eines Durchlaufs der Iteration verarbeitet werden soll e Eine Funktion die das aktuelle Element verarbeitet
70. Name Dann startet die Funktion f und erzeugt ein Objekt dem schlie lich der Name x zugewiesen wird Der auf sein Objekt wartende Name ist eigentlich berfl ssig Er wurde hinzu erfunden um die R ckgabe des Objektes zu verdeutlichen Er veranschaulicht dass der aufru fende Prozess darauf wartet dass die Funktion ein Objekt zur ckgibt f r das dieser Name vorgesehen ist Die Interpretation von Zuweisungen als Eingabe die bei Anf ngern gelegentlich beobachtet wird kann als berst lpen des EVA Prinzips also Hinzuf gen zus tzlicher Struktur verstanden werden eine Sch lervisualisierung als Beispiel findet sich in Anhang 7 2 Manchmal ist es f r das Verst ndnis der Semantik einer Anweisung sinnvoll wenn man in die Tie fe der Programmiersprache dringt und implizite technische Aspekte die mit der Ausf hrung der An weisung zusammenh ngen expliziert Hierzu einige Beispiele Viele Programmiersprachen verwenden implizites Casting bei Operationen mit Objekten unter schiedlicher Typen Die Ausf hrung der Operation 1 2 3 kann man sich z B so vorstellen dass zuerst das Objekt 1 vom Typ integer in ein Objekt vom Typ float umgewandelt wird bevor die Multiplikation ausgef hrt wird Bei Python kann man Iterationen ber Container Objekte z B Listen Mengen oder Dictionaries der Form for i in container Anweisungsfolge besser verstehen wenn man sich klar macht dass bei der Ausf hrung hinter den Kulissen
71. Natur wissenschaften 11 2005 S 165 174 Kessler Claudius M Anderson John R 1989 Learning Flow of Control Recursive and Iterative Procedures In Soloway amp Spohrer 1989 S 229 260 Knuth Eric J Stephens Ana C McNeil Nicole M Alibali Martha W 2006 Does Understanding the Equal Sign Matter Evidence from Solving Equations In Journal for Research in Mathemat ics Education 37 4 S 297 312 Kurland D Midian Pea Roy D 1985 Children s mental models of recursive Logo programs In Journal of Educational Computing Research Vol 1 2 1985 S 235 243 Lakoff G 1987 Women fire and dangerous things what categories reveal about the mind Univer sity of Chicago Press Lakoff George Nunez Rafael E 1997 The Metaphorical Structure of Mathematics Sketching Out Cognitive Foundations for a Mind Based Mathematics In English Lyn D Hrsg Mathematical Reasoning Analogies Metaphors and Images Mahwah New Jersey London Lawrence Erlbaum Associates Publishers S 21 92 Lehotska Daniela 2006 Visual fractions in teacher training In Deryn Watson amp David Benzie Hrsg IFIP WG 3 1 3 3 amp 3 5 Joint Conference Alesund Norwegen 2006 Proceedings Lakoff G Johnson M 1980 The metaphors we live by Chicago The University of Chicago Press Levy Dalit Lapidot Tami 2000 Recursively Speaking Analyzing Students Discourse of Recur sive Phenomena In Proceedings of the ACM SIGC
72. P anna 22 Tin 21 Sarah 17 print getNames p result append name We model a group of persons using a list of lists results Example persons Anna 22 Tim 21 Sarah 19 f i g Define a couple of functions which process this kind of list ets Use the hints for all in persons Have a lot of fun Michael Weigend 401 o Head of a function definition u The name of thies function is f It has got one argument named persons ee ait e i result append person jen a Length of list s number of elements for person in persons result append person 0 result append person 1 Empty string which doesn t contain any character Result of your test run s First element of lst 5 4 rum p Anna 22 Tim 21 Sarah 17 eine qeset Your script does not work properly Empty isk with no ciamenis Try again Append object to list list ar Concatenate the strings The result is TimAnna Visit each element p of the list persons and execute the statements In the indented block after the colon LL o If condition is true execute the statements in the indented block after the colon Return object x and abort the execution of the function at once ra Abb 97 Feedback zu einem Testlauf des Programms links und Kurzreferenz zur den vorkommenden Python Sprachelementen erscheint nach Klick auf Semantics 3 6 2 Dokumentation einer Session mit XML
73. Persistenz Intuitionen halten ein Leben lang Nach Auffassung von Fischbein und diSessa kann man sich nicht von ihnen befreien Sie sind Teil der Pers nlichkeit Dagegen wird Verstehen im Verlauf des hermeneutischen Zyklus immer aufs Neue gepr ft und gegebenenfalls revidiert Das betrifft das Menschenbild der Hermeneutik Es ist Teil der Offenheit und Freiheit des Menschen sein Verst ndnis von den Dingen weiterentwickeln zu k nnen Man kann diesen Widerspruch zwischen Dauerhaftigkeit und Wandelb arbeit l sen indem man folgendes annimmt Einmal erworbene Intuitionen bleiben als solche erhalten aber der Umgang mit ihnen die Art und Weise wie man sie bei der Interpretation fachlicher Texte anwendet oder dem Verstehen abstrakter Konzepte verwendet kann sich ndern 3 1 2 Verstehen durch intuitive Modelle F r den Verstehensprozess sind intuitive Modelle in mehrerer Hinsicht von Bedeutung Manchmal werden neue intuitive Modelle zur Repr sentation des im Text dargestellten Konzeptes geschaffen Neu kann zweierlei bedeuten Der Leser erfindet selbst ein Modell oder aber er w hlt ein gegebenes Modell als Repr sentanten f r das abstrakte Konzept Das Modell wird aber erst zur Intuition wenn es vom Subjekt als gewiss richtig akzeptiert wird Dies ist kann ein relativ langwieriger Prozess sein der mit Erfahrungen zu tun hat Solche Erfahrungen k nnen das Ergebnis von Experimenten sein z B Ausprobieren von Programm Stat
74. Python Visual Iteration Am Ende der Sitzung wurden folgende Fragen gestellt e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funk tioniert e An welche Animation k nnen Sie sich am besten erinnern e An welche Animation denken Sie wenn Sie sich die Ausf hrung des Skriptes vorstellen Tab 14 zeigt die Verteilung der Antworten von 66 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben Die Angaben zu den Fragen unterscheiden sich s mtlich signifikant von einer Gleichverteilung y Test p 0 00033 p 0 00013 p 0 00012 Nach diesen Ergebnissen wurde das Entnahmemodell in Konkurrenz zu den anderen Modellen berwiegend abgelehnt ob wohl es das einfachste ist Der Grund liegt vermutlich darin dass es im Gegensatz zur Semantik des Programms die Iterationssequenz Liste ver ndert Bevorzugt werden die beiden letzten Modelle wandernde Markierung und Abhaken mit unterschiedlichem Schwerpunkt hinsichtlich der Verwen dung Erkl ren Memorieren in Gedanken nachspielen n 66 Entnahme von Kein Iterator Wandernde Mar Abhaken bereits Karten aus einem Entnahme von kierung verwendeter Ele Beh lter Kopien mente Erkl ren 6 9 13 20 30 45 17 26 Erinnern 8 12 8 12 20 30 30 45 In Gedanken vorstel 9 14 7 11 30 45 20 30 len Tab 14 Wahl verschiedener Modelle zur Veranschaulichung einer Itera
75. Rosch 1973 1975 vgl Anhang 6 4 ist ein Prototyp ein typisches Exemplar eine Kategorie In Anlehnung an dieses Konzept kann man eine Klasse durch ein typisches Objekt beschreiben dem alle Objekte dieser Klasse hneln Bei einer Instanzierung werden Abweichungen des neu geschaffe nen Objektes vom in der Klassendefinition festgelegten Standard spezifiziert Eine Klasse kann man sich auch als unfertiges Objekt als vereinfachte vorl ufige Version vor stellen dem bei der Instanzierung fehlende Teile hinzugef gt werden Beide Intuitionen k nnen auch gleichzeitig verwendet werden Nun gibt es spezielle Programmiersprachen bei denen das Prototyp Konzept expliziter Bestandteil des Programmierparadigmas ist Smith amp Ungar 1995 Taivalsaari 1992 1996 siehe auch Anhang 6 5 Aber auch wenn man in einem Projekt eine der etablierten objektorientierten und nicht prototyp orientierten Programmiersprachen wie Java oder Python verwendet kann das Prototyp Modell von Bedeutung sein Betrachten wir zun chst das Programmieren im Gro en Im Software Engineering ist Prototyping eine Methode der Software Entwicklung Sommerville 1997 S 167 ff Hier versteht man unter einem Prototyp eine Software die ein vereinfachtes Modell der Zielsoftware darstellt und schnell zu implementieren ist Entscheidend ist dass der Prototyp lauf f hige Software ist die evaluiert werden kann etwa um Schw chen oder L cken der Systemspezifika tion f
76. Stattdessen ist in Programmierprojekten je de Klassenstruktur das Ergebnis eines sozialen Einigungsprozesses consensus driven design Taivalsaar 1997 Zudem m ssen bei konkreter Software neben logischen Aspekten immer auch technische Gesichtspunkte einbezogen werden Eine konzeptionell besonders nat rlich erschei nende Struktur wird manchmal abgelehnt weil sie zu einem System mit geringer Laufzeit und Speicherplatzeffizienz f hrt Vor dem Hintergrund dieser Schw chen der klassischen OOP und der Erkenntnisse der kognitiven Prototyptheorien sind prototyporientierte Programmiersprachen entstanden z B Self Smith amp Ungar 1995 und Kevo Taivalsaari 1992 Sie verwenden keine Klassen von denen Instanzen gebildet wer den class less programming Stattdessen k nnen neue Objekte durch Klonen aus vorhandenen Ob jekten gebildet werden Bei Self k nnen Eigenschaften eines Prototypen beliebiges anderes Objekt geerbt werden indem man einem Objekt O eine Referenz zu einem Elternobjekt P zuordnet Wenn in einer Botschaft an O z B eine Methode vorkommt die in der Spezifikation von O nicht auftaucht sucht das System in den Spezifikationen von P und gegebenenfalls bei dessen Eltern weiter Ein Feature prototyporientierter Programmierung ist das Life Editing von Objekten Smith amp Ungar 1995 Das hei t bei einem Objekt k nnen zu seiner Lebenszeit Attribute und Methodendefini tionen ge ndert oder hinzugef gt werden
77. Suche nach einem Element mit Schl ssel k in einem sortierten Array 30 1 3 5 7 Abb 4 Entscheidungsbaum f r die bin re Suche Jeder Knoten repr sentiert eine Entscheidung f r die Weitersuche Die Suche beginnt in der Mitte des Arrays Wenn k kleiner ist als der Schl ssel des mittleren Elementes hier 4 sucht man links weiter Wenn k gr er ist sucht man rechts weiter sonst hat man das gesuchte Element bereits gefun den Ein Pfad von der Wurzel zu einem Blatt repr sentiert die Entscheidungen bei einer einzelnen Suche Der gesamte Baum repr sentiert alle denkbaren bin ren Suchprozesse Wenn eine ablaufori entierte Darstellung eine gut einpr gsame Gestalt hat wie der Entscheidungsbaum wird man dazu tendieren sie zur Repr sentation der algorithmischen Idee zu verwenden In einer Probleml sungssi tuation muss man jedoch aus dem ablauforientierten Modell ein strukturorientiertes Modell konstruie ren und letztlich zu einem Programmtext verfeinern Typische Beispiele f r ablauforientierte Repr sentationen sind auch Figuren die durch rekursive Logo Programme entstehen siehe Anhang 2 7 2 6 Modellreprasentationen im Unterricht Modellrepr sentationen k nnen auf vielfache Weise im Unterricht verwendet werden Begleitend zu den Workshops mit der PVS wurden 20 Lehrerinnen und Lehrer befragt welche Formen der Visua lisierung sie im Unterricht verwenden Fragebogen und
78. Systematisierung intuitiver Modelle der Informatik Akteurmodelle 5 1 Daten als Akteure Datenfl sse 5 2 Namen als Akteure 5 3 Funktionen 5 4 Allm chtige Steuerungsentit t monoaktive Systeme 5 5 Objekte Benennung von Entit ten 6 1 Beh ltermodell und Referenzierungsmodell 6 2 Erscheinungsmodelle 6 3 Wem gehort ein Name Zeiger versus Etiketten 6 4 Vermischung von Namensmodellen 6 5 Namen als Bezeichnungen f r Rollentr ger 6 6 Implizite Namen 6 7 Indirekte Namen 6 7 1 Funktionsaufrufe und mathematische Terme 6 7 2 Benennung durch Literale 6 8 Assoziationen 6 9 Benennung als Unterordnung Daten 7 1 Ansicht versus Literal 7 2 Verwechseln von Wert Datum und Literal 7 3 Figiirliche Ansichten 7 4 Nichts 7 5 Platzhalter f r variable Teile in Dokumenten 7 6 Daten als Entit ten oder Zust nde von Objekten Funktionen 8 1 Funktion als Box mit Ein und Ausgang f r Daten 8 2 Dateneingabe ber Sensoren 8 3 bergabe von Referenzen bei der Eingabe 82 8 4 Ursprung der Eingabespezifikation 82 8 5 Vergleich von Eingabemechanismen 82 8 6 bergabe von Referenzen bei der Ausgabe 84 87 Ausgabe als Signal 86 8 8 Durchl ssigkeit der Systemgrenze 87 8 8 1 Geschlossene Box 87 8 8 2 Box mit Seitentiir 87 8 8 3 Direkter Zugriff auf externe Objekte 87 8 8 4 Vergleich von offenen und geschlossenen Funktionsmodellen 88 8 9 Dynamische und statische Funktionsmodelle 89 8 10 Ausl semechanismen 91 9 Kontr
79. Tab 8 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben Ein Problem des Zustand Modells f r Daten ist dass bei einer Zuweisung der Form b a der Bezug zwischen den beiden Variablen a und b nicht so einfach abgebildet werden kann Beim Entit t 76 Modell linke Animation in Abb 30 entsteht eine Kopie des Inhalts von a die zu b wandert Dagegen wird bei den beiden Animationen die ein Zustand Modell verwenden der Zustand von b auf 3 ein gestellt ohne dass expliziert wird woher dieser Wert stammt Abb 30 Zuweisung b a als Manipulation des Zustandes von Objekt b durch Objekt a Abb 30 zeigt eine M glichkeit diesen Datentransport von a nach b mit dem Zustand Modell wiederzugeben In dieser Animation manipuliert Objekt a mit Hilfe eines Greifarms den Zustand von b D h die Zuweisungb a wird als Auftrag an Objekt a interpretiert seinen eigenen Zustand auf Objekt b zu bertragen 108 70 1 der 154 beobachteten Sch lerinnen und Sch ler hielten dieses Modell f r geeignet 77 78 8 Funktionen Funktionen erm glichen die strukturelle Zerlegung eines komplexen Problems in weniger komple xe Probleme und realisieren damit eine fundamentale Idee der Informatik Schwill 1993 In der Ma thematik definiert man eine Funktion als eine eindeutige Zuor
80. Taste bet tigt von einem Menschen den wir nicht zum System z hlen l st die Fortsetzung des Programms aus e Die Funktion quadrat wird vom Programm aufgerufen verarbeitet den bergebenen Wert und sorgt daf r dass etwas auf dem Bildschirm ausgegeben wird Daneben gibt es in diesem Modell auch passive Elemente e Die eingegebene Zahl e Das Rechenergebnis der Funktion Es sei darauf hingewiesen dass dieses Modell mit der technischen Realit t wenig zu tun hat Aus technischer Perspektive gibt es eine klare Hierarchie von Akteuren Das Betriebssystem ruft den Inter preter auf und startet damit einen Prozess Der Interpreter f hrt das Programm aus und ist damit Ak teur Bei der Abarbeitung werden Betriebssystem Befehle aufgerufen damit wird das Betriebssystem wieder Akteur das Betriebsystem startet wiederum Mikroprogramme des Prozessors damit wird die ser aktiv 5 1 Daten als Akteure Datenfl sse In vielen intuitiven Modellen der PVS die die Arbeitsweise eines Programms darstellen werden Daten durch fliegende Zettel dargestellt die sich selbstst ndig ihren Weg durch das System suchen Ein solcher Zettel kann spontan entstehen z B als Folge einer Eingabe oder als Kopie eines bereits existierenden Zettels bewegt sich dann auf magische Weise zu einer Box die eine Funktion darstellt so als wisse er was nach dem Algorithmus als n chstes zu tun ist Im Unterschied etwa zu einer Funk tion oder eines Objektes im Sinne der OOP
81. Visual Multilists 48 Abb 11 Auszug aus der Evaluation der Antworten zum Python Visual Changing lists 49 Abb 12 Screenshots aus einem Python Puzzle 49 Abb 13 Zwei Screenshots aus dm Tipp des Python Puzzles Multilists 53 Abb 14 Screenshot aus einem Python Quiz 54 Abb 15 Ein Objekt als Akteur zur Veranschaulichung der Idee eines nicht objektorientierten Programms 59 Abb 16 Modelle f r Mehrfachnamen 62 Abb 17 Ungeeignetes visuelles Modell f r das Programm 62 Abb 18 Beh ltermodell f r die Ver nderung einer Liste mit zwei Namen Erscheinungsmodell 63 Abb 19 Modell einer Liste mit zwei Namen 63 Abb 20 Konsistentes Zeigermodell f r die Ver nderung einer Liste mit zwei Namen 63 Abb 21 Etikettenmodell 64 Abb 22 Zahl als aktive Entit t die ihre Namen kontrolliert 65 Abb 23 Modelle f r eine Iteration ber eine Liste von Paaren 65 Abb 24 Modelle f r die Sortierung einer Liste nach dem Algorithmus straight selection Screenshots 67 Abb 25 Illustration des 17 j hrigen Sch lers T Jahrgangsstufe 11 70 Abb 26 Illustration der 17 J hrigen Sch lerin J zur Visualisierung der Unterordnung eines Objektes unter einen Namen 71 Abb 27 Figuren als Platzhalter fiir Zahlen 74 Abb 28 Geeignete und ungeeignete intuitive Modelle zur Darstellung einer leeren Liste 74 Abb 29 Screenshots aus drei Animationen zur Visualisierung von Zuweisungen Entitat Modell Zustand Modelle 76 Abb 30 Zuweisung b a als Manipu
82. Wednesday 25 October 2006 12 18 47 You did 3 Python Quizes and 6 Python Puzzles Here are the highscores of these games Python Quiz Modeling a group using a list of tuples 1 420 points ir Be F Tuesday 31 January 2006 2 360 points markus DEU 16 38 18 MET 3 300 points TE DEU ek ven Aue 4 300 points honey123 DEU ee e ame F Thursday 05 January 2006 5 290 points MeanMetal CHN 07 17 40 MET 6 285 points asir DEU rete ene 2006 k a Thursday 05 January 2006 7 220 points Unseensurvivor CHN 07 13 34 MET 8 220 points vreni DEU ee Me aus 9 210 points austrian_angela AUT Beer une z 7 Thursday 26 January 2006 10 210 points Felix DEU 10 02 29 MET Abb 94 Auszug aus einem Highscore Bericht F r Python Visual Applikationen gibt es ein Auswertungswerkzeug das die Antworten der Teil nehmer einer Gruppe wiedergibt siehe Abb 95 Es ist nur dem Coach einer Gruppe zug nglich Der 210 Coach w hlt eine Gruppe und eine Applikation aus und fordert einen Evaluationsbericht an Dieser enth lt zu jedem Modell der Aufgabe einen Screenshot die zeitliche L nge und die durchschnittliche Betrachtungszeit Aus letzterer kann man schlie en wie ernsthaft sich die Spieler mit dem jeweiligen Modell auseinandergesetzt haben Au erdem werden die Fragen in Kurzform und zu jeder Frage der Anteil der Spieler die das jeweilige Modell zu dieser Frage ausgew hlt haben dargestellt In Workshops mit der PVS kann eine solche Evaluati
83. Zusatzqualifikation au er Staatsex amen und neun Personen ein Staatsexamen im Fach Informatik Eine Person war Autodidakt Die folgenden Abbildungen zeigen den Fragebogen Umfrage zu Visualisierungen im Informatikunterricht Alle personenbezogenen Angaben werden vertraulich behandelt und nicht an Dritte weitergegeben Das Ergebnis der Umfrage sende ich Ihnen im September 2006 zu Herzlichen Dank f rs Mitmachen Michael Weigend Zur Person Geschlecht Om nnlich O weiblich Informatik Ausbildung Welche Aussage trifft am ehesten auf Sie zu Ich habe alle Programmierkenntnisse autodidaktisch erworben und keinerlei organisierte Ausbildung oder Weiterbildung erfahren Ich habe einen oder mehrere Lehrg nge z B Lehrerweiterbildung Zertifikatskurse Kurse in einem Universit tsstudium zur Informatik absolviert aber keinen Hochschulabschluss Ich habe ein erstes Staatsexamen oder Erweiterungspr fung in Informatik abgelegt Seit wie vielen Jahren unterrichten Sie Informatik Seit f Jahren E Mail Adresse Zur Verwendung von Visualisierungen Wie h ufig verwenden Sie im Unterricht z B in Tafelbildern Arbeitsbl ttern gegenst ndlichen Lernhilfen Lehrbuchabbildungen Rollenspielen die nachfolgend aufgef hrten bildlichen Darstellungen 1 Beh lter mit Etikett zur Darstellung 7 von Variablen K sten Marmeladengl ser etc bisher noch nie bisher insgesamt ein oder zwei Mal
84. a nal E 5 ati oj Abb 42 Visualisierung der Ausf hrung einer Sequenz durch konkurrente Prozesse In einem Interview wurde sichergestellt dass die Sch lerin die Reihenfolge der Ereignisse sich ge nauso vorstellte wie sie in der Animation dargestellt hatte Offenbar gab es einige Abweichungen von der im Programmtext festgelegten Sequenzialit t Die beiden Zuweisungen beginnen gleichzeitig und unabh ngig voneinander obwohl sie laut Pro grammtext nacheinander geschehen m ssten Die Parallelisierung verk rzt die Ablaufzeit macht das Modell kompakter und verbessert den Gestaltcharakter Zur Darstellung der zweiten Zuweisung wird zuerst der Term in den Beh lter b bewegt und dann ausgewertet In einer exakten Schritt f r Schritt Interpretation des Programmtextes m sste aber zuerst der Term ausgewertet werden und dann das Ergebnis in den Beh lter gegeben 9 3 Bedingte Anweisungen In diesem Abschnitt diskutieren wir drei Arten intuitiver Modelle zur Repr sentation von bedingten Anweisungen if Anweisungen Verzweigung des Kontrollflusses oder Datenflusses und Ereignismo delle 9 3 1 Verzweigung des Kontrollflusses H ufig verwendet man die Begriffe Verzweigung oder Programmverzweigung als Synonyme f r bedingte Anweisungen Gemeint ist dann meist die Verzweigung des Kontrollflusses Es gibt einen Akteur Steuereinheit der eine Bedingung auswertet und in Abh ngigkeit von dem Ergebnis die Kon trolle an
85. a2 smallint Zus tzliches Attribut f r etwaige sp tere Verwendung a3 smallint Zus tzliches Attribut f r etwaige sp tere Verwendung Tab 32 Tabelle model 204 Regeln f r die Bestimmung der Komplexit t complexity Gez hlt werden alle Elemente des Modells die eine in sich zusammenh ngende Entit t darstellen Meist ist es ein einzelner Gegenstand z B Zettel oder Box manchmal auch mehrere Gegenst nde die irgendwie zusammengeh ren und sich nicht separat bewegen k nnen z B alle Zettel in einer Kis te wenn die Zettel sich nicht bewegen oder ver ndern oder Blitze wenn diese immer gleichzeitig auftreten In der Regel wird ein solches Element in einer eigenen Ebene im Flash Film dargestellt Programmtexte und das animierte Highlighting von Programmzeilen werden nicht zum Modell ge z hlt wenn sie sich au erhalb des Modellszenariums befinden Regeln f r die Bestimmung der Abstraktheit names Wir beschr nken uns auf Namen Literale die im Programmtext vorkommen Zahlen Zeichenket ten werden nicht gez hlt Sie sind oft nur exemplarisch Zu den Namen z hlen alle Namen f r Ob jekte Variablennamen Namen von Funktionen Operatoren Klassennamen alle vorkommenden Na men f r Listenelemente z B s i Letztere werden separat gez hlt D h wenn die Namen s und i schon gez hlt worden sind wird s i als weiterer Name gewertet Nicht gez hlt werden def Zuweisung return for if while
86. aber erkannt werden damit es nicht zu Fehlvorstellungen und Blockaden bei Probleml sungen kommt So ist es eine wich tige Einsicht f r Sch ler innen dass Computerprogramme in der Feinstruktur oft ganz anders funktio nieren als die anschauliche holistische Vorstellung einer Probleml sung die man im Kopf hat Da mit verbunden ist die Erkenntnis dass es f r ein und dieselbe antizipatorische Intuition unterschiedliche Implementierungen geben kann Das hei t man muss den Abstand sehen den ein abstraktes Modell zu m glichen Implementierungen hat Wenn man z B die Abstraktheit der L sungsidee f r Bubblesort Jedes Element pr ft ob der linke Nachbar kleiner ist und tauscht gegebe nenfalls mit ihm den Platz verkennt versucht man vielleicht die Elemente der Liste als konkurrent agierende Objekte zu implementieren und scheitert an dieser komplexen Aufgabe Am unteren Ende der Abstraktionsskala stehen subatomare Modelle die eine blo e logische Facet te einer Programmanweisung zum Ausdruck bringen Auch sie m ssen als solche erkannt werden Anderenfalls sucht man berfl ssigerweise nach Programmkonstrukten die gar nicht notwendig sind oder gar nicht existieren Wer nicht merkt dass bei einer Zuweisung im Beh ltermodell die Zerst rung des vorigen Inhaltes nur eine Bedeutungsfacette ist kommt vielleicht auf die Idee in einem Programm m sse vor einer neuen Zuweisung der Art x 2 zuerst eine spezielle L schoperation ausgef h
87. als Beispiel der Fetch execute Zyklus eines interaktiven Systems diskutiert Mit dem Schleifenkonzept ist die Vorstellung von Spr ngen der Kontrolle verbunden Beim Pro grammtext in einer blichen Programmiersprache C Java Pascal Python werden Anweisungen von oben nach unten ausgef hrt Nach der letzten Anweisung des wiederholten Blocks springt die Kon trolle wieder zur ersten Anweisung der wiederholten Sequenz Schleifen werden in der graphischen Programmiersprache f r Robotersteuerungen von Lego RoboLab www lego com verwendet Da hier der Kontrollfluss standardm ig immer von links nach rechts gerichtet ist werden zur Darstellung der Schleife Sprungmarken verwendet Mit Macromedia Flash werden komplexe Animationen als Aggregate von zyklisch ablaufenden Filmen Movie Clips konstruiert Jeder Film ist eine Folge von Bildern Frames die von links nach rechts durchlaufen werden Die Wiederholung wird durch einen Sprung vom letzten an das erste Bild realisiert 9 6 Rekursion Eine rekursive Funktion ist eine Funktion in deren Definition mindestens ein Aufruf derselben Funktion vorkommt Die Ausf hrung einer Funktion kann als Prozess beschrieben werden Beim Auf ruf wird ein Objekt Execution Frame angelegt in dem der aktuelle Zustand der Funktionsausf hrung gespeichert ist Bei jedem rekursiven Aufruf erzeugt das Laufzeitsystem einen neuen Prozess mit neu em Execution Frame Der aufrufende Prozess wartet bis der rekursive
88. appropriate bad judgements 114 players 74 03 percent Average confidence in bad judgement standard 8 82 2 92 deviation First three judgements Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 68 3 72 8 62 2 99 8 90 2 85 Average watch time standard deviation 8 73 seconds 5 45 seconds 4 44 seconds 6 87 2 15 2 54 Percentage of players who declared that the model 24 39 percent 24 39 percent 14 63 percent is appropriate good judgements Average confidence in good judgement standard 5 50 4 38 6 00 4 59 10 00 0 00 deviation Percentage of players who declared that the model is not appropriate bad judgements 75 61 percent 75 61 percent 85 37 percent Average confidence in bad judgement standard deviation 8 39 3 26 9 50 1 53 8 71 3 05 285 Judging Model pq assign a2 5 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a sheet with title Assignments are visualized through writing words on it after crossing out the former word Time 8 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 re
89. ausprobieren 3 3 5 Use Cases intuitive Modelle f r Funktionalit t Eine Software Entwicklung die dem objektorientierten Paradigma folgt beginnt mit einer objekt orientierten Analyse vgl z B Balzert 1999 W hrend dieser Phase werden zun chst Gesch ftspro zesse Use Cases festgelegt die Systemfunktionalit t beschreiben In einem Gesch ftsprozessdia gramm werden Akteure festgelegt denen bestimmte Gesch ftsprozesse zugeordnet werden Bei einem System zur Verwaltung einer Bibliothek sind typische Akteure 40 Leser Er kann typischerweise im Bestand der Bibliothek nach B chern suchen feststellen ob sie ausgeliehen sind etc Sachbearbeiter der Ausleihstelle Er kann B cher als ausgeliehen oder zur ckgegeben vermerken Besch digungen dokumentieren etc Jeder Akteur ist ein intuitives Modell eines B ndels von zusammengeh rigen Aufgaben Allein die Gestalt eines Akteurs liefert eine ziemlich gute Vorstellung von den damit verbundenen Aufgaben Diese Akteur Intuitionen reichen bereits als Grundlage f r vollst ndige Erfassung aller vom System zu leistenden Aufgaben Das hei t Wenn man ein sinnvolles System zueinander passender Akteure ge funden hat besitzt man bereits einen berblick ber die gesamte Funktionalit t des geplanten Pro gramms 3 3 6 Intuitive Modelle im agilen Programmieren The Planning Game Bei Software Entwicklungen arbeiten h ufig Personen mit unterschiedlichem technischem Hinter grundwisse
90. bei der Probleml sung helfen Das zusammengebaute Programm kann getestet werden Erst wenn das Pro gramm fehlerfrei l uft und die korrekte Ausgabe liefert kommt man zur n chsten Aufgabe def getNames persons Modeling with lists Hae sel result for person in pers appi ons result append person 0 result append person 1 p L Anna 22 Tim 21 Sarah 17 print getNanes p result append name We model a group of persons using a list of lists Example persons Anna 22 Tim 21 Sarah 19 Define a couple of functions which process this kind of list Use the hints Have a lot of fun Michael Weigend Abb 12 Screenshots aus einem Python Puzzle Links die Seite mit der Problemstellung kann immer wieder hervorgeholt werden rechts die Editorseite 49 Es gibt eine gewisse Anzahl von Aufgaben die innerhalb einer fest vorgegebenen Zeit bearbeitet werden m ssen F r jede Aufgabe gibt es je nach Schwierigkeitsgrad eine gewisse Punktzahl Ziel ist es m glichst viele Punkte zu sammeln Wer alle Aufgaben gel st hat bekommt Bonuspunkte zuge schlagen die aus der Anzahl der verbleibenden Sekunden berechnet werden Bei den meisten Aufga ben soll eine Funktion definiert und getestet werden Abb 12 zeigt zwei Screenshots aus dem Python Puzzle Modeling a group Darin wird eine Gruppe von Personen durch eine Liste modelliert deren Elemente Listen aus Name und Alter sind p
91. das Verstehen konkreter Programmtexte Untersuchungen auf diesem Gebiet gehen von der Annahme aus dass der Leser mentale Modelle zum Programmtext konstruiert Aschwander amp Crosby 2006 von Mayrhauser amp Vans 1994 Storey et al 1997 Dabei k nnen unter schiedliche Vorgehensweisen beobachtet werden Bei einer bottom up Strategie geht der Leser vom Programmtext aus und fasst mehrere Programmzeilen zu abstrakteren Konzepten zusammen d h in unserer Redeweise bildet er sie durch passende intuitive Modelle ab Oder aber er hat bereits be stimmte intuitive Vorstellungen wie das Programm funktionieren k nnte und versucht sie beim Lesen des Programmtextes zu verifizieren top down 3 2 Erkl ren Erkl ren hat viel mit Verstehen zu tun Man kann anderen Leuten nur etwas erkl ren das man selbst verstanden hat Erkl ren hei t das eigene Verst ndnis die eigene Interpretation eines Sachver haltes anderen Menschen mitzuteilen So verraten Erkl rungen auch etwas ber das Verst ndnis des Erkl renden Im Unterschied zum Verstehen spielt beim Erkl ren das Problem der Vermittlung eine Rolle Damit ist verbunden dass man sich auf einen Adressaten und dessen Wissenshorizont einstellt Zwar findet auch jedes Verstehen im Miteinander in einer gemeinsamen Welt statt Capurro 1989 S 100 ff aber die Zielrichtung des Verstehens ist gewisserma en egoistisch n mlich die Erweite rung des eigenen Horizontes Die Modelle die dem Ver
92. dass die Nutzer Spieler interne mentale Modelle wieder erkennen die sie vielleicht selbst mangels Visualisierungskompetenz nicht explizieren k nnen Es gibt drei Typen von PVS Applikationen Zwei davon haben den Charak ter von wettkampfartigen Spielen bei denen man in Abh ngigkeit von der Leistung Punkte gewinnen kann Beim Python Puzzle setzen die Teilnehmer aus vorgefertigten Bausteinen Python Programme zusammen und testen sie Die Animationen dienen hier als Hilfe Bei Python Quiz beurteilen die Spie ler Animationen dahingehend ob sie die Arbeitsweise eines vorgegebenen Programmst cks richtig wiedergeben Beim dritten Typ Python Visual spielt der Aspekt der Leistung keine Rolle Zu ver schiedenen animierten Modellen die einen Programmlauf veranschaulichen sollen werden einfach nur drei Fragen gestellt Punkte gibt es hier allein f r die Teilnahme Eine PVS Applikation kann von einer oder zwei Personen gleichzeitig benutzt werden Damit wird den Arbeitsbedingungen in einer typischen Schule Rechnung getragen wo h ufig zwei Sch ler sich einen Rechner teilen m ssen Zu Beginn einer Sitzung loggen sich die Teilnehmer mit einem Passwort ein das sie zuvor bei der Registrierung spezifiziert haben In Abh ngigkeit von den Passw rtern wird die Sprache f r Textelemente Deutsch oder Englisch gew hlt Das System registriert wichtige Akti vit ten w hrend der Sitzung und speichert das Sitzungsprotokoll in einer Datenbank ab D
93. declared that the model is appropriate good judgements 14 players 66 67 percent Average confidence in good judgement standard deviation 7 14 4 26 Number and percentage of players who declared that the model is not appropriate bad judgements 7 players 33 33 percent Average confidence in bad judgement standard deviation 4 29 5 35 304 Judging Model pq_ objects a5 7 Associated program vase fill bottle empty Description The message vase fill bottle empty is represented by a message that can send messages itself Time 9 seconds Concreteness 50 percent of names are used in the model First Judgements lt 4 Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 86 3 73 Average watch time standard deviation 10 10 seconds 13 73 Number and percentage of players who declared that the model is appropriate good judgements 15 players 71 43 percent Average confidence in good judgement standard deviation 8 00 3 68 Number and percentage of players who declared that the model is not appropriate bad judgements 6 players 28 57 percent Average confidence in bad judgement standard deviation 7 50 4 18 Judging Model pg_ objects a5 6 Associated program vase fill bottle empty amp Description The
94. der Regel auch Diskussion mit Parallelspielern erkennen ein Viertel der Vielspieler auch im dritten Durchgang nicht was an dem Modell nicht stimmt Das wirft ein ge wisses Licht auf das Modell Variablen sind Beh lter f r Daten als solches In diesem Zusammen hang scheint es zu falschen Vorstellungen zu verf hren Der Fehler der Kettenbildung wird dagegen im Etikettmodell leichter erkannt und in sp teren Spieldurchg ngen vermieden Zum Schluss dieses Abschnitts vergleichen wir noch verschiedene Zeigermodelle zur Darstellung von Zuweisungen Abb 53 Zeiger sind wie Etiketten bewegliche Namen f r Objekte besitzen aller dings in ihrem Ursprung breiteres Ende einen ruhenden Punkt Bei Zeigerbewegungen bleibt also der Ursprung mit der Bezeichnung des Namens hier a und b ortsfest und die Spitze wandert unter gleichzeitiger Verformung des Pfeils zur benannten Entitat 1 Das erste Modell ist ein inverses Zeigermodell Der Ablauf ist folgender Zun chst entsteht ein Zeiger aus der Karte mit der 3 der sich zum Namensschild a hin entwickelt danach w chst ein zweiter Zeiger zum Namensschild b Die Animation bringt damit die Vorstellung zum Ausdruck dass die Ak tivit t bei der Namenszuordnung vom benannten Objekt ausgeht D h das Objekt 3 sucht ber den Pfeil der aus ihm herausw chst selbst die Verbindung zu seinen Namen Es handelt sich eigentlich nicht um eine Namenbewegung eher hnelt es einer Datenbewegung
95. der mit den anderen Prozessen kom muniziert Es m ssten relativ komplexe Protokolle erarbeitet und obendrein beachtet werden dass das System nicht in Deadlocks oder Endloswiederholungen ger t Die intuitive L sungsidee ist also zu mindest f r Anf nger f r eine direkte Umsetzung ungeeignet Die Kunst liegt darin das zu erkennen und entweder nach einem v llig neuen Ansatz zu suchen oder aber die L sungsgestalt als abstraktes das hei t von einer Implementierung weit entferntes Modell zu begreifen die nur auf nicht naheliegende Weise implementiert werden kann siehe Abschnitt 15 2 14 5 Fehlvorstellungen Fehlvorstellungen ber die Bedeutung von Programmtext sind das f nfte und letzte in diesem Ab schnitt betrachtete Hindernis auf dem Weg vom intuitiven Modell zum Programmtext Eine Fehlvor stellung kann man in diesem Zusammenhang als falsche Verbindung zwischen einer intuitiven Vor stellung und einem Programmkonstrukt betrachten Verschiedene Mechanismen machen Fehlvorstellungen zur Barriere Erstens k nnen sie zu heimt ckischen semantischen Fehlern im Programmtext f hren da sie nicht durch Inspektion zu finden sind Fehlersuche durch Inspektion setzt voraus dass man die Semantik der Programmiersprache vollst n dig beherrscht Logische Fehler die auf Fehlvorstellungen basieren k nnen nur durch systematisches Eingrenzen in Programmierexperimenten Tracing Testen Experimente mit vereinfachten Pro grammversionen etc g
96. die auf h ufig erlebten sensorischen Erfahrungen basieren Er nennt sie ph nomenologische Primitive oder kurz p Prims Sie sind Basismodelle bzw Primitive in dem Sinne dass sie die Grundlage f r Erkl rungen sind und selbst nicht weiter begr ndet werden Das bedeutet dass ein Modell M f r einen Menschen den Charakter eines p Prims verlieren kann wenn er noch einfachere grundlegendere Mo delle findet mit denen er M erkl ren kann Ein Beispiel ist das Konzept der Schwere Jeder Mensch erlebt bereits in jungen Jahren dass Ge genst nde schwer sind und verallgemeinert diese h ufig gemachte Beobachtung z einem selbstver st ndlichen Merkmal der Welt Wenn jemand die Tatsache dass Dinge zu Boden fallen wenn man sie losl sst damit begr ndet dass sie schwer sind verwendet er oder sie das p Prim Schwere F r diese Person ist die Schwere von Gegenst nden ein unmittelbar akzeptiertes Ph nomen das selbst keiner weiteren Erkl rung bedarf Ein weiteres Merkmal von p Prims ist ihre universelle Verwendbarkeit in verschiedenen Lebensbe reichen Die Vorstellung von Widerstand der nur mit Anstrengung zu berwinden ist ein von diSessa h ufig erw hntes Beispiel wird sowohl zur Erkl rung elektrischer als auch mechanischer Ph nomene herangezogen Ohmsches Gesetz Reibung etc 1 6 Intuitive Modelle und Fehlvorstellungen In zahlreichen Untersuchungen sind Fehlvorstellungen misconceptions von Sch lern und Studen ten im Zus
97. e Schleife f r Iteration for oder while Anweisung e Botschaft f r Aufruf einer Methode eines Objektes e Inhalt f r Wert der einem Variablennamen zugewiesen ist Metonymien e Tabelle f r Relation in einer relationalen Datenbank e Zeile f r Tupel einer Relation in einer RDB Katachresen e zur ckgeben eine Funktion gibt das Ergebnis zur ck e Objekt e Anweisung Allegorien e Divide and conquer rekursiver Algorithmus bei dem ein Objekt aufgeteilt und rekursiv zun chst die Teile bearbeitet werden e Tiefensuche Algorithmus f r das Durchlaufen eines Baumes bei dem man zuerst in die Tiefe geht e Sweep Verfahren in der Algorithmischen Geometrie das von der Vorstellung eines Scheibenwi schers ausgeht der Regentropfen von der Windschutzscheibe wegwischt Vergleiche e Instanzen einer Klasse sind wie H user die nach dem gleichen Bauplan gebaut worden sind 1 5 Mikrowelten als einheitliche Dom nen f r konzeptionelle Meta phern Vorstellungswelten k nnen detailliert gestaltet und z B als multimediale Software oder mechani sches Spielzeug implementiert werden Man spricht dann von Mikrowelten microworlds Mikrowel ten sind explorative Lernumgebungen Schulmeister 2002 Es sind k nstliche Welten mit sehr einfa chen Regeln in denen die Benutzer sich frei bewegen und eigenaktiv vom Designer P dagogen verstecktes Wissen entdecken k nnen Das wohl bekannteste und historisch erste Beispiel e
98. eine Bedingung pr ft und einen Wahrheitswert ausgibt Testfunktion Diese Ausgabe wird als Ereig nis interpretiert das bestimmte Aktionen ausl st Das ist ein Unterschied etwa zur Vorstellung dass eine Funktion einen Wert zur ckgibt Die Ausgabe der Testfunktion ist ein Signal d h die Daten boolesche Werte werden nicht einem bestimmten Akteur zugef hrt sondern sind allgemein sichtbar Der Begriff Signal betont den Kommunikationsaspekt eines Ereignisses d h durch Signale werden Ereignisse mitgeteilt Man beachte dass das eigentliche Ereignis das Zutreffen einer logischen Aussa ge ist z B a lt b die aus der Funktionalit t der Testfunktion und ihrem Ergebnis zusammengesetzt ist Zum Beispiel ergibt sich das Ereignis a lt b wenn eine Testfunktion die pr ft ob a gt b zu trifft den Wert False signalisiert Die zweite Komponente des Ereignismodells sind dementspre chend Akteure die ihre Umgebung beobachten Ereignisse dargestellt durch Signale wahrnehmen und dann darauf reagieren Die Idee der Signale ist sehr alt In China wurden etwa 800 v Chr in der Westlichen Zhou Zeit Jahren so genannte Fengsui T rme gebaut feng Feuer sui Rauch von denen aus durch Feuer und Rauchsignale im Falle drohender Gefahr die Armee alarmiert wurde Im modernen Alltag kennt man in verschiedenen Zusammenh ngen Steuerung durch Signale wie etwa Ampeln an Kreuzungen Schiedsrichterpfiffe auf dem Fu ballplatz oder die Rhythmisierung eines Sch
99. eine Dom ne in der man sinnvolle zielgerichtete Aktivit ten ausf hren kann So erlaubt die Turtle Welt Aktionen die innerhalb dieser Welt Sinn machen aber die es in der Realwelt im Grunde nicht gibt Gehe 10 Schritte nach vorne Drehe dich um 90 nach rechts Setze einen Stift auf den Untergrund Gehe 20 Schritte nach vorne ist ein Bewegungsablauf der in keinem realen Kontext ausgef hrt wird Innerhalb der Turtle Welt ist das jedoch eine sinnvolle zielgerichtete Aktion die eine bestimmte antizipierbare Wirkung hat Diese M glichkeit des zielgerichteten Handelns ginge verloren wenn man bei Bewegungsspuren an Schildkr ten im Sand bei Schritten an eine Wanderung und bei Drehbewegungen an einen Wasser hahn denken w rde Beobachtungen haben gezeigt dass die Logik der Turtle nicht intuitiv ist sondern von den Kindern erst gelernt und ge bt werden muss Clements amp Samara 1997 Zum Beispiel wird die Anweisung drehe nach rechts mit gehe nach rechts verwechselt Manchmal vollziehen die Kinder einzelne Bewegungsabl ufe mit dem eigenen K rper nach um sie sich besser vorstellen zu k nnen Die Turtle ist selbst im Wesentlichen keine Metapher Erst durch die Aktivit ten in der Logo Mikrowelt entstehen die konzeptionellen Metaphern im Sinne Lakoffs die den Lerneffekt bringen Im Falle der Turtle Grafik sind das vor allem Konzepte der Geometrie der Ebene vgl z B Clements und Samara 1997 Wenn ein Kind eine Folge von Logo A
100. einem selbst geschriebenen Programm 3 2 1 Fokussierung Ein typisches Merkmal von Erkl rungen ist dass sie von einem komplexen zu erkl renden Gegen stand einzelne Aspekte herausgreifen und durch unmittelbar einleuchtende intuitive Modelle verst nd lich machen Dabei treten andere Aspekte des Gegenstandes die freilich f r ein Gesamtverst ndnis ebenso wichtig sind in den Hintergrund Sie werden ignoriert oder eventuell sogar falsch dargestellt Wir nennen diese Facette des Erkl rens Fokussierung 35 Modelle k nnen sich im Fokussierungsgrad unterscheiden Stark fokussierte Modelle werden im Kontext einer Erkl rung eher in Form eines Distanz wahrenden Vergleiches und nicht als Metapher verwendet Zur Verdeutlichung des Geheimnisprinzips in der OOP werden Objekte manchmal mit einer Festung verglichen Im Inneren befinden sich wie ein Schatz die Attribute Au en liegen sch t zend wie eine Burgmauer die Methoden die den Zugriff von au en kontrollieren siehe Balzert 1999 S 18 Ein solches Modell veranschaulicht den Schutzaspektes den eine Methode haben kann ist aber f r die Erkl rung anderer Aspekte des Objektkonzeptes g nzlich ungeeignet Fokussieren ist eine Form der Vereinfachung Ein intuitives mentales Modell muss einfach sein um in gedanklichen Prozessen leicht verarbeitet werden zu k nnen Vereinfachung geht immer auf Kosten von Wirklichkeitsn he Von mehreren verf gbaren intuitiven Modellen w hlen wir in
101. einen Testlauf zul sst Nach einem Testlauf gibt es folgende M glichkeiten einer R ckmeldung e Alle Zusicherungen sind logisch richtig In diesem Fall gibt es f r jede Zusicherung 5 Pluspunkte e Mindestens eine Zusicherung ist logisch fehlerhaft Dann gibt es 10 Minuspunkte Logisch fehler haft hei t dass die Zusicherung einen AssertionError ausl st obwohl das Programm korrekt ist e Mindestens eine Zusicherung hat einen Fehler ausgel st der kein AssertionError ist z B falsche Einr ckung Dann gibt es 5 Minuspunkte und einen zus tzlichen Testlauf Generell wurde versucht die Punktevergabe so zu gestalten dass es sich einerseits lohnt m glichst viele Zusicherungen zu verwenden man aber andererseits logisch falsche Zusicherungen meiden m chte Die Kommunikation mit dem Server und die Dokumentation der Sessions sind genauso wie bei den anderen Python Puzzles 4 7 Python Quiz Python Quiz ist ein System mit dem Zuordnungen von visuellen Modellen zu Programmtexten be obachtet werden k nnen Bei jeder Aufgabe ist ein kleines St ck eines Programms eine oder zwei Zeilen optisch hervorgehoben Dazu werden nacheinander mehrere Modelle angeboten zuf llige Reihenfolge F r jedes Modell entscheidet der Spieler ob es die Arbeitsweise des Programmst cks 53 richtig wiedergibt oder nicht Dabei kann sie oder er 0 5 oder 10 Punkte setzen Liegt der Spieler rich tig erh lt er oder sie die gesetzte Punktzahl als Plus
102. good judgements Average confidence in good judgement standard 9 48 1 55 9 14 2 26 9 84 0 88 deviation Percentage of players who declared that the model 29 27 percent 14 63 percent 21 95 percent is not appropriate bad judgements Average confidence in bad judgement standard 4 58 4 50 5 00 5 00 4 44 5 27 deviation 287 Judging Model pq_assign_a2_7 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a sheet An assignment is visualized through writing a word on it after complete destruc tion of the former sheet Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 05 3 15 confidence standard deviation Average watch time standard deviation 11 79 seconds 10 68 Number and percentage of players who declared that 96 players 62 34 percent the model is appropriate good judgements Average confidence in good judgement standard 8 44 2 93 deviation Number and percentage of players who declared that 58 players 37 66 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 7 41 3 41 deviation First three judgements Total number of persons who played this game at 41 leas
103. hat eine solche Daten Entit t prim r mit sich selbst zu tun z B den richtigen Weg finden und nur in wenigen F llen Einfluss auf seine Umgebung Einer dieser F lle ist dass das Datum eine Funktion aktivieren kann sobald es ihren Eingang passiert 57 In Datenflussdiagrammen im Sinne des funktionalen Programmierparadigmas Hubwieser 2004 S 93 Sommerville 1997 S 275 ff bewegen sich Daten auf festen Bahnen von Funktionsblock zu Funk tionsblock Solche Darstellungen hneln Materialflusssystemen die eine chemische Fabrik modellie ren Im Grund ist hier der entscheidende Akteur das Transportsystem Das Datenflussmodell mit fes ten Wegen Transportsystem ist konzeptuelles Herzst ck einer Reihe von visuellen Programmiersprachen bzw Entwicklungsumgebungen wie VIPER Sanner et al 2002 LabView www labview com DRLP Anjaneyulu amp Anderson 1992 oder Alligator Mosconi et al 2003 Das Problem dieser Sprachen ist dass sie eine vollst ndig deterministische Definition eines Programms erm glichen Deshalb m ssen sie z B auch Steuerungselemente bereitstellen mit denen man Pro grammverzweigungen darstellen kann Modelle mit Daten Entit ten als Akteuren die selbst ihren Weg finden k nnen von dem Problem der Steuerung abstrahieren und sind deshalb einfacher Datenbewegungen werden gelegentlich bei spielerischen Aktivit ten ohne Computer zur Erarbei tung eines Algorithmus verwendet Beispielsweise beim Sortieren von Spielkarten
104. ihr ein negatives Gewicht zuschrieb Wie das Beispiel zeigt kann Exhaurie rung zu einer Komplizierung des Erkl rungsmodells f hren Bei der intuitiven Modellierung von Programmtexten werden Verfahren angewendet die der Ex haustion entsprechen Ein Beispiel ist die Exhaurierung des Beh ltermodells das Zuweisungen der Form a bals Kopieren von Daten interpretiert Wenn man dieses Modell auf nderbare Objekte z B Python Listen anwendet so steht man vor folgendem Problem Eine nderung des Objektes in Beh lter a wirkt sich gleichzeitig auf das Objekt in Beh lter b aus Eine Exhaurierung kann nun darin bestehen dass man das Objekt in Beh lter a nicht als eigenst ndige Entit t sondern als Geist als zweite Erscheinung des Objektes in Beh lter b betrachtet Eine Ver nderung des Objektes in Beh lter b wird dann auch in seinem Geist sichtbar Eine Funktion kann man sich als geschlossene Maschine mit Ein und Ausgang vorstellen Die Ma schine nimmt ber den Eingang Daten auf verarbeitet sie und gibt ber den Ausgang das Ergebnis aus Probleme gibt es mit diesem Modell wenn die Funktion andere Funktionen aufruft Eine m gli che Exhaurierung ist die Annahme dass die Funktionsbox eine Seitent r besitzt ber die sie Daten an andere Funktionen senden und die Ergebnisse empfangen kann vgl Abschnitt 8 8 2 13 11 Konsistenzwahrung F r die Auswahl der Modelle eines Clusters zur Erkl rung eines Programmtextes kann deren Kon
105. in good judgement standard deviation 7 46 3 91 Number and percentage of players who declared that the model is not appropriate bad judgements 11 players 16 18 percent Average confidence in bad judgement standard deviation 7 73 4 10 Judging Model pq_list_a2_2 Associated program for n a in persons Description Visualization of an iteration using a container model for the list and the iteration variable The cards in the list container are removed Time 10 seconds Concreteness 100 percent of names are used in the model 251 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 7 72 3 81 Average watch time standard deviation Number and percentage of players who declared that the model is appropriate good judgements 8 81 seconds 6 22 40 players 58 82 percent Average confidence in good judgement standard deviation 7 50 3 92 Number and percentage of players who declared that the model is not appropriate bad judgements 28 players 41 18 percent Average confidence in bad judgement standard deviation 8 04 3 69 Judging Model pq_list_a2_1 Associated program for n a in persons Description Visualization of an iteration using a container model for the list and the iteration variable Copies of the cards in the li
106. in allen imperativen Programmiersprachen implizit in Iterationen tiber Sequen zen for Schleifen verwendet In C C oder Java Programmen gibt es Anweisungen der Art for i 0 i lt 5 i Anweisungsfolge Hier wird durch den Ausdruck i 0 i lt 5 i eine Folge von Werten definiert die die Laufvariable i nacheinander einnimmt In der Python Syntax wird eine solche Wiederholungsanwei sung folgenderma en formuliert For ase 0y I 25 3547 Anweisungsfolge oder for i in range 5 Anweisungsfolge Dabei liefert die Funktion range n eine Liste mit ganzen Zahlen zwischen 0 und einschlie lich Das Konzept des Iterators ist elementarer und abstrakter als das Konzept der Iteration ber eine Se quenz in einer Wiederholungsanweisung for Schleife Denn bei einer Sequenz ist die Reihenfolge der Elemente sichtbar beim Iterator nicht Hier wird von der Reihenfolge abstrahiert sie ist Sache des Iterators Nun st tzt sich das for Statement bei Python auf Iteratoren Der Unterschied kommt dann zum Ausdruck wenn man Iterationen ber Container Objekte durchf hrt in denen die Reihenfolge der enthaltenen Elemente irrelevant und unsichtbar ist Dazu geh ren bei Python Abbildungen mappings wie z B Dictionaries In einem Dictionary werden Schl sseln Werte zugeordnet Der Zugriff auf einen Wert erfolgt wie in folgendem Beispiel ber den zuh rigen Schl ssel gt gt gt dict Sonne sun Mond moon gt gt gt dic
107. interpretiert siehe Abb 26 Name und benanntes Objekt stehen in einem hierarchischen Verh ltnis zueinander Damit wird dem Namen die Bedeutung eines Oberbegriffs zugemessen Die untergeordneten Objekte sind Exemplare einer Kategorie die im Namen zum Ausdruck kommt So ist Hallo ein Beispiel f r ein Wort 70 A ia sco T rot heer 7 Ss eh Abb 26 Illustration der 17 J hrigen Sch lerin J zur Visualisierung der Unterordnung eines Objektes unter einen Na men Die Interpretation einer Zuweisung als Unterordnung kann als Spezialfall einer R ckmodellierung interpretiert werden Darunter verstehen wir den Versuch zu einem Programmtext einen Wirklich keitsausschnitt Original zu finden der durch den Programmtext modelliert wird In der Tat modellie ren Zuweisungen h ufig Subsumierungssituationen Betrachten wir als Beispiel die Aufgabe einen W rfel zu modellieren Ein Programm soll eine Zufallszahl zwischen 1 und 6 ausgeben Etwas forma ler ausger ckt lautet eine Teilaufgabe des Problems Erzeuge ein Objekt das in die Kategorie Zu fallszahl zwischen 1 und 6 f llt Das folgende Python Programm l st die Aufgabe from random import zufallszahl randint 1 6 print zufallszahl Das Objekt das der Funktionsaufruf in der zweiten Zeile zur ckgibt ist eine ganze Zahl Die Zu weisung ist hier tats chlich das Modell der Unterordnung eines Objektes Zahl unter einen Begriff 71 72 7
108. is appropriate good judgements 15 players 71 43 percent Average confidence in good judgement standard deviation 9 00 2 80 Number and percentage of players who declared that the model is not appropriate bad judgements 6 players 28 57 percent Average confidence in bad judgement standard deviation 1 67 2 58 300 Judging Model pg_objects_a4_3 Associated program bottle fill1 0 4 Description The transmission of the mes sage bottle fill 0 4 is divied into two phases First a beam blue line to the bot tle appears then the message glides along the beam Time 7 seconds Concreteness 100 percent of names are used in the model pattie gt Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 38 3 75 Average watch time standard deviation 11 62 seconds 13 39 Number and percentage of players who declared that the model is appropriate good judgements 13 players 61 90 percent Average confidence in good judgement standard deviation 7 69 3 30 Number and percentage of players who declared that the model is not appropriate bad judgements 8 players 38 10 percent Average confidence in bad judgement standard deviation 6 88 4 58 Judging Model pg_ objects a4 1 Associated program bottle fill 0 4
109. kontinuierlich Beispiele f r sprachli che Repr sentationen sind nat rlichsprachliche Texte mathematische Modelle oder Computerprogramme Sie sind digital nicht ikonisch und diskontinuierlich Paivio nimmt an dass es f r verbal und nonverbal repr sentierte Information getrennte aber gleichwohl kooperierende Verar beitungssysteme gibt 23 Es gibt eine Reihe von empirischen Befunden die dieses Modell unterst tzen Doppelte Kodierung eines Inhaltes durch sprachliche und bildhafte Repr sentationen erh ht die Erinnerungswahrschein lichkeit So werden leicht verst ndliche und benennbare Bilder z B ein Haus nach einmaliger Pr sentation besser behalten als W rter Diesen Bild berlegenheitseffekt erkl rt Paivio damit dass die Information doppelt repr sentiert wird n mlich erstens nonverbal als Bild und zweitens verbal durch einen Begriff der mit dem Bild assoziiert wird Die Annahme von getrennten Verarbeitungssystemen f r verbale und nonverbale Information wird durch hirnphysiologische Befunde unterst tzt EEG Studien Ley 1983 zeigten dass bei der Verarbeitung von sprachlichem Material vor allem die linke Hirnh lfte aktiv ist w hrend beide Hirnh lften an der Verarbeitung nonverbaler Information beteiligt sind Sasse 1997 schl gt vor sprachliche und bildhafte Repr sentationen als zwei Endpunkte eines Kontinuums zu betrachten Viele Repr sentationen kombinieren sprachliche und visuelle Komponen ten Eine Zeic
110. lter mit leeren F chern 47 69 62 45 21 31 50 45 Beh lter ohne Fach 41 60 56 45 27 40 54 46 Unbestimmtes Nichts 44 65 52 46 24 13 73 39 pq_list_al_5 Tab 7 Beurteilung von Modellen zur Darstellung einer leeren Liste Berticksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 7 5 Platzhalter f r variable Teile in Dokumenten In vielen Zusammenh ngen verwenden wir die Vorstellung eines Dokumentes z B Text das aus konstanten unver nderlichen und variablen Teilen besteht Die variablen Teile werden auf bestimmte Weise durch Platzhalter markiert und w hrend der Interpretation des Dokumentes durch andere Zei chenfolgen ersetzt Im Verlaufe dieses Ersetzungsprozesses entsteht sukzessive eine vollst ndig inter pretierte Auspr gung des Dokumentes in der keine Platzhalter mehr enthalten sind Die Programmiersprache PHP wird verwendet um dynamische HTML Seiten zu generieren Die Idee ist dass ein Webseite durch statischen HTML Text definiert wird der einige Stellen enth lt die erst zur Betrachtungszeit durch den PHP Pr prozessor mit Inhalt d h HTML Text gef llt werden Im eigentlichen PHP Programmtext wird algorithmisch festgelegt durch welche Werte Zeichenket ten die der HTML Syntax entsprechen die Platzhalter zum Zeitpunkt der Betrachtung ersetzt werden sollen Programmierspr
111. mit einem allgemeinen berblick ber die Nutzung der PVS Anzahl registrierter Spieler Anzahl der Sit zungen etc Weitere Service Skripte dienen der Verwaltung von Gruppen Ermittlung von Highsco res und Activity Reports 4 4 Python Visual Bei einem Python Visual sehen die Spieler einen kurzen Programmtext oder eine kurze Beschrei bung eines allgemeinen Konzeptes der Informatik z B regul re Ausdr cke Danach folgen drei bis vier Animationen die das Programm bzw Konzept erl utern Die Animationen k nnen beliebig oft abgespielt und zwischenzeitlich gestoppt werden Am Ende werden den Spielern drei Fragen gestellt die sie beantworten m ssen Im Unterschied zu Python Quiz gibt es keine richtigen oder falschen Antworten F r das erstmalige Bearbeiten eines Python Visuals gibt es 20 Punkte f r den Activity Report In der Regel wird eine gewisse Mindestbearbeitungszeit verlangt um auf ernsthaftes Beant worten der Fragen hinzuwirken Am Ende einer Session wird ein XML Paket mit den Betrachtungszeiten und gew hlten Antworten der Spieler an das zugeh rige Service Programm geschickt das die Datenbank aktualisiert output on the screen 4 41 41 Al a execution of this script In your mind How come Please enter the numbers of the selected animations and dick ok ok Abb 10 Screenshots aus dem Python Visual Multilists 48 Die Antworten der Mitglieder einer Gruppe z B Teilnehmer inne
112. mit Programmierung und hatten ein Durchschnittsalter von 18 06 Jahren Um die Komplexit t eines Modells zu reduzieren und seine Gestaltartigkeit zu erhalten werden implizite Namen verwendet die dann bei einer Formalisierung durch Programmtext expliziert werden m ssen Eine Aufgabe bei der L sung einer Programmieraufgabe ist es implizite Namen in einem intuitiven L sungsmodell zu entdecken 6 7 Indirekte Namen Manchmal wird als Name f r ein Objekt keine neue Wortsch pfung verwendet sondern es wird aus bereits bekannten und verwendeten belegten Namen ein Name konstruiert Der indirekte Name ist ein Name ber einen Umweg Er gibt einen Weg an wie man das gemeinte Objekt identifizieren und ansprechen kann Im Alltag wird z B die Phrase Die lteste Tochter meines Bruders Andi zur Bezeichnung einer Person verwendet Beispiele f r indirekte Benennungen in Programmtexten sind e Funktionsaufrufe z B sqrt 2 e Verwendung von Indizes bei Listen oder Schliisseln bei Dictionaries z B s 2 oder eng lisch Haus e Verwendung von Literalen 6 7 1 Funktionsaufrufe und mathematische Terme Bei Alltagsrechnungen wird die Wurzel aus zwei nicht explizit als Literal angegeben was auch gar nicht geht sondern der Name V2 verwendet In Animationen die eine komplexe Rechnung veran schaulichen kann ein Zettel mit der Aufschrift 3 der an eine Karte mit einem Wert geheftet ist eine Erinnerung sein dass dieser Wert von der
113. oder ihr Ziel gar nicht erreichen weil der Fluss durch eine Sperre unterbrochen ist Zum zweiten kann ein Zustandsmodell f r Daten verwendet werden Wie bei elektronischen Schaltkreisen befinden sich die Datenleitungen in einem Zustand der durch den Knoten am Anfang der Kante determiniert ist und der die bertragenen Daten repr sentiert 4 2 Der Fetch Execute Zyklus als Beispiel einer Schleife Vom Benutzer wird die Eingabe eines Kommandos erwartet Wenn dieses Kommando keine Been digung des Dialogs signalisiert quit wird es ausgef hrt ein neues Kommando abgefragt usw 309 J get command execute command nein Abb 99 Fetch execute Schleife eines interaktiven Systems Nach Sommerville 1997 S 287 Die Steuerungseinheit die ber die Wiederholung entscheidet muss sich an einer bestimmten Stel le der Sequenz befinden n mlich vor dem Block execute command Sie ist nicht einer holistischen zu wiederholenden Aktion bergeordnet sondern gleichrangiger Teil der Sequenz Der fetch execute Zyklus kann mit Python auf folgende zwei Weisen implementiert werden Erste Variante while True c raw_input if c Quit break else execute c Zweite Variante c raw input while c Quit execute c c raw_input Die erste Variante ist eine Implementierung des Schleifenmodells das im Flussdiagramm aus Abb 99 wiedergegeben wird Mit while True wird im Prin
114. of management Oxford Blackwell Pennington Nancy 1987 Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs In Cognitive Psychology 19 S 295 341 Perkins D N Hancock Chris Hobbs Renee Martin Fay 1989 Conditions of learning in novice programmers Educational Technology Center Harvard University In Soloway amp Spohrer 1989 Piaget Jean 2003 Meine Theorie der geistigen Entwicklung Herausgegeben von Reinhard Fatke Weinheim Basel Berlin Beltz Poincar Henri 1905 Science and Hypothesis London Walter Scott Publishing Popper Karl R 1934 Logik der Forschung Wien Verlag Julius Springer Putnam Ralph T Sleeman D Baxter Juliet A Kuspa Laiani K 1989 A summary of misconcep tions of high school basic programmers In Soloway amp Spohrer 1989 S 301 314 156 Riehle D Z llighoven H 1996 Understanding and Using Patterns in Software Development In Karl Lieberherr amp Roberto Zicari Hrsg Theory and Practice of Object Systems Band 2 Nr 1 S 3 13 1996 Roger J M Cisero C A Carlo M S 1993 Techniques amd Procedures for Assessing Cognitive Skills In Review of Educational Research 63 2 S 201 243 Reed David 1998 Incorporating Problem solving Patterns in CS1 In Proc ACM SIGCSE S 6 9 Rosch Eleonor 1973 On the internal structure of perceptual and semantic categories In T H Moore Hrsg Cognitive deve
115. ohne Extension description varchar 200 Kurzbeschreibung time smallint Maximale Gesamtzeit des Spiels al varchar 10 Weiteres Attribut Reserve protocol_pp Tab 36 Tabelle description_pp Die Tabelle modelliert Sessions mit einer Python Puzzle Applikation An einer Session k nnen ein oder zwei Spieler teilnehmen Die Tabelle beschreibt allgemeine nicht aufgabenbezogene Daten der Session Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt einen String folgenden Formats lt id des Spiels gt lt Zufallszahl gt game varchar 20 Fremdschl ssel Enth lt id der Spielbeschreibung time int 20 Zeitstempel Sekunden seit Beginn der Epoche f r Spielstart gametime smallint tats chliche Spieldauer in Sekunden points smallint erreichte Punkte 200 falls Session abgebrochen wurde players smallint Anzahl der Spieler 1 oder 2 playerl varchar 20 Fremdschl ssel Enth lt id des ersten Spielers player varchar 20 Fremdschl ssel Enth lt id des zweiten Spielers falls vorhanden Tab 37 Tabelle protocol_pp 206 Zu Beginn einer Session wird ein Datensatz mit Punktzahl 200 angelegt Am Ende der Session wird die Punktzahl aktualisiert protocol_pp_task Jede Zeile der Tabelle beschreibt einen erfolgreichen Python Puzzle Testlauf eines selbst zusam mengesetzten Programms Attribut Datentyp Erl uter
116. others Gender 14 female and 56 male persons Hours a week spent on programming standard de viation 3 94 hours 5 91 Roughly estimated experience in Python program ming standard deviation 184 67 days 160 58 Age standard deviation 17 01 years 1 59 Population of the town where the workshop took place Less than 100 000 21 100 000 to 500 000 20 more than 500 000 29 Country Germany 70 other country 0 Model 1 Description Wrong visualization of changing lists Lists are represented by boxes with cards Assign statement is interpreted as copy Only one copy of the list is changed Duration 6 seconds Concreteness 66 percent Average watchtime standard deviation 24 47 seconds 14 09 This model was evaluated in 70 first subjective sessions The following table shows the results Question votes percentage would you use to explain 15 21 43 do you remember best 12 17 14 when you imagine the execution of the script 10 14 29 218 Model 2 Description Model of changing lists Lists are represented by boxes with cards Assign state ment is interpreted as copy ghost Both copies of the list are changed Duration 7 seconds Concreteness 66 percent Average watchtime standard deviation 14 99 seconds 10 07 This model was evaluated in 70 first subjective sessions The following table shows the results
117. out Time 7 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 86 2 83 Average watch time standard deviation 9 45 seconds 12 45 Number and percentage of players who declared that the model is appropriate good judgements 120 players 77 92 percent Average confidence in good judgement standard deviation 9 12 2 40 Number and percentage of players who declared that the model is not appropriate bad judgements 34 players 22 08 percent Average confidence in bad judgement standard 7 94 3 92 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 29 3 64 9 25 2 42 8 66 3 36 Average watch time standard deviation 8 27 seconds 6 03 5 53 seconds 3 26 3 98 seconds 1 92 Percentage of players who declared that the model 78 05 percent 90 24 percent 85 37 percent is appropriate good judgements Average confidence in good judgement standard 9 06 2 68 9 46 1 97 9 57 1 87 deviation Percentage of players who declared that the model is not appropriate bad judgements 21 95 percent 9 7
118. percent Average confidence in good judgement standard deviation 8 30 3 03 Number and percentage of players who declared that the model is not appropriate bad judgements 54 players 35 06 percent Average confidence in bad judgement standard 6 94 3 56 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 6 83 4 15 9 15 2 21 9 15 2 72 Average watch time standard deviation 19 71 seconds 8 63 12 41 seconds 6 88 9 10 seconds 5 94 Percentage of players who declared that the model is appropriate good judgements 68 29 percent 92 68 percent 85 37 percent Average confidence in good judgement standard deviation 7 50 3 97 9 21 2 18 9 86 0 85 Percentage of players who declared that the model is not appropriate bad judgements 31 71 percent 7 32 percent 14 63 percent Average confidence in bad judgement standard deviation 5 38 4 31 8 33 2 89 5 00 5 48 275 Judging Model pg_assign_al_13 Associated program a 3 b a Description Shows a reversed pointer model for variables Two pointers point from a card with number 3 to two names of the object 3 a and b Time 5 seconds Concreteness 100 pe
119. r a Dies ist ein Beispiel einer Kettenbildung siehe Abschnitt 6 8 2 In der zweiten Animation pq_assign_al_6 wird das Beh ltermodell f r Variablen verwendet Zur Darstellung der zweiten Zuweisung entsteht eine Kopie des Namensschildes a und bewegt sich in den Beh lter mit Aufschrift b Dieses Modell ist in sofern ungeeignet und wird auch vom System als sol ches bewertet als ein Kasten einmal als Beh lter f r Daten Zahlen und einmal als Beh lter f r Na men dargestellt wird Wiederum handelt es sich um eine Namenskette die der Semantik des Pro gramms nicht entspricht 3 In der dritten Animation pq_assign_al_10 wird die zweite Zuweisung durch Anbringen eines zweiten Namensschildes b an den Beh lter mit Inhalt 3 visualisiert Dieses Modell ist im Unterschied zu den vorigen Modellen insofern akzeptabel als die Schilder a und b gleicherma en als Name f r die Zahl 3 dargestellt werden Gleichwohl ist dieses Modell problematisch wenn man f r komplexere Programme verwenden m chte Was passiert wenn anschlie end die Anweisung a 3 ausgef hrt werden soll Das Modell suggeriert die Vorstellung dass dann in dem Beh lter die 2 durch eine 3 ersetzt w rde Dies ist aber falsch da Variable b ihren alten Wert 2 beh lt Stattdessen m sste man annehmen dass ein neuer Beh lter entsteht der das neue Datum 3 aufnimmt und das Namensschild a erh lt 4 Die vierte Animation pq_assign_al_8 schlie lich enth lt eine konsis
120. representing the player s confidence standard deviation 5 51 4 50 Average watch time standard deviation 17 40 seconds 17 32 Number and percentage of players who declared that the model is appropriate good judgements 41 players 60 29 percent Average confidence in good judgement standard deviation 5 61 4 50 Number and percentage of players who declared that the model is not appropriate bad judgements 27 players 39 71 percent Average confidence in bad judgement standard deviation 5 37 4 58 Judging Model pq list al_5 Associated program result Description Visualization of an empty list by a pointer pointing to nothing Time 0 seconds Concreteness 100 percent of names are used in the model result 245 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 5 96 4 43 Average watch time standard deviation 19 99 seconds 27 56 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 44 players 64 71 percent 5 23 4 57 Number and percentage of players who declared that the model is not appropriate bad judgements 24 players 35 29 percent Average confidence in bad judgement standard deviation 7 29 3 90 J
121. sessions taking into account that there are sometimes two players working together 36 sessions Number of subjective uncanceled sessions taking into account that there are sometimes two players working together 22 sessions Number of subjective first uncanceled sessions taking into account that there are sometimes two players working together and some people play this game several times Number of persons who played three times or more 21 sessions 0 persons Some general information about the players of this category who played the game at least once Professions 21 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 4 female and 17 male persons Hours a week spent on programming standard de viation 3 38 hours 2 69 Roughly estimated experience in Python program ming standard deviation 126 00 days 112 73 Age standard deviation 17 24 years 0 77 Population of the town where the workshop took place Less than 100 000 1 100 000 to 500 000 12 more than 500 000 8 Country Germany 20 other country 1 289 Task 1 Judging Model pq_objects al 6 Associated program bottle Container 0 7 Description Visualization of instancing a bottle A number size is replaced by a bot tle after a flash Time 6 seconds Concreteness 100 percent of names are used in the model Total number of
122. sistenz ein Kriterium sein Konsistent sind z B das Beh ltermodell f r Variablen und das Modell einer Funktion als Box die ber ihren Eingang Daten aufnimmt sie verarbeitet und ber einen Ausgang das Ergebnis zur ckgibt Ein Cluster konsistenter intuitiver Modelle ist gedanklich einfacher zu handha ben als ein gleich gro es nichtkonsistentes Cluster Denn wenn es Widerspr che enth lt muss man sich jeden Widerspruch vergegenw rtigen oder bei Erkl rungen seinen Kommunikationspartnern mit teilen Wer bei Erkl rungen konsistente Intuitionen verwendet versucht im Bild zu bleiben D h sie oder er sucht nach Metaphern die dieselbe Quelldom ne besitzen In der Mathematikdidaktik gibt es regelrechte Systeme konsistenter Metaphern die als Lernhilfen f r Unterrichtsreihen eingesetzt wer den vgl z B Lakoff amp Nunez 1997 Konsistenz wird andererseits oft durch h here Komplexit t erkauft So kann man Programme einer objektorientierten Programmiersprache strikt objektorientiert deuten und sich alle Objekte als Akteure vorstellen die Botschaften senden und entgegen nehmen k nnen Die arithmetische Operation 2 b 1 muss man dann ungef hr so beschreiben Das Objekt das die Zahl 2 repr sentiert erh lt die Bot schaft eine Multiplikation mit einer Zahl durchzuf hren die durch ein anderes anonymes Objekt repr sentiert wird Dieses Objekt wird folgenderma en ermittelt Das Integer Objekt mit dem Namen b erh lt die B
123. standard 6 14 4 06 deviation Judging Model pq_list_a5_1 Associated program olderThan group 19 A 1A Description Visualization of a function call The Function is represented by a box with a manipu lator arm that graps input values Time 14 seconds Concreteness 100 percent of names are used in the model 261 Total number of first judgements 68 Average bet points 0 to 10 representing the player s 7 13 3 99 confidence standard deviation Average watch time standard deviation 12 75 seconds 12 56 Number and percentage of players who declared that 55 players 80 88 percent the model is appropriate good judgements Average confidence in good judgement standard 7 55 3 71 deviation Number and percentage of players who declared that 13 players 19 12 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 5 38 4 77 deviation Judging Model pq_list_a5_2 Associated program olderThan group 19 Description Visualization of a function call The function input output model accepts a list model container and a card with a num ber Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s 6 62 3 91 confidence standard deviation Average watch time standard devi
124. that 17 players 80 95 percent the model is appropriate good judgements Average confidence in good judgement standard 7 65 2 57 deviation Number and percentage of players who declared that 4 players 19 05 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 2 50 5 00 deviation 302 Task 5 Judging Model pq_objects_a5_3 Associated program vase fill bottle empty Description The message vase fill bottle empty is represented by an oval going to the vase A message bot tle empty goes to the bottle which pours its content into the vase Time 7 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 67 4 28 Average watch time standard deviation 11 29 seconds 10 27 Number and percentage of players who declared that the model is appropriate good judgements 11 players 52 38 percent Average confidence in good judgement standard deviation 7 27 3 44 Number and percentage of players who declared that the model is not appropriate bad judgements 10 players 47 62 percent Average confidence in bad judgement standard deviation 6 00 5 16 Judging Model pq objects a5 2 Associated program vase fill bottle empty
125. und alle Zwischenversionen getestet und debuggt Obwohl man formal eine Klassendefinition schreibt modelliert man doch aus psychologi scher Sicht einen Prototyp Alle kognitiven Aktivit ten drehen sich um ein einzelnes Objekt das die Klasse repr sentiert 11 7 Klasse als Beh lter f r Funktionen Toolbox Objektorientierte Programmiersprachen z B Java oder Python erlauben die Definition statischer Methoden Eine statische Methode kann aufgerufen werden ohne ein Objekt der Klasse zu instanzie ren Beispiel Java a Math sqrt 2 Die Klasse Math stellt hier einen Beh lter f r Funktionen dar Toolbox dar Statische Methoden ver ndern keine Objektzust nde verhalten sich also wie Funktionen im Sinne des funktionalen Pro grammierparadigmas Man kann sie sich als eigene Entit t v llig losgel st von der Klasse vorstel len Der Klassenname der im Funktionsaufruf vorkommt wird dann nicht Bezeichnung eines Objek tes an das eine Botschaft geschickt wird interpretiert sondern eher als Pr fix eines Funktionsnamens 4 Ein konkretes Beispiel f r diesen Prozess findet sich in Anhang 6 6 119 120 12 Objekte 12 1 Zustand eines Objektes Datenbesitz oder holistische Befindlich keit In der objektorientierten Programmierung definiert man den Zustand eines Objektes durch die Be legungen seiner Attribute Instanzvariablen sofern es sich um einfache Attribute handelt denen ein einfacher Wert Datum
126. wird nicht allein der vorige Inhalt der Variablen vernichtet sondern ebenfalls ihr Name D h der ge samte Notizzettel verschwindet Dann kommt ein neuer Zettel mit der berschrift today Variablen name ins Bild der dann mit dem neuen Wert beschrieben wird Die meisten der in PVS Workshops beobachteten Sch lerinnen und Sch ler 96 von 154 akzeptierten dieses Modell Dieses Ergebnis zeigt dass Anf nger h ufig nicht deutlich zwischen dem Namen und dem Wert einer Variablen diffe renzieren sondern beides als eine Einheit sehen S today toda ff today I Tue Tuesday Abb 101 Zuweisung mit totaler Vernichtung der Variablen n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Notizzettel pq_assign_a2_7 10s 11 79 s 96 62 3 84 4 29 3 10 68 Tab 46 Beurteilung eines Zuweisungsmodells mit totaler Vernichtung der Variablen Ber cksichtigt wurden die Antwor ten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben Das Konzept der totalen Vernichtung ist sogar relativ hartn ckig wie die Lernkurve und Antilern kurve in Abb 102 zeigen Obwohl es bei dem Python Quiz Minuspunkte gab wenn man dieses Mo dell als passend wertete beurteilten es 29 der Vielspieler 41 Sch lerinnen und Sch ler die mindes 315 tens drei Mal gespielt haben noch im dritten Durchgang positiv bei einer mit
127. would you use to explain 4 26 67 do you remember best 7 46 67 when you imagine the execution of the script 4 26 67 Model 3 Description Sorting by straight selection and exchanging places The actual elements of the list are marked by arrows named i and j Duration 21 seconds Concreteness 27 percent Average watchtime standard deviation 18 40 seconds 15 44 This model was evaluated in 15 first subjective sessions The following table shows the results Question votes percentage would you use to explain 0 0 00 do you remember best 2 13 33 when you imagine the execution of the script 3 20 00 216 Model 4 Description Sorting by straight selection and exchanging places Indices of the actual ele ments of the list are represented by frames on strips with numbers Duration 21 seconds Concreteness 27 percent Average watchtime standard deviation 43 47 seconds 110 10 This model was evaluated in 15 first subjective sessions The following table shows the results Question votes percentage would you use to explain 2 13 33 do you remember best 1 6 67 when you imagine the execution of the script 1 6 67 217 Changing lists Some general information about the players of this category who played the game at least once Professions 70 highschool students 0 university students 0 teachers 0 professors and 0
128. x s2 zerlegt Die mittlere Se quenz x enth lt immer genau ein Element Dabei kann man mehrere F lle unterscheiden 2 1 s1 und s2 sind leer 2 2 s1 ist leer und s2 enth lt mindestens ein Element 2 3 s2 ist leer und s1 enth lt mindestens ein Element 2 4 s1 und s2 enthalten mindestens ein Element Weitere F lle gibt es nicht Sofern man dieses Modell im Sinn hat wird man bei der Wahl von Testsequenzen darauf achten dass alle diese Situationen durchlaufen werden Das ist die Idee des Pfadtestens siehe folgender Abschnitt Das folgende Set von Testaufrufen ist so konstruiert dass beim ersten Durchlauf einer dieser f nf F lle eintritt print qsort 1 print gqsort 1 231 print qsort 1 3 2 2 print qsort 3 1 2 3 print qsort 2 3 1 2 4 2 4 2 Paradigmatische Modelle beim Testen Beim Testen eines Programms k nnen Intuitionen eine Rolle spielen die man zur Gruppe der pa radigmatischen Modelle z hlen kann Denn sie beschreiben eigentlich eine allgemeine Strategie des Testens Sie sind damit keine vereinfachten Modelle des zu testenden Programms bieten aber ein Grundlage zur systematischen Konstruktion von Testszenarios hier Eingabesequenzen Modell der vollst ndigen Induktion Nach dem Modell der vollst ndigen Induktion arbeitet die Funktion f unter folgenden Bedingungen korrekt e Sie liefert f r die kleinsten denkbaren Eingabeobjekte hier leere und einelement
129. z B BlueJ Delphi e Visuelle und verbale Erkl rungen in der Literatur z B Schulb cher Sprachreferenzen Klassen dokumentationen e Erkl rungen anderer Menschen im Rahmen von face to face Kommunikationsprozessen Pro grammierteam Lehrer etc e Alltagserfahrungen mit informatischen Ph nomenen z B Umgang mit Beh ltern B chern No tizzetteln Wer informatische Intuitionen aufsp ren und erfassen will kann grunds tzlich diese Quellen unter suchen Welche intuitiven Modelle werden von Programmiersprachen wie Visual Basic oder LabView unterst tzt Welche informatischen Konzepte stecken hinter dem Gebrauch von selbstklebenden No tizzetteln Auf welche veranschaulichenden Analogien wird in Lehrb chern zur ckgegriffen Intuitive Modelle der Informatik die man f r sich als kulturelle Ph nomene dokumentieren kann haben f r Denkprozesse im Zusammenhang mit Computerprogrammen unterschiedliche Relevanz Zur quantitativen Einsch tzung ihrer psychischen Realit t werden in dieser Arbeit vor allem die auto matisch aufgenommenen Protokolle der PVS herangezogen Die Signifikanz der Daten aus den Sitzungen mit Python Visual wurde durch Vergleich der beo bachteten Antwortmuster mit einer Gleichverteilung gepr ft An den entsprechenden Stellen wird das Signifikanzniveau p Wert des x Tests angegeben das die Wahrscheinlichkeit zum Ausdruck bringt dass das Ergebnis durch zuf lliges Antworten zu Stande gekommen ist Beim Verg
130. zugeordnet wird Komplexe Objekte z B Aggregate aus mehreren Teilen besitzen dar ber hinaus Attribute die selbst wieder Objekte sind Hier ergibt sich der Zustand des komplexen Objektes aus den Zust nden der verbundenen Objekte Balzert 1999 Letztlich kann man sich den Zustand eines Objektes als eine Kombination von Daten vorstellen Sich in einem Zustand befinden hei t in dieser Sichtweise Daten besitzen Die Ver nderung eines einzigen Werts impliziert die Ver nderung des Gesamtzustandes des Objektes Neben dieser Vorstellung Zustand als Datenbesitz gibt es noch ein zweites holistisches Konzept mit dem der Zustand eines Objektes als Befindlichkeit begriffen wird Meist geht man von einer klei nen Menge von Zust nden aus die in einem Sinnkontext von Bedeutung sind und deshalb in irgendei ner Weise mit der Funktionalit t des Objektes verkn pft sind Bei einem Objekt das eine Verkehrsampel modelliert k nnten diese Zust nde die Ampelphasen sein rot rot gelb gr n gelb Bei einer realen Ampel gibt es nur diese Zust nde Sie sind jeweils mit einer verkehrsrechtlichen Bedeutung verkn pft Sinnkontext Sie sind insofern mit Funktionalit t verkn pft als nur bestimmte berg nge von einem Zustand zum n chsten erlaubt und sinnvoll sind So hat die Gelbphase die Bedeutung Achtung gleich kommt Rot Autofahrer die dieses Signal se hen m ssen entscheiden ob sie Gas geben oder anhalten Angesichts dieses Sinnkontexte
131. zur Verwendung von Visualisierungen 2 11 UML Klassendiagramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 12 UML Objektdiagramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 13 UML Sequenzdiagramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 14 Andere UML Diagramme 15 Nassi Schneidermann Diagramme Struktogramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte praktisch immer wenn es zum aktuellen Unterrichtsstoff passt wung 16 Flussdiagramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 17 Zustands bergangsdiagramme bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h u
132. 0 7 4 9 Tab 12 Wahl verschiedener Modelle zur Veranschaulichung der R ckgabe einer Referenz Ergebnisse von 30 ersten Sit zungen davon 22 w hrend Workshops mit der PVS Teilnehmer 22 Sch ler vier Studenten und vier andere Personen davon 24 aus Deutschland Es gibt 26 m nnliche und 4 weibliche Teilnehmer sie besch ftigten sich im Schnitt 4 5 Stunden pro Woche mit Programmierung und hatten ein Durchschnittsalter von 21 2 Jahren 8 9 Dynamische und statische Funktionsmodelle Ein statisches Funktionsmodell betrachtet eine Funktion als Entit t die w hrend der gesamten Le benszeit des Programms Prozesses existiert und in Bereitschaft ist aufgerufen zu werden In Daten flussmodellen siehe Abschnitt 5 1 geht man davon aus dass jede ben tigte Funktion genau einmal existiert Es gibt einen gewissen Vorrat an vorgefertigten Funktionen die bereits zu Beginn des Pro grammlaufs sichtbar sind Ein Problem tritt z B bei rekursiven Funktionen auf Von rekursiven Funktionen m ssten in dieser statischen Sichtweise im Prinzip unendlich viele Exemplare existieren Im Schleifenmodell endre kursiver Funktionen Kahney 1984 Close amp Dicheva 1997 stellt man sich eine statische Funktion vor die immer wieder mit neuen Parametern aufgerufen wird Ein dynamisches Funktionsmodell repr sentiert im Prinzip den Prozess der Funktion der durch ei nen Aufruf gestartet wird Das Funktionsmodell erscheint also erst bei A
133. 19 91 seconds 191 84 Some general information about the players of this category who solved this task Professions 20 highschool students 4 university students 0 teachers 0 professors and 0 others Gender 4 female and 20 male persons Hours a week spent on programming standard de 5 29 hours 5 77 viation Age standard deviation 17 54 years 4 51 Country DEU 22 USA 2 Use of correct lines of code pieces in task 1 The rank of a piece indicates the time when it was put into the program We consider only successful solutions Correct line of code Usage percent Rank standard deviation result 24 100 00 percent 1 38 0 88 return result 24 100 00 percent 2 96 0 95 for person in persons 24 100 00 percent 2 67 1 05 result append person 0 24 100 00 percent 3 00 0 78 Use of wrong lines of code errors in task 1 The rank of an error indicates the time when a player tried to insert it into the program Error Usage percent Rank standard deviation for all in persons 8 33 33 percent 2 62 1 69 for persons in person 11 45 83 percent 2 82 1 66 result append name 7 29 17 percent 2 14 1 35 result append person 14 58 33 percent 1 71 1 14 result append person 1 6 25 00 percent 3 33 1 03 result 5 20 83 percent 2 60 1 82 Use of visual models in successful solutions The
134. 2 represents the idea of a recursive function 7 31 82 most difficult to follow 4 18 18 Model 3 Description Recursive function calls are repre sented by nested boxes Full recursion depth Duration 31 seconds Concreteness 28 percent Average watchtime standard deviation 32 32 seconds 17 90 This model was evaluated in 22 first subjective sessions The following table shows the results Question votes percentage would you use to explain 8 36 36 represents the idea of a recursive function 10 45 45 most difficult to follow 4 18 18 Model 4 Description Recursive function calls are repre sented by nested boxes Only one recursive call is shown Duration 17 seconds Concreteness 28 percent Average watchtime standard deviation 76 73 seconds 152 29 minor 222 This model was evaluated in 22 first subjective sessions The following table shows the results Question votes percentage would you use to explain 4 18 18 represents the idea of a recursive function 3 13 64 most difficult to follow 6 27 27 Analogies for iterations Some general information about the players of this category who played the game at least once Professions 66 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 12 female and 54 male persons Hours a week spent on programming standard de
135. 2 id test juli gt lt times z5 0 z4 22 23 34 z2 40 z1 28 z0 21 gt lt game game pv mirror gt lt answers gt 3 5 2 Auszug aus der automatisch erstellten Auswertung Der folgende gek rzte Auszug aus dem Ergebnis der automatischen Auswertung liefert einen sta tistischen berblick ber die Antworten von Sch lerinnen und Sch lern die an einem Workshop mit der PVS teilgenommen haben Betrachtet werden nur die ersten Sitzungen mit dem der jeweiligen Python Visual Applikation Es hat also keine Auswirkungen auf das Ergebnis wenn Teilnehmer ein Spiel mehrfach durchf hren 212 Regular expressions Some general information about the players of this category who played the game at least once Professions 18 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 5 female and 13 male persons Hours a week spent on programming standard de viation 1 67 hours 1 78 Roughly estimated experience in Python program ming standard deviation 201 17 days 166 35 Age standard deviation 19 17 years 4 85 Population of the town where the workshop took place Less than 100 000 1 100 000 to 500 000 13 more than 500 000 4 Country Germany 18 other country 0 Model 1 Description Visualizes the effect of a regular expression by a sieve Duration 8 seconds Concreteness 0 percent Average watchtime standard deviation 23
136. 21 122 122 124 124 126 127 129 129 130 131 131 132 134 134 135 135 136 137 139 139 139 140 140 141 143 143 143 143 144 144 145 145 145 15 3 Intuitive Modelle und Scaffolding 15 4 Diskussion und Reflektion intuitiver Modelle 15 4 1 Visualisierungstibungen 15 4 2 Rollenspiele und Regelspiele 15 4 3 _ Gestaltete Medien und Mikrowelten 15 5 Informatik im Kontext 15 6 Schluss und Ausblick Literatur Anhang Abbildungsverzeichnis Tabellenverzeichnis Abk rzungsverzeichnis 1 Erg nzungen zur Repr sentation intuitiver Modelle 11 Verwendung unterschiedlicher Metaphern beim mathematischen Probleml sen 1 2 Repr sentation von Sprachkonzepten durch eine Beispielkollektion die Python Kurzreferenz von O Reilly 1 3 Von der Schwierigkeit intuitive Modelle zu visualisieren 1 4 Beispiele f r Tropen in der Informatik 1 5 Mikrowelten als einheitliche Dom nen f r konzeptionelle Metaphern 1 6 Prototypische Beispiele 1 7 Beispiele f r ablauforientierte Repr sentationen 1 8 Darstellung intuitiver Modelle in der Python Visual Sandbox 1 8 1 Warum Animationen 1 8 2 Entfernung und N he 1 8 3 Grafische Elemente der Python Visual Sandbox 1 9 Verwendung von Visualisierungen im Informatikunterricht 2 Erg nzungen zur Verwendung intuitiver Modelle 2 1 Verstehen 2 1 1 Textformen in informatischer Fachliteratur 2 1 2 Experimente zur Beantwortung erkenntnisgewinnender Fragen 2 2 Das Bem hen um Verstehen be
137. 3 2 2 Tabellen f r Python Visual protocol_pv Die Tabelle modelliert Sessions mit einer Python Visual Applikation ohne das Befragungsergebnis Jedes Tupel enth lt zwischen drei und f nf Modellen die bewertet werden k nnen Es k nnen ein oder zwei Spieler teilnehmen Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt einen String folgenden Formats lt Nickname des ersten Spielers gt lt Zeitstempel gt game varchar 20 Fremdschl ssel Enth lt id der Spielbeschreibung time int 20 Zeitstempel Sekunden seit Beginn der Epoche timel smallint Betrachtungszeit erstes Modell time2 smallint Betrachtungszeit zweites Modell time3 smallint Betrachtungszeit drittes Modell 0 wenn Modell nicht existiert time4 smallint Betrachtungszeit viertes Modell 0 wenn Modell nicht existiert time5 smallint Betrachtungszeit f nftes Modell 0 wenn Modell nicht existiert Tab 33 Tabelle protocol_pv description_pv Die Relation enth lt Beschreibungen von Python Visual Applikationen Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt den Namen des Spiels Dateiname ohne Extension description varchar 200 Kurzbeschreibung models smallint Anzahl der enthaltenen Modelle modl varchar 20 Fremdschl ssel Er enth lt die id des 1 Modells mod2 varchar 20 Fremdschl ssel Er enth lt die id des 2 Modells mod3 v
138. 321 322 323 323 323 324 324 325 325 326 327 7 6 9 Modellierung verschachtelter Botschaften 6 9 1 Kontexte f r die Verwendung von passiven Objektmodellen 6 10 Indikatoren f r die Validit t der Ergebnisse Weitere Aspekte der intuitiven Modellierung 7 1 7 2 Intuitivit t als messbare Gr e berst lpen des EVA Modells als Beispiel f r berstrukturierung 13 327 329 330 330 330 331 14 Einleitung Intuitive Modelle der Informatik sind gestaltartige kognitiv gut verarbeitbare und als gewiss und richtig akzeptierte gedankliche Vorstellungen ber informatische Konzepte Sie werden bewusst oder unbewusst verwendet wenn Menschen versuchen die Arbeitsweise von Informatiksystemen zu ver stehen anderen zu erkl ren oder selbst kreativ ein solches System zu entwickeln Intuitive Modelle flie en innerhalb der praktischen Informatik in die Gestaltung von Frontend Systemen an der Schnittstelle zum Menschen ein Dazu geh ren z B h here Programmier und Mo delliersprachen oder Entwurfsmuster Beispielsweise ist eine Symbolik zur Beschreibung informati scher Systeme wie z B UML nur dann brauchbar wenn sie zu schnell und sicher begreifbaren Do kumenten f hrt Das Ziel ist beim Rezipienten ein intuitives Verst ndnis des Gemeinten verbunden mit dem Gef hl von Gewissheit zu erreichen So basieren Zustands bergangsgraphen auf dem intuiti ven Modell einer sprunghaften Bewegung von Ort
139. 45 Number and percentage of players who declared that the model is not appropriate bad judgements 21 players 30 88 percent Average confidence in bad judgement standard deviation 5 00 4 47 Judging Model pq list al_3 Associated program result Description Visualization of an empty list named result by a box containing a card with result written on it Time 0 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 84 4 04 Average watch time standard deviation 18 82 seconds 27 59 Number and percentage of players who declared that the model is appropriate good judgements 34 players 50 00 percent Average confidence in good judgement standard deviation 5 74 4 11 Number and percentage of players who declared that the model is not appropriate bad judgements 34 players 50 00 percent Average confidence in bad judgement standard deviation 7 94 3 72 244 Judging Model pq_list_al 4 Associated program result Description Visualization of an empty list by a bord box with zero compartments Time 0 seconds Concreteness 100 percent of names are used in the model SN result _ Total number of first judgements 68 Average bet points 0 to 10
140. 5 09 hours 6 25 viation Roughly estimated experience in Python program 130 23 days 158 32 ming standard deviation Age standard deviation 16 64 years 1 28 Population of the town where the workshop took place Less than 100 000 20 100 000 to 500 000 6 more than 500 000 40 Country Germany 52 other country 14 Model 1 Description Iteration over a list visualized as box Elements are taken from the box one by one Duration 16 seconds Concreteness 0 percent Average watchtime standard deviation 29 32 seconds 11 54 This model was evaluated in 66 first subjective sessions The following table shows the results Question votes percentage would you use to explain 6 9 09 do you remember best 8 12 12 when you imagine the execution of the script 9 13 64 Model 2 Description Iteration over a list visualized as box Elements are copied and the copies are processed Duration 16 seconds Concreteness 0 percent Average watchtime standard deviation 22 92 seconds 9 30 This model was evaluated in 66 first subjective sessions The following table shows the results Question votes percentage would you use to explain 13 19 70 do you remember best 8 12 12 when you imagine the execution of the script 7 10 61 Model 3 Description Iteration over a list visualized as box Elements are copied an
141. 6 percent 14 63 percent Average confidence in bad judgement standard deviation 5 56 5 27 6 67 5 77 3 33 5 16 283 Judging Model pg_assign_a2_3 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a container To visualize successive assign ments cards move into it after former content has been destroyed Time 7 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 44 3 00 Average watch time standard deviation 10 14 seconds 11 01 Number and percentage of players who declared that the model is appropriate good judgements 117 players 75 97 percent Average confidence in good judgement standard deviation 8 93 2 53 Number and percentage of players who declared that the model is not appropriate bad judgements 37 players 24 03 percent Average confidence in bad judgement standard 6 89 3 79 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the 7 68 3 55 8 62 2 99 8 29 3 64 player s confidence standard deviation Average watch time standard deviation 10 00 seco
142. 66261 unterst tzen die Vorstellung eines Akteurs der die Ausf hrung eines untergeordneten Programmblocks den man sich als eigenen Akteur vorstellen kann steuert Dieser Steuerungsakteur pr ft die Einhaltung der while Bedingung und regelt letztlich wie oft der angeschlossene Anweisungsblock ausgef hrt wird solange bedingung wahr Anweisungsblock 1 Abb 44 Nassi Shneiderman Diagramm Sinnbild nach DIN 66261 und Modell eines Steuerungsakteurs Diese Intuition wird z B von LabView National Instruments www ni com labview unterst tzt Hier ist es m glich eine Anordnung in einen Rahmen zu packen und mit einem Wiederholungsicon zu versehen Eine Besonderheit gegen ber dem Schleifenmodell siehe n chster Abschnitt ist dass der wieder holte Anweisungsblock als eine einzige holistische Einheit vorstellbar ist Das hei t man kann von Einzelheiten insbesondere auch von der zeitlichen Reihenfolge in der atomare Einzelanweisungen des Blocks ausgef hrt werden m ssen abstrahieren Die Verwendung dieses Modells kommt in folgenden Formulierungen aus der Algorithmik des Alltags zum Ausdruck e Solange noch Erbsen in der Asche liegen nimm eine Erbse heraus e Solange das Auto noch nicht steht bremse e Solange du die Aufgaben noch nicht schnell genug l sen kannst be Der zweite Unterschied zum Schleifenmodell liegt in der pointierten Modellierung der Steuerungs komponente als eigenem Akteur der die Ausf hrung des
143. 7 percent 9 76 percent 21 95 percent Average confidence in bad judgement standard deviation 5 71 4 50 5 00 5 77 8 33 3 54 268 Judging Model pq_assign_al_7 Associated program a 3 b a Description Variables are represented by con tainers containing cards A manipulator arm of container b takes copy of the card in container a Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 64 2 44 Average watch time standard deviation 12 68 seconds 11 56 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 8 76 2 26 125 players 81 17 percent Number and percentage of players who declared that the model is not appropriate bad judgements 29 players 18 83 percent Average confidence in bad judgement standard 8 10 3 11 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 05 3 14 8 66 2 74 8 66 3 17 Average watch time standard deviation 12 95 seconds 7 71 seconds 6 88 sec
144. 8 82 2 77 8 47 3 55 272 Judging Model pg_assign_al_3 Associated program a gt b a Description The value of a variable is repre sented by a rotating disk and secondly by an abacus Assignment is visualized by adjusting the disk resp abacus Time 14 seconds Concreteness 100 percent of names are used in the model as pb a Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 15 3 18 Average watch time standard deviation 15 92 seconds 11 04 Number and percentage of players who declared that the model is appropriate good judgements 103 players 66 88 percent Average confidence in good judgement standard deviation 8 83 2 54 Number and percentage of players who declared that the model is not appropriate bad judgements 51 players 33 12 percent Average confidence in bad judgement standard 6 76 3 85 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the 8 05 3 51 8 78 3 12 8 90 3 06 player s confidence standard deviation Average watch time standard deviation 16 37 seconds 8 88 seconds 6 90 seconds 12 91 4 24 3 49 Percentage of players who declared that the model 70 73 percent 82
145. 93 percent 80 49 percent is appropriate good judgements Average confidence in good judgement standard 8 62 2 96 9 12 2 60 9 85 0 87 deviation Percentage of players who declared that the model 29 27 percent 17 07 percent 19 51 percent is not appropriate bad judgements Average confidence in bad judgement standard 6 67 4 44 7 14 4 88 5 00 5 35 deviation 273 Judging Model pq_assign_al 2 Associated program x a 3 b a Description The value of a variable is repre sented by a rotating disk Assignment is visual ized by adjusting the disk Variable b adjusts the disk of a Time 14 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 38 2 96 Average watch time standard deviation 15 82 seconds 10 79 Number and percentage of players who declared that the model is appropriate good judgements 108 players 70 13 percent Average confidence in good judgement standard deviation 8 80 2 55 Number and percentage of players who declared that the model is not appropriate bad judgements 46 players 29 87 percent Average confidence in bad judgement standard deviation 7 39 3 61 First three judgements Total number of persons who played this game at least thr
146. Assimilation Piaget oder zu konstruieren Zeichnen Bauen mit Baukl tzen etc Kin derzeichnungen aus verschiedenen Altersstufen illustrieren die zunehmende Verfeinerung der verwen deten Schemata Die psychische Realit t von Schemata konnte in Erinnerungsexperimenten von Bre wer und Treyens 1981 nachgewiesen werden Testpersonen sollten sich an Details der Einrichtung eines B ros erinnern Es stellte sich heraus dass sie sich besonders gut an Gegenst nde erinnern konn ten die typischerweise in einem B ro zu finden sind die also zum Schema eines B ros geh ren 6 2 Visualisierung von Klassen in Sch lerzeichnungen Abb 112 zeigt links eine Sch lerzeichnung in der die Java Klasse Tier Skript in Anhang 3 1 durch ein Fabrikgeb ude visualisiert wird Eine Instanzierung eines Objektes wird durch einen Auftrag ausgel st der variable Attributwerte enth lt Die zweite Abbildung enth lt die Fabrik Metapher in abstrakterer Form als Produzent beliebiger Objekte des Typs ohne expliziten Auftrag Firma KY Firma ink es Rob x y N Hallo Isch ss 23 AG Abb 112 Schiiler Visualisierungen mit Fabrik Metaphern Abb 113 zeigt eine Sch lerzeichnung die den Begriff Klasse w rtlich nimmt und ihn als Klassen raum mit Tischen visualisiert Jedes Element der Klasse ist ein Tisch in einem Klassenraum Abb 113 Modell einer Klasse als Menge von Objekten Abb 114 zeigt die Visualisierung einer Klassendefinition bei der die P
147. Ausf hrung einer bestimmten rekursiven Funktion in Gedanken nachzuspielen zu simulieren Schlie lich muss ein Individuum Protokoll ber alle beteiligen Prozesse f hren und ihre Zwischenzu st nde memorieren Mehr noch F r das Verstehen oder Kreieren eines rekursiven Algorithmus kann der Gedanke an die konkrete Ausf hrung geradezu sch dlich sein Denn der Versuch des Nachspielens ist eine unn ti ge mentale Belastung und lenkt von der eigentlichen Aufgabe ab 102 Durch rekursive Funktionen k nnen Probleme nach dem Prinzip des divide and conquer gel st werden nach Schwill 1993 eine fundamentale algorithmische Idee der Informatik Ein divide and conquer Algorithmus ist nach folgendem Muster aufgebaut Wenn das Problem einfach genug ist l se es direkt Elementarfall Sonst Spalte das Problem in kleinere Teile L se die Teilprobleme durch einen oder mehrere rekursive Funktionsaufrufe Generiere aus den Teill sungen die von rekursiven Aufrufen geliefert werden eine Gesamtl sung Es handelt sich nicht um ein mentales Modell sondern um ein Schema zur Beschreibung des sprachlichen Aufbaus der Definition einer rekursiven Funktion Es gibt einen festen Rahmen vor und enth lt Slots f r variable Teile die an die jeweilige Problemstellung angepasst werden m ssen Genau genommen gibt es mehrere Schemata f r das divide and conquer Muster die sich aber nicht in den verwendeten Konzepten sondern nur in der Reihenfolge ihr
148. Average confidence in good judgement standard deviation 8 70 2 94 Number and percentage of players who declared that the model is not appropriate bad judgements 100 players 64 94 percent Average confidence in bad judgement standard 8 95 2 59 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 05 3 51 8 25 3 50 8 41 3 61 Average watch time standard deviation 8 15 seconds 5 14 6 03 seconds 3 77 4 07 seconds 2 07 Percentage of players who declared that the model is appropriate good judgements 36 59 percent 14 63 percent 7 32 percent Average confidence in good judgement standard deviation 8 67 2 97 4 17 4 92 6 67 5 77 Percentage of players who declared that the model is not appropriate bad judgements 63 41 percent 85 37 percent 92 68 percent Average confidence in bad judgement standard deviation 7 69 3 80 8 97 2 69 8 55 3 47 282 Judging Model pq_assign_a2_2 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a container To visualize successive assign ments cards move into the container after former content has moved
149. B die L nge der Liste 1 2 3 4 5 gt gt gt len 1 2 3 4 5 2 Experiment 1 2 Wie gro ist z B die L nge der Liste Sie enth lt doch eigentlich nichts gt gt gt len 1 Frage 2 Vergleicht der Operator gt die L ngen zweier Listen Experiment 2 Ist eine Liste mit drei Elementen immer gr er als eine Liste mit zwei Elementen gt gt gt lly 2 3 3 14 22 False Frage 3 Wie kann ich zwei Listen hinsichtlich ihrer L nge vergleichen Experiment 3 Man k nnte die L ngenfunktion verwenden gt gt gt len l1 2 3 gt len 4 2 True Frage 4 Kann ich bei einem Aufruf der L ngenfunktion auch einen Ausdruck mit der Konkatenation zweier Listen als Argument bergeben Experiment 4 gt gt gt len 1 2 3 4 4 186 Frage 5 Kann man die L ngenfunktion auch zur Analyse von Texten mit regul ren Ausdr cken ver wenden Experiment 5 Vorkommensh ufigkeit als L nge einer Liste gt gt gt len re findall aeiou Die Sonne scheint 6 Fragen hei t immer die im Text mitgeteilten neuen Konzepte mit bereits gelernten Konzepten in Beziehung zu setzen Die gefundenen Antworten auf Fragen an den Text k nnen als Grundlage f r intuitive Modelle dienen Antworten auf selbst gestellte Fragen sind mit gro er subjektiver Gewissheit verbunden vor allem dann wenn sie durch Experimente gewonnen wurden 2 2 Das Bem hen um Verstehen bei der Vor
150. B rosoftware findet ist die Unterscheidung von Ma terialien und Werkzeugen die man auf die Materialien anwenden kann Typische Materialien sind Textdokumente oder Terminkalender Typische Werkzeuge sind z B Editoren Die Unterscheidung von Material und Werkzeug dient nun sowohl der Analyse eines B ros Welche realen Werkzeuge und Materialien werden in einem realen B ro verwendet Welche Aufgaben werden mit den Werk zeugen durch Anwendung auf Materialien gel st als auch der Entwicklung einer B rosoftware Klassen f r Werkzeuge und Materialien Freilich ist ein paradigmatisches Modell nicht dasselbe wie ein Pattern Die Unterschiede sind folgende e Ein Pattern ist elaboriert und expliziert Es ist in irgendeiner Form z B durch einen Text UML Diagramm oder Programmcode schriftlich fixiert Dagegen ist ein paradigmatisches Modell Sa che eines Individuums Es wird wie alle intuitiven Modelle individuell unterschiedlich manch mal auch vielf ltig repr sentiert und kann unter Umst nden sogar unbewusst sein Das hei t ein Pattern ist mehr als ein paradigmatisches Modell e Ein Pattern dient letztlich der Wiederverwendung von Programmcode in Softwareprojekten Die Absicht Ressourcen zu sparen spielt jedoch bei paradigmatischen Modellen eigentlich keine Rol le Ein paradigmatisches Modell verk rpert zwar eine L sungsidee f r eine Probleml sung Diese ist aber so unspezifisch dass man eher von Anwenden und nicht von Wiederverw
151. Bei der Auswahl der Lebensweltbereiche die in einem kontext orientierten Informatikunterricht aufgegrif fen werden sollte ihre Eignung als Materialbasis f r intuitive Modelle beachtet werden Im Hinblick auf die Allgemeinbildung kommt es uns dabei haupts chlich auf die Modellierung an Die ojek torientierte Programmierung bietet lediglich eine einfache und effiziente M glichkeit die erarbeiteten Modelle zu implementieren liefert aber f r sich genommen kaum Beitr ge zur Allgemeinbildung Hubwieser 2004 S 94 Eine bersicht ber g ngige informatische Mikrowelten liefern z B Henriksen amp K lling 2004 Beispiele f r Animationen aus dem Bereich der Chemie mit Explorationsaufgaben die auf den Modellie rungsaspekt abzielen findet man in der Website Die Welt der kleinsten Teilchen Weigend 2004 148 15 6 Schluss und Ausblick Unterricht an allgemeinbildenden Schulen richtet sich an junge Menschen die sich in einem wich tigen Abschnitt ihrer Pers nlichkeitsentwicklung befinden In der Schule bilden sich nicht nur kogniti ve und soziale Kompetenzen sondern auch pers nliche Interessen und Einstellungen zu beruflichen Perspektiven Intuitive Modelle der Informatik repr sentieren Wissen das ein Individuum beherrscht Weil sie mit einem Gef hl der subjektiven Sicherheit verbunden sind inspirieren sie zum Weiterden ken einschlie lich einer kritischen Revision befl geln die Fantasie und motivieren junge
152. Bild erh lt er das Label n Name des formalen Parameters Beim rekursiven Aufruf verl sst ein Zet tel mit der Zahl 5 den Execution Frame und bewegt sich zu einem neuen Execution Frame der Funkti on sum nicht im Bild Der dritte Screenshot zeigt wie ein Zettel mit dem Ergebnis des rekursiven Aufrufs n mlich die Zahl 15 in den Execution Frame zur ckkehrt Er tr gt ein Etikett mit der Auf schrift sum 5 also der Bezeichnung des Funktionsaufrufs Wie in Abschnitt 6 7 1 erl utert kann man Funktionsaufrufe als Namen f r Daten auffassen Bei Ber hrung der beiden Datenentit ten viertes Bild werden die Werte addiert und es entsteht ein neuer Zettel mit der Zahl 21 der entsprechend dem Programmtext mit result etikettiert wird f nftes Bild Aus den beiden Namen n und sum 5 ent steht in dieser Animation also ein neuer Name Dieses Objekt wird zur ckgegeben und erh lt beim Verlassen des Execution Frames sechstes Bild den neuen Namen sum 6 Der Name result macht nur innerhalb des Execution Frames der Funktion Sinn Au erhalb ist er unbekannt 5 6 Umbenennungen in Rechenprotokollen zur rekursiven Berechnung der Fakult t Das folgende Python Skript definiert eine rekursive Funktion zur Berechnung der Fakult t def fak n if n lt 1 return 1 else return n fak n 1 In der PVS Applikation Python Visual Factorial wurden verschiedene Animationen die die Ar beitsweise der Funktion fak veranschaulichen sollten e
153. Datenentit t e Die Vorstellung der Zerlegung einer Zahl in Faktoren e Ver ndern von Listen L schen oder Hinzuf gen von Elementen 10 4 Namenumwandlungen In Kapitel 6 haben wir Namen als Mechanismus beschrieben Entit ten zu identifizieren und zu ad ressieren Intuitive Modelle zur Arbeitsweise von Programmen enthalten manchmal Umbenennungen Wenn eine Funktion einen Wert als Parameter bernimmt ist dies mit einer Umbenennung verbunden Stellt man sich die Funktion als Box mit Ein und Ausgang vor dann wird der Funktion als Eingabe ein Objekt bergeben das im Innenraum der Funktion unter einem anderen Namen gehandhabt wird als in der Umgebung visuelles Beispiel in Anhang 5 5 Ein zweiter Zusammenhang in dem Namensumwandlungen eine Rolle spielen sind Rechenproto kolle zur Darstellung der Arbeitsweise einer Funktion Ein mathematischer Term oder Funktionsaufruf kann als Name f r einen noch unbekannten Wert interpretiert werden Viele Menschen machen sich die Arbeitsweise einer solchen Funktion klar indem sie mit einem Funktionsaufruf beginnend eine Folge von Termen aufschreiben die ein Rechenprotokoll darstellt Beim Ubergang von einem Term zum n chsten wird entsprechend den Anweisungen der Funktionsde 109 finition ein Subterm durch einen anderen quivalenten Term ersetzt Beispiel rekursive Berechnung der Fakult t fak 4 4 fak 4 1 4 fak 3 4 3 fak 3 1 usw Am Ende eines solc
154. Description Many ovals representing the message bottle fill 0 4 are mov ing over the scene One hits the bottle and the bottle is filled magically Time 8 seconds Concreteness 100 percent of names are used in the model 301 Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence 7 14 3 73 standard deviation Average watch time standard deviation 9 43 seconds 7 13 Number and percentage of players who declared that the model is 7 players 33 33 percent appropriate good judgements Average confidence in good judgement standard deviation 7 14 3 93 Number and percentage of players who declared that the model is 14 players 66 67 percent not appropriate bad judgements Average confidence in bad judgement standard deviation 7 14 3 78 Judging Model pg_objects_a4_4 Associated program bottle fi11 0 4 Description The message bottle fill 0 4 is not represented by an entity Instead a manipulator arm presses a button named fill on the bottle object and initiates the filling Time 7 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s 6 67 3 65 confidence standard deviation Average watch time standard deviation 13 05 seconds 11 19 Number and percentage of players who declared
155. Ein Coach kann eine Gruppe definieren und die PVS Sitzungen seiner Gruppen auswerten Attribut Datentyp Erl uterung id varchar 20 ID des Coaches Loginname pw varchar 20 Passwort date int 20 Datum der Registrierung als Anzahl der Sekunden seit Beginn der Epoche 1 1 1970 address varchar 250 Adresse der Institution f r die die Person arbeitet email varchar 100 E Mail Adresse institution varchar 20 Art der Institution university school software company other an der die Person haupts chlich besch ftigt ist Tab 31 Tabelle coach model Die Tabelle enth lt Beschreibungen der verwendeten Modelle Animationen Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt den Flash Symbolnamen der Animation description varchar 200 Verbale Kurzbeschreibung des Modells complexity smallint Anzahl der enthaltenen Elemente grafische Elemente Textelemente time smallint Dauer der Animation in Sekunden 0 bei statischen Modellen names smallint Prozent der Namen eines zugeh rigen Programmtextes die in diesem Modell zur Bezeichnung analoger Modellteile verwendet werden Dies ist nur bei korrekten Animationen die Programmtext illustrieren relevant Der Wert dieses Attributs ist ein Ma f r die Abstraktheit eines Modells 0 bedeutet sehr abstrakt 100 bedeutet sehr konkret al smallint Zus tzliches Attribut f r etwaige sp tere Verwendung
156. Es werden dann in Konkur renz zu einer richtigen Anweisung verschiedene fehlerhafte Statements mit unterschiedlichen Merk malen als Puzzlesteine angeboten Zu Beginn einer Sitzung erscheint nach dem Einloggen eine Seite in der der Problemkontext der Puzzleaufgaben erkl rt wird Abb 12 links Nach einem Klick auf den Knopf rechts unten wird die Uhr gestartet und man gelangt auf die Editorseite Abb 12 rechts Im Editorfeld berschrift Script befindet sich oben die Kopfzeile der Funktion und unten eine print Anweisung in der die Funktion zum Testen aufgerufen wird Ein Kommentar enth lt eine Be schreibung der Funktionalit t Was soll die Funktion leisten In einigen F llen wird auf diese verba le Beschreibung komplett verzichtet Stattdessen wird die Funktionalit t in einer Animation beschrie ben Dann steht im Kommentar nur See hints Wenn der Spieler den Test Knopf bet tigt wird das Skript aufbereitet an den Server geschickt die Ausgabe und eventuell Fehlermeldung im Ausgabefenster dargestellt und eine R ckmeldung f r den Spieler generiert Liefert das Skript die korrekte Ausgabe erscheint ein next task Knopf der den bergang zur n chsten Aufgabe erm glicht Falls ein Laufzeitfehler auftritt wird die Antwort des Python Interpreters vom Client Programm Flash auf die eigentliche Fehlermeldung z B SyntaxError verk rzt und erscheint im Ausgabe feld Ausgabe Der Testlauf wird nun vom Syste
157. Falle von regul ren Ausdr cken handelt es sich um Situationen in denen es um Sprache geht So stellt L5 eine Menge von W rtern dar die sich aufeinander reimen Das Thema von L8 ist die korrekte Schreibweise der Zahl 1 mit beliebiger Anzahl f hrender Nullen Abstrakten Beispielen dagegen fehlt der Bezug zur Realwelt In den Mengen von L3 L5 L7 wer den Zeichenketten aufgez hlt ohne dass ein Zusammenhang zu realen Spracherlebnissen erkennbar ist Definitorischer Charakter Einige Beispiele sind quasi Definitionen fiir Aspekte der Semantik re gul rer Ausdr cke L5 und L7 stellen die Wirkungsweise des Plus und Sternoperators dar Die Ele mente von L re werden systematisch nach einem bestimmten Verfahren Wiederholung des Zei chens vor dem Operator aufgez hlt Die Punkte in den Mengenklammern repr sentierten eine Fortsetzung und signalisieren dass die gesamte unendliche Menge nach dem angedeuteten Verfah ren konstruiert werden kann Das Zeichen a kann auch als Metabezeichner f r einen beliebigen regul ren Ausdruck interpretiert werden In anderen F llen ist der definitorische Charakter des Beispiels geringer ausgepr gt In L4 werden in der Beispielmenge f r den Punkt des regul ren Ausdrucks aus irgendwelche Buchstaben ein gesetzt so dass sich ein sinnvolles Wort ergibt Maus Laus usw Die Auswahl des Zeichens geschieht aber nicht systematisch sondern willk rlich Die drei Punkte in den Mengenklamm
158. Form sprachlich zu beschreiben und auf andere Ph nomene anzuwenden biologisch determiniert ist Mithen und Boyer 1996 sind der Auffassung dass die F higkeit zu anthropomorphem Denken etwa vor 100 000 bis 40 000 Jahren sich gegen ber anderen fr hen Menschformen z B Neandertaler als evolution rer Vorteil herausgestellt hat Erste arch ologische Hinweise auf anthropomorphes Den ken sind z B Abbildungen von Menschen mit Tierk pfen aus der Zeit vor 30 000 Jahren How many a s 2 o are in alad erd as D o How many a s amp are in d Abb 62 Anthopomorphes Modell aus der PVS f r die Ausf hrung einer rekursiven Funktion Der informatische Fachjargon ist voller anthropomorpher Redewendungen die zwischenmenschli che Interaktionen wiedergeben Eine Funktion bernimmt Argumente und gibt etwas zur ck ein Prozess schl ft oder wird geweckt Da Menschen erheblich komplexer sind als die Komponenten einfacher Computerprogramme bedeutet derartige Modellierung durch Anthropomorphismen keine strukturelle Vereinfachung Der Vorteil von anthropomorphen Modellen liegt vermutlich darin dass sie aus einer sehr vertrauten und f r das berleben wichtigen Erfahrungssph re stammen und mit einem hohen Ma an Gewissheit verkn pft sind Jeder hat eine ziemlich pr zise Vorstellung was es hei t zu schlafen obwohl dies bei genauerer Betrachtung ein relativ komplexes Ph nomen ist man lebt noch
159. Funktion f nach Eingabe von 3 zur ckgegeben wor den ist Beim Nachvollziehen der Arbeitsweise einer rekursiven Funktion kann es hilfreich sein rekur sive Funktionsaufrufe als Namen f r ein Objekt zu verstehen das zum aktuellen Zeitpunkt noch nicht bekannt ist Betrachten wir die folgende Anweisung aus einer rekursiven Funktion die die Fakult t berechnet return n fak n 1 Es ist denk konomisch die Anweisung so zu verstehen fak n 1 ist ein Name f r die Fakult t von n 1 also eine Zahl Diese Zahl wird mit n multipliziert um die Fakult t von n zu erhalten Der einzige dynamische Aspekt bei dieser Interpretation ist die Multiplikation zweier Zahlen Wenn ich dagegen fak n 1 nicht als Name sondern dynamisch als Funktionsaufruf deute muss ich in meiner Vorstellung unter Umst nden viele rekursive Aufrufe durchspielen eine gewaltige Denkleistung In der Mathematikdidaktik Crowley et al 1994 Knuth et al 2006 wurde beobachtet dass zuwei len mathematische Objekte ohne innere Dynamik dynamisch interpretiert werden So fassen Kinder eine Gleichung vom Typ x artrb als Rechenvorschrift auf also als Anweisung eine Addition auszuf hren Analog zu dieser Dynami sierungstendenz kann man in unserem Zusammenhang die Verwendung indirekter Namen als Dedy namisierung verstehen Wiederum ist mit der Dedynamisierung eine Reduktion der Komplexit t ver bunden Indem ich ein Objekt als n die Fakult t von n bezeichne erspare ich mir die
160. Funktionsaufruf abgearbeitet ist und f hrt dann fort Gegenseitige Rekursion entsteht wenn zwei Funktionen sich abwechselnd gegenseitig aufrufen Rekursion ist ein Konzept zur Steuerung von Programml ufen Rekursion ist aber auch ein allge meines Prinzip das zur Beschreibung von Dingen in der Welt herangezogen werden kann Manche Ph nomene des Alltags legen eine rekursive Beschreibung nahe e Vorfahren Meine Vorfahren sind meine Eltern und deren Vorfahren e Matroschka Russian Doll Eine Matroschka ist entweder massiv oder sie besteht aus einer hohlen Puppe die eine Matroschka enth lt Fothe 2005 Solche rekursiven Ph nomene insbesondere die Russian Dolls werden gelegentlich als Modelle f r Rekursion bezeichnet Wu et al 1998 Fothe 2005 verwendet sie zum Testen von Wissen ber 99 Rekursion Levy und Lapidot 2001 beschreiben kognitive Konzepte die mit Rekursion assoziiert werden wie z B Regelm igkeit Gradualit t Periodizit t und Zirkularit t siehe Anhang 4 3 9 6 1 Rekursion als Schleife Eine Reihe von Autoren bezeichnen das Schleifenmodell loop model als typische Fehlvor stellung von Anf ngern ber die Arbeitsweise rekursiver Funktionen Kahney 1984 Kurland amp Pea 1985 Bhuiyan et al 1994 Close amp Dicheva 1997 Im Schleifenmodell wird die Ausf hrung einer rekursiven Funktion als Wiederholung gesehen Der rekursive Aufruf wird als Aufforderung gesehen die bisherige
161. Goal Plan Analysis of Buggy Pascal Pro grams In Soloway amp Spohrer 1989 355 399 Stary Joachim 1997 Visualisieren eine Studien und Praxisbuch Berlin Stern Linda Naish Lee 2002 Visual Representations for Recursive Algorithms In Proceedings of the SIGCSE 2002 Covington Kentucky USA 2002 S 196 200 Storey M A D Wong K M ller H A 1997 How Do Program Understanding Tools Affect How Programmers Understand Programs In Proceedings ofthe Fourth Working Conference on Reverse Engineering S 12 21 Str ker Elisabeth 1967 Denkwege der Chemie Freiburg M nchen Sutcliffe Alistair G Darzentas Jenny S 1994 Use of Visual Media in Explanation In Tauber M J Mahling D E Arefi F Hrsg Cognitive Aspects of Visual Languages and Visual Interfaces Amsterdam London New York Tokio North Holland 1994 S 105 ff Smith Randall B Ungar David 1995 Programming as an Experience The Inspiration for Self In Proceedings of ECOOP 95 Lecture Notes on Computer Science 952 Springer Taivalsaari Antero 1992 Kevo a prototype based object oriented language based on concatenation and module operations Technical report DCS 197 IR University of Victoria B C Kanada Juni 1992 Taivalsaari Antero 1997 Classes vs Prototypes Some Philosphical and Historical Observations In JOOP 10 7 1997 S 44 50 Temple David M Guest Stece P 1994 Diagrammatic Techniques for the Visualisatio
162. Hilsdale NJ S 453 494 Collins Allan Brown John Seely Holum Ann 1991 Cognitive apprenticeship Making thinking visible In American Educator 6 11 S 38 46 Craik Kenneth 1943 The nature of explanation Cambridge 152 Crowley Lillie Thomas Michael Tall David 1994 Algebra Symbols and Translation of Meaning In Proceedings of the 18 International Conference for the Psychology of Mathematics Education PME S 240 247 Crutzen Cecile K M Hein Hans Werner 1995 Objektorientiertes Denken als didaktische Basis der Informatik In Sigrid Schubert Hrsg Innovative Konzepte f r die Ausbildung 6 GI Fachtagung Informatik und Schule INFOS 95 Chemnitz 25 28 September 1995 Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest Springer Dicheva Darina Close John 1996 Mental Models of Recursion In Journal of Educational Com puting Research 14 1 S 1 23 Dewdney A K 1995 Der Turing Omnibus Eine Reise durch die Informatik mit 66 Stationen Berlin Heidelberg New York Dingler H 1913 Die Grundlagen der Naturphilosphie Leibzig diSessa Andrea A 1988 Knowledge in Pieces In George Forman amp Peter B Pufall Hrsg Con structivism in the Computer Age Hillsdale Lawrence Erlbaum S 49 70 diSessa Andrea A 1993 Toward an Epistemology of Physics In Cognition and Instruction 10 3 S 105 225 diSessa Andrea A Changing Minds Computers Learning an
163. Holzkamp Gesamtschule Witten Klara Schumann Gymnasium Bonn Westf lische Wilhelms Universit t M nster FernUniversit t Hagen Dank auch an Prof Dr Ming Ming Chiu und Prof Dr Fong Lok Lee Chinese University of Hong Kong f r die anregenden Korrespondenzen und pers nlichen Gespr che ber Metaphern und E Learning Verbunden f hle ich mich der Python Community insbesondere Jeff Elkner f r die Dis kussion der Python Visual Sandbox auf der PyCon 2005 in Washington D C Nicht unerw hnt bleiben soll Hendrik B dding Universit t M nster der sich die Arbeit gemacht hat das Manuskript kritisch durchzusehen Witten Dezember 2007 Michael Weigend Inhaltsverzeichnis Einleitung 1 Intuitive Modelle und informatisches Wissen 1 1 Intuition als Wissen 1 2 Intuition als prozedurales Wissen 1 3 Intuitive Modelle als bedeutungsbezogenes deklaratives Wissen 1 3 1 Begriffe Identifikation von Objekten 1 3 2 Schemata Speichern struktureller Merkmale 1 3 3 Mentale Modelle 1 4 Merkmale intuitiver Modelle 1 5 _ Ph nomenologische Primitive 1 6 Intuitive Modelle und Fehlvorstellungen Repr sentation intuitiver Modelle 2 1 Duale Kodierung von Wissen 2 2 Vielfalt und Fl chtigkeit 2 3 Repr sentation und Metaphorisierung 2 3 1 Uneigentliche Redeweise in der Informatik 2 3 2 Metaphern und analoges Denken 2 3 3 Metaphern als Bilder f r intuitive Modelle 2 4 Beispiele als Repr sentationen intuitiver Modelle
164. Judging Model pg_assign_a2_6 Associated program today Monday today Tuesday today Wednesday N today Wednesday Description A variable is represented by a sheet with title Assignments are visualized through writing words on it after having erased the former word Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 77 2 70 confidence standard deviation Average watch time standard deviation 9 28 seconds 6 22 Number and percentage of players who declared that 111 players 72 08 percent the model is appropriate good judgements Average confidence in good judgement standard 9 46 1 56 deviation Number and percentage of players who declared that 43 players 27 92 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 6 98 3 96 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the 8 05 3 51 8 62 2 99 8 66 3 36 player s confidence standard deviation Average watch time standard deviation 9 61 seconds 5 83 seconds 3 49 seconds 7 65 3 31 2 10 Percentage of players who declared that the model 70 73 percent 85 37 percent 78 05 percent is appropriate
165. Michael 1999 Roboter im Internet 1 In Informatik betrifft uns 1999 4 Weigend Michael 2005 Intuitive Modelle in der Informatik In Friedrich Steffen Hrsg Unter richtskonzepte f r informatische Bildung INFOS 2005 Lecture Notes in Informatics LNI Pro ceedings Bonn GI 2005 S 275 284 Weigend Michael 2005a Objektorientierte Programmierung In Markus Nix Hrsg Martin Grimme Torsten Marek Michael Weigend Wolfgang Weitz Exploring Python Frankfurt ent wickler press Weigend Michael 2006 Python Gepackt Dritte Auflage Heidelberg Redline 2006 158 Weigend Michael 2006a Objektorientierte Programmierung mit Python Dritte Auflage Heidelberg Redline Weigend Michael 2006b Experimental Programming In Deryn Watson amp David Benzie Hrsg IFIP WG 3 1 3 3 amp 3 5 Joint Conference Alesund Norwegen 2006 Proceedings Weigend Michael 2006c Design of web based educational games for informatics classes some insights from workshops with the Python Visual Sandbox In Workshop GML Grundfragen multimedialer Lehre Potsdam 14 15 3 2006 im Druck Weigend Michael 2006d From Intuition to Programme In Roland T Mittermeir Hrsg Informat ics Education The Bridge between Using and Understanding Computers ISSEP 2006 Vilnius Litauen Proceedings Berlin Heidelberg Springer S 117 126 Wertheimer Max 1925 ber Gestalttheorie In Philosopgische Zeitschrift f r For
166. Modelle die jeweils die grunds tzliche Idee eines relativ komplexen Algorithmus verk rpern Nehmen wir die klassischen Sortierverfahren als Beispiel Bubblesort basiert auf der Vorstellung dass in einer aufsteigend sortierten Liste der linke Nachbar eines jeden Elementes kleiner ist sofern ein linker Nachbar existiert Der Blick konzentriert sich auf eine Stelle der Liste Ein Element wird mit seinem linken Nachbarn verglichen Falls dieser gr er ist tauschen die beiden Elemente die Pl tze Wenn das gen gend oft geschieht ist die Liste sortiert Auch wenn man zur Beschreibung der Idee mehrere S tze braucht so kann man sie sich dennoch als ein abstraktes zusammenh ngendes Ganzes vorstellen Das Beispiel zeigt dass antizipatorische Intuitionen durch semantische Intuitionen inspiriert und unterst tzt werden k nnen vgl Fischbein 1987 Bubblesort basiert auf dem Gedanken dass in einer 37 aufsteigend sortierten Liste der linke Nachbar eines Elementes kleiner ist Das ist zun chst eine se mantische Intuition die das Konzept der sortierten Liste verst ndlich macht aber noch in keinem Zu sammenhang mit einer Probleml sung steht Die antizipatorische Intuition des Sortierens durch Aus wahl straight selection wird dagegen durch das semantische Konzept des Minimums gest tzt In einer sortierten Liste So Si r Sn istjedes Element s das Minimum der Teil Liste s Si tlr c Sn 3 3 2 Ansatz und Verfeinerung John An
167. OOPSLA Vancouver Kanada November 2004 S 73 82 Hershkowitz R und Vinner Sh 1982 Basic geometric concepts definitions and images In Vermandel A Hrsg Proceedings of the Sixth International Conference for the Psychology of Mathematics Education Antwerpen Universitaire Instelling 1982 S 18 23 Holland Simon Griffiths Robert Woodman Mark 1997 Avoiding Object Misconceptions In Proceedings ACM SIGCSE 1997 S 131 134 Holmboe Christian McIver Linda George Carlisle 2001 Research Agenda for Computer Science Education In Kadoda G Hrsg PPIG 13 Bournemouth UK April 2001 Hubwieser Peter 1999 Modellierung in der Schulinformatik In Log In 19 1 1999 S 24 29 Hubwieser Peter 2004 Didaktik der Informatik Grundlagen Konzepte Beispiele 2 Aufl Berlin u a Springer 2004 Huntemann Heike Paschmann Antje Parchmann Ilka Ralle Bernd 1999 Chemie im Kontext ein neues Konzept f r den Chemieunterricht In Chemikon 6 4 S 191 196 Jeong Allan Lee Mihwa Lehrer Richard 1999 Reflective Teaching of Logo In Journal of the Learning Sciences 8 2 S 245 288 Jimenez Diaz Guillermo Gomez Albarran Mercedes Gomez Martin Marco A Gonzalez Calero Pedro A 2005 Understanding Object Oriented Software through Virtual Role Play In Fifths International Conference on Advanced Learning Technologies ICALT 05 S 875 877 Johnson W Lewis 1990 Understanding and Deb
168. Objekten a und b repr sentiert Der Wert ist also keine eigene Entit t sondern immateriell und integraler Bestand teil eines Objektes Die Zuweisung b a wird dadurch visualisiert dass Objekt b durch einen ber geordneten Akteur Greifarm der von oben ins Bild kommt und die Drehscheibe von b bewegt in den gleichen Zustand wie Objekt a gebracht wird Im rechten Modell pq_assign_al_3 werden zwei un terschiedliche Visualisierungen f r den Zustand 3 verwendet iS Abb 29 Screenshots aus drei Animationen zur Visualisierung von Zuweisungen Von links nach rechts pq_assign_al_5 Entit t Modell pq_assign_al_1I Zustand Modell und pq_assign_al_3 Zustand Modell Die Mehrheit der beobachteten Sch lerinnen und Sch ler die an PVS Workshops teilgenommen haben sehen alle drei Animationen als geeignete Visualisierungen siehe Tab 8 Allerdings hat die Animation die ein Entit tsmodell f r Daten verwendet eine deutlich h here Akzeptanz 86 4 als die beiden Animationen mit Zustandsmodellen p lt 0 0001 n 154 Dauer der A Entscheidungs Als passend Konfidenz nimation zeit Stdabw beurteilt von Stdabw Wert Datum als eigene Entit t 6s 9 06 s 133 86 4 8 77 2 76 pq_assign_al_ 5 7 39 Wert als Zustand eines Objektes 14s 19 93 s 100 64 9 8 30 3 03 pq_assign_ al 1 10 96 Wert als Zustand eines Objektes 14s 15 92 s 11 04 103 66 7 8 83 2 54 pq_assign_al 3
169. Python Visual Sandbox for teaching IF you teach a group of students it might be of advantage to register it in the Python Visual Sandbox When you have specified a group you can evaluate your students answers Example Your students have worked on a Python Visual during a lesson You can display a survey ofthe selected answers and discuss it Coach Login If you are not registered as a coach click here Login name coach Password coach 2005 Michael Weigend Abb 92 Dialogseite f r Coaches 3 4 Auswertung der Datenbank Mit verschiedenen ber das Internet zug nglichen Werkzeugen kann die Datenbank der PVS aus gewertet werden Die Datenbank auch Daten von Testentit ten die keine realen Personen repr sentie ren und in keiner Auswertung ber cksichtigt werden Der Name einer Testentit t beginnt mit der Zei chenkette test _ Testentit ten sind notwendig um die Funktionalit t der PVS zu pr fen und etwaige Fehler zu entdecken Die Auswertungswerkzeuge sind entweder ffentlich Usage involvierten Spielern zug nglich z B Activity Reports Highscore Listen oder komplett abgeschirmt wissenschaftliche Auswertung 209 3 4 1 Auswertungsm glichkeiten f r Spieler und Zuschauer V llig ffentlich ist der Usage Bericht der von der Startseite der PVS aus abgerufen werden kann Er enth lt globale Angaben ber Anzahl der Sitzungen bei den verschiedenen Applikationstypen Be ruf und mittleres Alter der Teilnehmer und
170. Reaktion Je schneller das Modell analysiert und bewertet wird desto intuitiver ist es Bei einer schnellen Reaktion kann man davon ausgehen dass der Spieler bereits fr her einmal mit einem hnlichen Modell in Gedanken operiert hat Bei einer langsamen Reaktion ist eher zu vermuten dass diese Art der Interpretation f r sie oder ihn neu ist 2 Gesetzte Punktzahl Je mehr Punkte gesetzt werden desto sicherer sind die Spieler dass ihre Einsch t zung korrekt ist 3 Korrektheit Fehlerhafte Bewertungen insbesondere wenn ein eindeutig falsches Modell als richtig eingestuft wird k nnen verschiedene Ursachen haben Vielleicht wurde das Modell gar nicht durch schaut und es wurde nach dem Zufallsprinzip geantwortet Oder ein eindeutig falsches Detail des Mo dells z B falscher Bezeichner wurde bersehen In jedem Fall weist eine fehlerhafte Bewertung auf eine geringere Vertrautheit mit dieser Art der Darstellung und damit auf geringere Intuitivit t hin 4 8 Workshops mit der PVS In den Jahren 2005 und 2006 habe ich insgesamt 14 Workshops mit der Python Visual Sandbox an Schulen und Universit ten in Deutschland und Hongkong China durchgef hrt Daran haben insge samt 241 Personen teilgenommen davon kamen 187 aus Deutschland 54 waren weiblichen und 187 m nnlichen Geschlechts Unter den Teilnehmern waren 195 Sch ler innen 24 Universit tsstudierende und 22 Lehrer innen Jeder Workshop war ein Unikat und orientierte sich inhalt
171. S 2003 Mentale Modelle und ihre Bedeutung kognitionspsychologische Grundlagen des Miss Verstehens In U Ganz Blattler amp P Michel Hrsg Sinnbildlich schief Missgriffe bei Symbolgenese und Symbolgebrauch Schriften zur Symbolforschung Vol 13 Bern Peter Lang S 181 205 Nakamura T 1974 The learning of motion and force In Takahashi K und Hosoya K Hrsg Introduction to methods of Kyokuchi Modern science education Tokio Navarro Prieto Raquel Canas Jose J 2001 Are visual programming languages better The role of imagery in program comprehension In Journal Human Computer Studies 2001 54 S 799 829 Odell James J 1994 Six Different Kinds of Composition In JOOP 5 8 Oerter Montada 1994 Hrsg Entwicklungspsychologie Weinheim Beltz Oviedo Maria Cecilia Nunez Clement John 2003 Model Competition A Strategy Based on Model Based Teaching and Learning Theory In Procedings of NARST Philadelphia 23 26 Marz 2003 Paivio Allan 1971 Imagery and language In S J Seagl Hrsg Imagery Current cognitive ap proaches New York Holt Rinehardt amp Winston S 7 32 Paivio Allan 1986 Mental representations a dual coding approach Oxford Oxford University Press Papert Seymour 1980 Teaching Children Thinking In R Taylor Hrsg The Computer in School Tutor Tool Tutee New York College Press S 161 176 Parikh Jadhish 1994 Intuition the new frontier
172. SE 2000 Austin Texas USA S 31 319 Levy Dalit Lapidot Tami Paz Tamar 2001 It s just like the whole picture but smaller Expres sions of gradualism self similarity and othe pre conceptions while classifying recursive phenom ena In Kadoda G Hrsg Proc PPIG 13 Bournemouth UK April 2001 S 249 262 Ley R G 1983 Cerebral laterality and imagery In A A Sheikh Hrsg Imagery Current theory research and application New York Wiley Linn Marcia C Dalbey John 1989 Cognitive Consequences of Programming Instruction In So loway amp Spohrer 1989 S 58 ff Logo Computer Systems Inc 2004 Microworlds JR Ressource Book with Extended Reference Guide Madison Sandra Gifford James 2002 Modular Programming Novive Misconceptions In Journal of Research on Technology in Education 34 3 S 217ff Manis V amp Little J 1995 The Schematics of Computation Prentice Hall Mayrhauser A von Vans A M 1994 Program Understanding A Survey Technical Report CS 94 120 Department of Computer Science Colorado State University USA Mayer Richard E 1989 The Psychology of How Novices Learn Computer Programming In Solo way amp Spohrer 1989 S 129 159 McCloskey M 1983 Naive theories of motion In Gentner D und Stevens A Hrsg Mental models Hillsdale NJ Lawrence Erlbaum Associates Inc S 299 324 Messaris Paul 1993 Analog Not Digital Roots of Visual L
173. Sekunde Anzahl angeschlossener Rechner etc Beim Stress Testen wird das System mit Absicht berlastet um zu pr fen wie das System mit der Situation fertig wird Zusammenbruch oder kontrollierte Handhabung der System berlastung Bew hrung in Extremsituationen Wenn die Funktion f r extreme Eingabewerte Grenzf lle Extremsituationen das richtige Er gebnis liefert wird sie auch bei normalen Argumenten die man sich als Mischung aus Extremsitua tionen vorstellen kann korrekt arbeiten Zum Beispiel bei einer Sortierfunktion k nnten folgende Listen als Extreme verstanden werden leere Liste 1 einelementige Liste 198 2 3 aufsteigend sortierte Liste 3 2 1 absteigend sortierte Liste 25 1215 2 Liste mit Duplikaten 1 1 1 Liste mit lauter gleichen Elementen Im Unterschied zu den Belastungstests sind die hier gemeinten Extremsituationen nicht unbedingt schwierig So ist eine leere Liste als Testargument f r eine Sortierfunktion ein sehr einfacher Ex tremfall 3 Materialien zu den empirischen Untersuchungen 3 1 Visualisierungsubungen Im Juni 2006 habe ich mit Sch lerinnen und Sch lern der Holzkamp Gesamtschule Witten Visuali sierungs bungen zu Java Programmen durchgef hrt Dabei wurden die folgenden beiden Aufgaben bl tter verwendet 3 1 1 Aufgabenblatt 1 Informatik visuell Ein Bild sagt mehr als tausend Worte public class Soccer private String te
174. Sequenz von Anweisungen noch einmal von vorne zu beginnen allerdings unter Verwendung eines anderen Argumentes Der rekur sive Aufruf wird als Sprungbefehl in Kombination mit der Ver nderung von Variablen Argumente interpretiert Insofern liegt tats chlich eine Schleife vor Das Schleifenmodell f hrt bei endrekursiven Prozeduren nicht zu Widerspr chen Bei diesem Spe zialfall rekursiver Funktionen wird kein nichtleeres Objekt zur ckgegeben und der rekursive Aufruf erfolgt ganz am Ende der Anweisungsfolge Man beachte dass jede Funktion die ein Ergebnis zu r ckgibt also keine Prozedur ist nicht endrekursiv sein kann weil die R ckgabe des Ergebnisses die letzte ausgef hrte Anweisung ist und der rekursive Aufruf vorher erfolgt Bhuiyan et al 1994 sind der Auffassung dass es zum Schleifenmodell kommt wenn Program mieranf nger vorher erworbenes Wissen ber Iterationen auf die Interpretation und Generierung von rekursiven Funktionen anwenden Auf der anderen Seite konnten Anzai amp Uesato 1982 f r den Be reich der Mathematik nachweisen dass Sch ler rekursive Funktionen wie die Fakult tfunktion leichter formulieren konnten wenn sie zuvor mit iterativen Funktionsdefinitionen experimentiert hatten Kess ler und Anderson 1989 beobachteten dass bungen mit iterativen Programmen einen positiven Transfereffekt auf anschie endes Erstellen rekursiver Programme hatten Dagegen f hrte ein Training mit rekursiven Programmen be
175. Testanweisungen werden nicht ausgef hrt Nach dem Edieren des Programmtextes startet Sandra die Datei und kontrolliert die Ausgabe der Testanweisungen im Shell Fenster In diesem Fall sieht sie lt _ main _ Geld instance at 0x00D2C148 gt USD Falls die Ausgabe vom erwarteten Ergebnis abweicht oder Laufzeitfehler auftreten enth lt die Klassendefinition logische Fehler Der Programmtext wird abge ndert und erneut getestet solange bis das Programm das gew nschte Ergebnis liefert Im obigen Beispiel ist das Programm korrekt Die erste Zeile der Ausgabe enth lt eine interne Repr sentation des Objektes g Sandra beschlie t als n chstes daf r zu sorgen dass mit der print Anweisung eine lesbare Objekt Repr sentation ausgegeben wird Dazu erg nzt sie eine magische Methode str __ die in einer print Anweisung vom Laufzeitsystem aufgerufen wird class Geld def _str__ self return self waehrung str self betrag Testen if name main Ti Die Ausgabe im Shell Fenster lautet nun wie erwartet USD 100 0 USD Auf diese Weise f hrt Sandra fort und erweitert schrittweise ihr Programm bis es die gew nschte Funktionalit t hat Das Entscheidende ist folgendes Obwohl Sandra formal eine Klassendefinition schreibt modelliert sie doch in Gedanken einen Prototypen Alle kognitiven Aktivit ten drehen sich um ein einzelnes Objekt das die Klasse repr sentiert Dass es sich programmtechnisch um eine Klas sendefi
176. Vorstellung den Wert der Fakult t tats chlich ausrechnen zu m ssen Ich blende also einen Teil der Mechanik des 68 Modells aus Der verbleibende Rest ist einfacher und intuitiver Untersuchungen mit der PVS im Zu sammenhang mit Rekursion zeigen jedoch dass Funktionsaufrufe und Terme trotz des kognitiven Vorteils eher selten als Benennung verstanden werden vgl Abschnitte 8 8 4 10 6 6 7 2 Benennung durch Literale Literale sind Zeichenketten die Objekte repr sentieren 1 1 0 1 00000 1 0E0 01 sind unter schiedliche Literale f r das gleiche Objekt n mlich die Zahl 1 Im Unterschied zum Literal ist eine Zahl ein ideelles mathematisches Objekt das auch dann existiert wenn es niemals aufgeschrieben oder sonst wie materiell repr sentiert wird Programmiersprachen erlauben in der Regel dass man Objekte ber ein Literal ansprechen kann In diesem Fall fungiert das Literal als indirekter Name Bei spiel Mit klein geschrieben upper wird an das Objekt das durch das Literal klein geschrieben repr sentiert wird eine Botschaft geschickt Aufruf der Methode up per Gegen ber anderen Benennungsverfahren weisen Literale folgende Besonderheiten auf e Ein Literal f r ein Objekt muss nach einem vorgegebenen Verfahren gebildet werden das in der Grammatik der Programmiersprache spezifiziert ist e Ein Literal kann Informationen ber den Typ des Objektes enthalten das es bezeichnet Bei Python z B bezeichnet ein Lit
177. Wechsel der Sichtweise scheint jedoch Schwierigkeiten zu bereiten Das ergeben Untersuchungen mit der PVS In verschiedenen Python Visuals wurden Teilnehmer mit verschiedenen Animationen zur Erkl rung der Arbeitsweise rekursiver Funktionen konfrontiert Die meisten Teil nehmer der PVS bevorzugten die l ngeren und komplexeren Animationen die die Rekursion vollst n dig bis zum Abbruch im Elementarfall nachvollziehen gegen ber Darstellungen die nur den ersten rekursiven Aufruf zeigen Details im Anhang 4 6 103 104 10 Verarbeitung Ein Computer wird h ufig als Ger t beschrieben das Daten verarbeitet In diesem Kapitel wird un tersucht wie elementare intuitive Modelle zur Entstehung Vernichtung Ver nderung und Bewegung verwendet werden um Verarbeitungsprozesse darzustellen 10 1 Entstehen Modelle f r Verarbeitungsvorg nge implizieren h ufig die Entstehung neuer Entit ten Entstehung kann als Erschaffung Kreation oder als Auswahl gesehen werden 10 1 1 Entstehen von Daten Die Anweisung b a wird bei Verwendung eines Beh ltermodells f r Variablen als Kopieren des Inhalts von a beschrieben Dabei wird eine neue Datenentit t die Kopie geschaffen Das Refe renzierungsmodell dagegen korrespondiert mit der Vorstellung einer Entstehung durch Auswahl Die Zuweisung a 3 wird hier so interpretiert dass aus einem konstanten Reservoire von Zahlen die Zahl 3 ausgew hlt und mit a benannt wird 10 1 2 Entstehung von N
178. Zeichen besteht Dann wird der rekursive Aufruf pattern3 bf w bersprungen weil er nichts bewirkt und die mit der letzten print Anweisung die aktuelle Zeichenkette O nochmals ausgegeben Auch andere Fehlvorstellungen zur Rekursion die Dicheva und Close identifiziert haben basieren auf der Vorstellung eines einzigen Akteurs Dicheva amp Close 1996 Close amp Dicheva 1997 4 5 Anwendung des Delegationsmodells zur Visualisierung der Ar beitsweise rekursiver Funktionen Das Delegationsmodell wird in unterschiedlichen Visualisierungsans tzen verwendet Sie unter scheiden sich vor allem in der Durchl ssigkeit der Systemgrenze Im Boxmodell wird der Akteur Prozess als Kasten dargestellt in dessen Inneren bei Funktions aufrufen weitere K sten entstehen In dieser Schachtelung klingt das von Levy Lapidot amp Paz 2001 beobachtete zur Rekursion assoziierte Konzept enthalten sein an Mit dem Boxmodell kann die Aus f hrung einer rekursiven Funktion durch ein System dargestellt werden das nur ber Ein und Aus g nge Kontakt mit der Umgebung hat Eine zweite Variante des Delegationsmodells verwendet Boxen mit Seitentiiren und verzichtet auf Schachtelung Beim rekursiven Aufruf werden Daten nicht durch den Ausgang durch den nur das Ergebnis nach au en darf sondern gewisserma en durch eine Seitent r an einen anderen Akteur bergeben Dieser und das ist das Entscheidende befindet sich au erhalb des aufr
179. Zur cksetzen der Summe auf null Ein solches intuitives Objekt kann zur Interpretation eines nicht objektorientierten Programms verwendet werden in dem nur eine Variable namens summe vorkommt die initialisiert und in einer Iteration ver ndert wird summe 0 for i in liste summe i Das Modell ist intuitiv und in sich gut verst ndlich aber strukturell entfernt von dem Programm text der damit erkl rt werden soll summe E Abb 15 Ein Objekt als Akteur zur Veranschaulichung der Idee eines nicht objektorientierten Programms 59 60 6 Benennung von Entit ten Namen f r Entit ten der Realwelt werden in fr her Kindheit gelernt Sie erm glichen die interne gedankliche Repr sentation der externen Welt nach Piaget der Beginn der Intelligenz Namen haben verschiedene Funktionen Sie identifizieren eine Entit t erm glichen den Zugriff Adressierung bringen ihre Funktion innerhalb eines Kontextes zum Ausdruck und repr sentieren somit auch Bezie hungen zwischen Entit ten Namen k nnen explizit aber auch implizit sein So ist die Position eines Objektes in einer Sequenz Index ein Name f r das Objekt Eine Stecknadel auf einer Landkarte mar kiert benennt einen Ort Wir diskutieren nun einige intuitive Modelle die sich um die Benennung von Entit ten drehen 6 1 Behaltermodell und Referenzierungsmodell Eine bekannte Intuition f r Variablen ist die Vorstellung eines Beh lters f r Daten Beh ltermo d
180. aber auch so stark reduziert sein dass es nur einen Sonderfall repr sen tiert leere Liste Liste mit drei gleichen Elementen etc Dennoch kann ein solches f r sich alleine nicht repr sentatives Beispiel eine wichtige Rolle in einer Kollektion von Beispielen spielen Reichhaltigkeit DiSessa sieht Reichhaltigkeit richness als Merkmal ph nomenologischer Primiti ve Unter Reichhaltigkeit verstehen wir hier die Eigenschaft einer Intuition mehrere unterschiedliche Facetten eines abstrakten Konzepts wiederzugeben Offenbar ist Reichhaltigkeit mit Komplexit t ver bunden Die beiden Begriffe meinen aber nicht genau das gleiche Hinter dem Terminus reichhaltig steckt auch der Gedanke dass ein reichhaltiges Modell st rker zu kognitiven Aktivitit ten inspiriert Es bietet mehr Ankn pfungspunkte f r die interne Vernetzung mit anderen Konzepten Ein triviales Beispiel repr sentiert ein allgemeines Prinzip h ufig schlechter als ein Beispiel das eine gewisse Komplexit t besitzt So wird von Sch lern eine Liste mit drei Elementen eher als typisches Beispiel einer Liste gesehen als eine Liste mit nur einem oder gar keinem Element Ein sehr einfacher regul rer Ausdruck wie a wird seltener als Merkbeispiel f r regul re Ausdr cke gew hlt als bB all Letzterer verr t mehr ber die M glichkeiten der Konstruktion regul rer Ausdr cke 28 Platzhalter Wiederholung und ist insofern reichhaltiger Ein weiteres Beispiel f r Modell
181. aber man ist inaktiv bis man wieder aufwacht Abb 62 zeigt einen Screenshot aus einer Animation der PVS in der die Ausf hrung einer rekursiven Funktion auf anthropomorphe Weise durch soziale Ereignisse n mlich als Wechselspiel von Fragen und Antworten modelliert wird 13 5 Clusterbildung und Fokussierung Intuitive Modelle sind einfach Das hat zur Folge dass ein Modell das Original nur unvollst ndig abbildet Dieses Problem der Begrenztheit von Intuition l st man dadurch dass man ein Cluster von Modellen verwendet Insbesondere wenn es darum geht anderen ein Programm zu erkl ren fokus sieren die verwendeten Modelle auf bestimmte Aspekte Das Verst ndnis des Gesamten ergibt sich gewisserma en aus der Summe der herangezogenen Intuitionen Die folgende Abbildung zeigt einen Cluster von Intuitionen zur Repr sentation einer Liste 132 Abb 63 Cluster intuitiver Modelle f r eine Liste Oben wird die Liste als Beh lter dargestellt der Zettel enth lt Die Zettel kann man herausnehmen oder ersetzen Dieses Modell fokussiert folgende Aspekte einer Liste e Beh lter Die Liste enth lt Elemente Items e Entitat Die Liste ist eine eigene Entit t sie ist mehr als die enthaltenen Elemente e Iterierbarkeit Man kann die Elemente nacheinander herausnehmen um sie zu verarbeiten e Direkter Zugriff Man kann ein Element ber das Fach in dem es sich befindet erreichen In der Mitte wird eine Liste durch eine lineare Anordnu
182. achen wie C oder Python erlauben die Definition formatierter Zeichenketten Anstatt eine Zeichenkette durch Konkatenation aus mehreren Teilen zusammenzusetzen definiert man eine Zeichenkette mit Platzhaltern Man gibt sozusagen ein Muster vor von dem durch Einsetzungen unterschiedliche konkrete Auspr gungen erzeugt werden Beispiel Python gt gt gt textl s geht nach s Axel Berlin gt gt gt print textl Axel geht nach Berlin Das Beispiel zeigt eine M glichkeit wie variable Zeichenketten mit Python mit Platzhaltern spezi fiziert werden k nnen u erlich ist ein Formatierungsplatzhalter bei Python eine Zeichenkette die mit dem Prozentzeichen beginnt Danach kann in Klammern ein Variablenname folgen Der Platz halter endet schlie lich mit einer Angabe zum Format der Texteinf gung Dabei bedeutet s dass es sich um einen String handeln muss Insbesondere bei numerischen Werten z B float kann man wei tere Angaben zur textuellen Darstellung machen wie z B Anzahl der Nachkommastellen oder Ge samtzahl der Stellen die f r den Wert reserviert werden sollen Die Auswertung eines Ausdrucks in einem Computerprogramm stellt man sich h ufig so vor dass sukzessive Subterme mit Variablen Operatoren und Funktionsbezeichnern durch Literale ersetzt wer den siehe Abschnitt 5 4 Platzhalter sind keine Namen f r Objekte Sie k nnen aber Namen f r Objekte enthalten Der Na me dient dazu einen Wert zu iden
183. achtung Be wertung hilfreich etwas hilfreich nicht hilfreich e Jede falsche und richtige verwendete Programmzeile Puzzlest ck und Zeitpunkt der Verwen dung erstmaliges Verschieben in das Editorfeld e Das Serviceprogramm berechnet aus den Zeitstempeln die Reihenfolge in der richtige und falsche Programmzeilen verwendet worden sind f r jedes St ck gibt es einen Rang und aktualisiert die Datenbank 4 5 2 Auswertung der Python Puzzle Sessions Ein spezielles Dienstprogramm wertet die in der Datenbank gespeicherten Sessionprotokolle aus Es zielt vor allem auf die Beantwortung folgender Fragen ab 1 In welcher Reihenfolge werden korrekte Programmzeilen in das Programm eingebaut 2 Welche fehlerhaften Programmelemente bei unvollst ndigen Puzzles werden verwendet 3 Wie lange und wie h ufig werden die angebotenen Tipps betrachtet 4 Wie werden die angebotenen Tipps von den Spielern beurteilt Als Beispiel betrachten wir einen Auszug aus dem Bericht des Auswertungsdienstes zu Aufgabe 1 aus dem Puzzle Modeling a group Anhang 3 6 3 zeigt den vollst ndigen Bericht Die folgenden Tabellen beziehen sich auf die Auswertung der Sessions von 20 Sch lern und 4 Hochschulstudenten die die Aufgabe erfolgreich gel st haben Bis zur korrekten L sung wurden im Schnitt 3 3 Testl ufe und insgesamt eine Zeit von 320 Sekunden ben tigt Korrekte Programmzeile Verwendung Prozent Mittl Rang Std Abw r
184. achvollzogen werden Die Funktion atomarer Modelle ist dann die ansonsten un sichtbare Wirkung eines atomaren Programmschritts zu visualisieren und der kritischen berpr fung Vergleich mit dem erwarteten Effekt zug nglich zu machen Bei derartigen Aktivit ten ist die 1 1 Beziehung die direkte Zuordnung von Elementen der Quelldom ne visuelle Komponenten auf dem Bildschirm zu Elementen der Zieldom ne sprachliche Einheiten des Programmtextes von Bedeutung Automatische Visualisierungsysteme haben jedoch prinzipiell zwei Einschr nkungen Zum einen enthalten sie keine Repr sentationen f r typische falsche intuitive Modelle die in den K pfen der Lernenden existieren k nnen Sie liefern naturgem nur richtige Interpretationen vor Programmtex ten und k nnen nicht die Konsequenzen einer ungeeigneten Intuition vor Augen f hren Zum zweiten kanalisieren sie die Vielfalt m glicher im gegebenen Kontext ebenfalls akzeptabler Modelle auf jeweils ein einziges Dabei ist es erstens fraglich ob im Hinblick auf den Lernkontext algorithmische Idee Vorkenntnisse der Lernenden die beste Darstellungsform gew hlt worden ist Zweitens k nnen in einem abstrakteren molekularen Modell f r eine algorithmische Idee die in dem gegebenen Pro gramm implementiert werden soll verschiedene Typen atomarer Modelle gemischt sein z B Beh l termodelle und Referenzierungsmodelle Zusammenfassend kann man sagen dass atomare Modelle vor all
185. adeln mit Schildern repr sentieren Referenzen auf Elemente einer Liste Zeiger Graue transparente sich zu einem Endpunkt verj ngende Linien stellen den Bezug zwischen ei nem Namen und dem benannten Objekt her Zeiger Der Name befindet sich am dickeren Ende der Linie Die Zeiger sind h ufig an der Spitze beweglich und k nnen zun chst auf ein Objekt und dann auf ein anderes zeigen Es stellte sich heraus dass einige Nutzer der PVS diese Linie zun chst nicht als Pfeil mit Start und Endpunkt sondern als Linie in dreidimensionaler Darstellung interpretierten Das dickere Ende befindet sich im Vordergrund und das d nnere im Hintergrund Abb 78 Zeiger Namensschilder Beh lter in den Animationen der PVS tragen meist Namensschilder Sie sehen immer gleich aus Graue Rechtecke mit abgerundeten Seiten und Bohrl chern zum Festschrauben Sie sind optisch leicht von Daten Zetteln zu unterscheiden Manchmal bewegen sich auch Namensschilder Zum Beispiel kann an einen Beh lter ein zweites Namensschild angebracht werden um eine Zuweisung der Form a b zu erkl ren Dagegen ist es inkonsistent wenn ein Beh lter ein Namensschild als Inhalt auf nimmt Abb 79 Namensschild Bretter Sequenzen werden h ufig durch flache Quader dargestellt Bretter Auf ihrer Oberfl che sind helle Bereiche aufgetragen die die Listenelemente visualisieren In diesen Bereichen befinden sich Zettel mit Daten oder graue Punkte von denen ein Zeiger ausgeht
186. ahnung des Lernprozesses Auseinandersetzung mit der Aufgabenstellung Ausprobieren verschiedener Ans tze etc zunichte gemacht und die Lernenden des Erfolgserlebnisses einer eigen st ndigen L sung beraubt Ein geeigneter Tipp kann an intuitive Modelle ankn pfen die Sch ler verstehen Um gute Tipps gestalten zu k nnen braucht man Wissen ber mentale Modelle von Anf ngern zur Interpretation von Programmtexten und typische fehlerhafte Anwendungen dieser Modelle Hierzu einige Beispiele e Wenn die Lernenden Startschwierigkeiten haben und nicht in der Lage sind auch nur einen Ansatz f r das Programm zu finden k nnte zun chst eine eing ngige metaphorische Beschrei bung einer Probleml sung unter Verwendung von Modellen erarbeitet werden e M glicherweise k nnen Sch ler innen einen Algorithmus beschreiben aber es gelingt ihnen die Implementierung nicht weil die gedankliche Verbindung zwischen Komponenten ihres mentalen Modells und formalen Programmkonstrukten fehlen In diesem Fall kann eine Hilfestellung darin bestehen diese Verbindung herzustellen e Ein semantischer Fehler in einem Programmtext den die Sch ler alleine nicht entdecken kann verdeutlicht werden indem man die kritische Programmpassage an einem Modell durchspielt Hierbei k nnen Fehlvorstellungen bzw unangemessene Verwendungen des Modells entdeckt und expliziert werden 15 4 Diskussion und Reflektion intuitiver Modelle Es gibt viele M glichkeite
187. ale Rolle im situated learning in einer community of practi ce vgl z B Ben Ari 2004 Zu den Kompetenzen die sich prim r auf den Aspekt der Mediengestal tung beziehen geh ren e Dekorative Elemente eines Modells erkennen und erfinden die die Gestalt des Analogons ab runden aber kein Element des abgebildeten Konzepts repr sentieren e Den kognitiven Nutzen eines Modells f r das eigene Verstehen beurteilen e F r eine Zielgruppe z B Kunden in einem Softwareprojekt oder Kollegen in einem Entwick lungsteam und einen sozialen Kontext z B Dokumentation einer Software Vorstellen einer Idee in der Entwurfsphase eines Projekts geeignete Modellrepr sentationen ausw hlen 145 15 3 Intuitive Modelle und Scaffolding Eine typische Lehraktivit t 1m Informatikunterricht ist die Unterst tzung einer eigenst ndigen Probleml sungsaktivit t Scaffolding Wenn ein Sch ler mit einer Programmieraufgabe nicht wei terkommt oder einen semantischen Fehler nicht finden kann erh lt er oder sie einen Tipp der eine Barriere berwinden helfen soll aber nicht die L sung vorwegnimmt W rde eine Lehrperson die L sung verraten sabotiert sie damit den urspr nglich geplanten Lernprozess Wenn die betroffenen Sch ler innen nicht in der Lage sind das Problem zu l sen es also zu schwierig f r sie ist ist offenbar an dieser Stelle besonders intensives Lernen notwendig Durch ein Verraten der L sung wird die ge samte Anb
188. ale and 15 male persons Hours a week spent on programming standard de 6 50 hours 10 84 viation Roughly estimated experience in Python program 92 06 days 124 06 ming standard deviation Age standard deviation 16 38 years 1 41 Population of the town where the workshop took place Less than 100 000 8 100 000 to 500 000 3 more than 500 000 5 Country Germany 16 other country 0 Model 1 Description Function is represented by a box searches for the minimal element of a list and puts a pin named with an x at this element Duration 8 seconds Concreteness 75 percent Average watchtime standard deviation 36 00 seconds 23 34 This model was evaluated in 16 first subjective sessions The following table shows the results Question votes percentage would you use to explain 3 18 75 do you remember best 2 12 50 explains worst 10 62 50 233 Model 2 Description Function is represented by a box searches for the minimal element of a list and returns a copy of this element ghost Assign ment x 10 is done twice with x and the original in the list Duration 10 seconds Concreteness 75 percent Average watchtime standard deviation 24 44 seconds 12 21 This model was evaluated in 16 first subjective sessions The following table shows the results Question votes percentage would you use to explain 4 25 00
189. alisierung der Idee eines Rechenalgorithmus zur Berechnung der Summe von Gliedern einer Zahlenfolge Nach Presmeg 1997 Der Sch ler bezeichnete das Bild als dome Gew lbe ein anderer Sch ler dem die Zeichnung vorgelegt wurde sah darin einen Regenbogen Man k nnte also behaupten die beiden Sch ler h tten Architektur und optische Naturph nomene als Quelle source f r eine Metaphorisierung verwendet Allerdings Ihre Aussagekraft gewinnen die B gen offenbar nicht durch den Sinnkontext innerhalb der Quelldom ne sonst w re sie nicht so einfach austauschbar Vielmehr ist zu vermuten dass die Be nennung der Abbildung z B als Gew lbe zwar ein effizientes Speichern erm glicht im Sinne der doppelten Kodierung die erkl rende Kraft aber ganz abstrakt aus der Visualisierung von symmetrisch angeordneten Zahlenpaaren durch B gen gewonnen wird Das hei t die Dom ne ist f r das Verstehen unwichtig Von Bedeutung werden Dom nen wenn es sich um konzeptionelle Metaphern im Sinne von La koff und Johnson 1980 handelt In ihrer Theorie der konzeptionellen Metapher sehen sie Metaphori sierung als Mechanismus zum Aufbau konzeptuellen Wissens 27 Norma Presmeg verwendet den Begriff des Vehikels vehicle f r lehrreiche Metaphern 1997 Ein abstraktes Konzept der Tenor wird mit Hilfe einer Metapher Vehikel erkl rt Die Metapher ist in diesem Fall eine Lernhilfe und er ffnet einen Zugang zu Konzepten der ohne sie verschlosse
190. als eine einzige Botschaft interpre tiert Dann muss es einen Adressaten geben an den sie gesendet wird In diesem Fall ist das das Ob jekt vase da der Adressat immer zu Beginn der Botschaft steht Nun m sste also das Objekt vase das Objekt bottle beauftragen die Operation empty auszuf hren In zwei Modellen wird diese Sicht weise verwendet In der ersten Variante pq objects a5_3 erh lt die Vase die komplexe Botschaft va se fill bottle empty dargestellt durch ein fliegendes Oval mit entsprechender Beschrif tung Es entsteht eine neue Botschaft bottle empty die sich zur Karaffe bewegt Die Karaffe empf ngt die Botschaft bewegt sich und sch ttet ihren Inhalt in die Vase Abb 115 Hier wird kon sequent das Konzept eigenaktiver Objekte die Botschaften verarbeiten angewendet freilich auf unangemessene Weise da gem der Semantik des Programms das Objekt vase keine Botschaften verschickt Von 23 beobachteten Personen hielten 12 dieses Modell f r passend mittlere Konfidenz 75 327 Abb 115 Abspalten einer Botschaft aus einer verschachtelten Botschaft pq_objects_a5_3 In der zweiten Variante pq_ objects a5 4 wird keine zweite Botschaft abgespalten sondern die Vase ergreift mit einem Manipulatorarm die Karaffe und sch ttet deren Inhalt in sich hinein Hier wird das Botschaftskonzept mit der Vorstellung passiver von au en manipulierter Objekte gemischt Von den 23 beobachteten Spielern hielten 16 dieses Mod
191. am Asamoah Ballack Klose Lahm Schneider public Soccer public void print int n Druckt di rsten n Teammitglieder aus for int i 0 i lt n i System out printin team i public String get String anfang Gibt vollst ndigen Namen zur ck String name unbekannt String spieler for int i 0 i lt team length i spieler team i if spieler startsWith anfang name spieler return name 199 bung 1 Zeichnen Sie ein Storyboard aus mehreren Bildern das die Ausf hrung folgender Anweisungen veranschaulicht Sie k nnen zu jeder Anweisung mehrere Bilder zeichnen wmteam new Soccer Zoll wmteam print 3 Lf lt 2 spieler wmteam get Ba 3 Ubung 2 Die Klasse Soccer soll um eine Methode get Bin erweitert werden die den gleichen Effekt hat wie die Methode get Allerdings soll der Spielername nach dem Verfahren bin re Suche ermit telt werden Zeichnen Sie ein Storyboard das die Ausf hrung dieser neuen Methode bei folgendem Aufruf veranschaulicht spieler wmteam getBin La Storyboard Ein Storyboard besteht aus mehreren Bildern Sie k nnen Symbole wie Pfeile Linien Rechtecke etc oder auch Abbildungen von konkreten Dingen aus dem Alltag verwenden Haben Sie Mut zur Fantasie Jedes Bild ist mit einem kurzen Kommentar versehen in dem erkl rt wird was passiert gt Blatt 2 B
192. amen In einem Programm das in einer typisierenden Programmiersprache formuliert worden ist wird die Erzeugung einer Variablen in zwei Teile aufgeteilt Deklaration d h Zuordnung des Namens zu ei nem Datentyp und erste Zuweisung Initialisierung Man kann sich die Deklaration als Entstehung eines leeren Beh lters mit Aufschrift a vorstellen oder als Reservierung eines Namens der aber zu n chst nichts benennt Die blichen h heren Programmiersprachen lassen es zu dass man sich die Definition eines Na mens als Kreation vorstellen kann Die Menge m glicher Namen wird durch die Grammatik der Spra che begrenzt ist aber dennoch riesig Zu gutem Programmierstil geh rt es dass Variablennamen aus sagekr ftig sind und dem Leser die Rolle der Variablen im Programm verraten z B summe minimum Subjektiv kann somit die Schaffung eines Namens sogar mit dem Entstehen von Algo rithmik verbunden sein Es konnte beobachtet werden dass Sch ler Variablen Eigenschaften zumessen die sie nicht besit zen Sie verwenden damit ein berzogenes magisches Entstehungskonzept und glauben dass durch Schaffung eines Namens auch Funktionalit t kreiert wird Wenn z B eine Variable smallest genannt wird glauben diese Sch ler dass beim Lesen von Zahlen aus einem Datenstrom dieser Vari ablen automatisch der kleinste vorkommende Wert zugewiesen wird Putnam et al 1989 Bei einem Tabellenkalkulationsprogramm dagegen w hlt man eine Zelle d h
193. amen und Telefonnummern in einem Karteikasten aufsteigend nach den Nachnamen Im Schulalltag spielen Probleml sungen der zweiten Art die gr ere Rolle Man kann davon aus gehen dass Sch ler Aufgaben wie in den obigen Beispielen intuitiv l sen k nnen Aber selbst Sch ler die die notwendigen Elemente der Programmiersprache kennen und ber Programmiererfahrung verf gen haben Schwierigkeiten ein entsprechendes Programm zu formulieren und scheitern h ufig sogar Auf dem Weg von der Intuition zum Programm gibt es einige kognitive Barrieren die zu ber winden sind vgl Weigend 2006d 14 1 Prozedurale Intuition und fehlendes deklaratives Wissen Im schlimmsten Fall kann die Vorgehensweise bei der intuitiven L sung vollkommen unbewusst sein prozedurale Intuition vgl Abschnitt 1 2 Zur berwindung dieser Barriere muss der Programm entwickler sich selbst bei der intuitiven Probleml sung beobachten oder sie sich in Gedanken verge genw rtigen um zu deklarativem Wissen ber eine Vorgehensweise einem antizipatorischen oder paradigmatischen Modell zu gelangen 14 2 Aufbrechen der Gestalt Eine zweite H rde ist das Aufbrechen der Gestalt eines paradigmatischen oder antizipatorischem Modells L6sungsidee Im Modell des GAP Trees von Spohrer Soloway und Pope 1989 muss ein gestaltartiger Plan in Ziele aufgeteilt werden siehe Abschnitt 3 3 2 Nachdem das erste St ck heraus gel st ist hat aber der Gesamtplan seine I
194. ammenhang mit naturwissenschaftlichen z B Griffith und Preston 1992 Clement 1982 Brown 1992 mathematischen z B Rosnick 1981 Clement Lochhead Monk 1981 Fischbein 1987 und informatischen Themen z B Bonar Soloway 1985 Close Dicheva 1997 Sleeman Putman Baxter Kuspa 1989 Ginat 2001 Madison Gifford 2002 entdeckt und spezifiziert worden Intuitive Modelle werden in verschiedener Hinsicht als Quelle fiir Fehlvorstellungen gesehen e Sie k nnen selbst objektiv falsch sein weil die sensorische Erfahrung auf der sie fu en irref h rend war So ist das bereits erw hnte Schwungkonzept f r Bewegungen das Resultat von Alltags erfahrungen mit reibungsbehafteten Bewegungsvorg ngen e Sie werden auf unzul ssige Weise verallgemeinert und in einem Kontext verwendet in dem sie nicht gelten So erkl ren Kindergartenkinder h ufig die Sonne gehe abends unter weil sie m de 21 ist Hier wird das intuitive Modell des Erm dens auf Objekte der unbelebten Natur angewendet Anthropomorphismus Animismus Intuitive Modelle wenn sie denn zu Fehlvorstellungen f hren werden von P dagogen als Barrieren f r den Erwerb wissenschaftlich fundierter Expertenkonzepte gesehen Champagne Gunstone und Klopfer 1985 Strike und Posner 1985 Dementsprechend sollten Misconceptions m glichst vermie den werden z B Holland Griffiths Woodman 1997 Bereits vorhandene Fehlvorstellungen m ssten dann vom Lehrer entdeckt und im Unterricht gezielt a
195. ammlaufs visua lisiert Die Bahn determiniert in welcher Reihenfolge Anweisungen ausgef hrt werden Das Z hler Bauteil repr sentiert in Kombination gleich mehrere intuitive Konzepte Es stellt eine Variable dar deren Wert modulo n inkrementiert oder dekrementiert werden kann je nachdem wel ches der beiden Rinnensegmente verwendet wird links dekrementieren rechts inkrementieren Das linke Rinnensegment enth lt eine Weiche die den Weg nach links f hrt wenn der Z hler null anzeigt Der Charme des DL liegt darin dass die mechanischen Bauteile in ihrer Arbeitsweise vollkommen transparent sind und bis auf den Grund durchschaut werden k nnen Dagegen enthalten Mikrowelten in Form multimedialer Software magische Elemente deren Arbeitsweise versteckt ist 175 1 6 Prototypische Beispiele Es gibt F lle in denen bereits ein einziges Beispiel zur Repr sentation eines Konzeptes ausreicht In site school einem Content Management System f r Grundschulen wird in einem einzigen Bei spiel erkl rt wie man einen Kalendereintrag vornimmt Auf jede abstrakte Erkl rung im Sinne einer Gebrauchsanweisung wird verzichtet X ix Dan Calendar Verwaltung der Kalendereintr ge Monat Ev Jahr Kalender Eintrage Example 7_Sportfest Treffpunkt Sporthalle um 9 30 Abb 68 Beispiel fiir die Spezifikation eines Kalendereintrags bei site school Marz 2006 Mi Do Treffpunkt Sporthalle um 9 30 an Feb M r Apr Mai
196. an sagt z B dass durch den Methodenaufruf pack der Packer einer von mehreren verf gbaren Layout Managern aktiviert wird der in die sem Fall daf r sorgt dass die beiden Labels untereinander stehen Mit dem Packer wird ein Akteur herangezogen der im Programmtext nicht sichtbar ist Ein Layout Manager ist Teil der Systemumge bung die zur Laufzeit die geometrische Anordnung von Elementen der grafischen Oberfl che des Programms auf dem Bildschirm verwaltet Die Einbeziehung der Umgebung kann auch als M glich keit der Gestaltbildung gesehen werden Ein unvollst ndiges St ck wird durch die Hinzunahme eines Teils zu einem abgerundeten und leichter vorstellbaren Ganzen 13 8 Dekorieren und Dramatisieren Als Dekorierungen bezeichnen wir gestalterische Elemente die nicht in dem abzubildenden Pro grammtext aber auch nicht in seiner technischen Umgebung vorkommen Solche kreativen Add ons k nnen den Charakter von Kommentaren haben die die Verst ndlichkeit durch Hinzunahme zus tzli cher Information erh hen Sie k nnen sogar dazu dienen aus einem Programmtext eine Geschichte zu machen Dramatisierung In der Visualisierung in Abb 64 unterhalten sich zwei Variablen und erkl ren dadurch ihren Zustand nach einer Zuweisung tu inkl as bat 3 Abb 64 Dramatisierung einer Zuweisung Visualisierung einer 17 j hrigen Sch lerin Im Unterschied zur Einbeziehung der Umgebung haben die hinzugef gten Elemente nichts mit
197. archar 20 Fremdschl ssel Er enth lt die id des 3 Modells mod4 varchar 20 Fremdschl ssel Er enth lt die id des 4 Modells falls es existiert Sonst leerer String mod5 varchar 20 Fremdschl ssel Er enth lt die id des 1 Modells 205 questionl varchar 100 Erste Frage ev Kurzform question varchar 100 Zweite Frage ev Kurzform question3 varchar 100 Dritte Frage ev Kurzform al varchar 10 Weiteres Attribut Reserve protocol_pv_person Tab 34 Tabelle description pv Die Relation verbindet die Relationen protocol_pv und person Wenn ein Spieler eine Ap plikation vom Typ Python Visual bearbeitet wird hier ein Tupel eingetragen Damit wird die Teil nahme einer Person an einer Sitzung also eine Beziehung zwischen einer person Entit t und einer protocol pv Entitat modelliert Attribut Datentyp Erl uterung id_person varchar 20 Fremdschl ssel mit id des Spielers id_protocol_pv varchar 20 Fremdschl ssel mit id der Session al smallint Antwort Frage 1 Modellnummer a2 smallint Antwort Frage 2 Modellnummer a3 smallint Antwort Frage 3 Modellnummer Tab 35 Tabelle protocol_pv_ person 3 2 3 Tabellen fur Python Puzzle description_pp Die Relation enth lt Beschreibungen von Python Puzzle Applikationen Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt den Namen des Spiels Dateiname
198. are Entwicklung Intuitive Modelle k nnen eine Art Muster f r eine Probleml sung darstellen Das ist eine etwas andere Rolle als Antizipation bei der die Frage der grunds tzlichen Idee und Realisierbarkeit im Vor dergrund steht Fischbein nennt sie paradigmatische Modelle Paradigmatische Modelle sind h ufig konkrete Beispiele die eine ganze Klasse von Probleml sungen repr sentieren Paradigmatische Modelle spielen in der Software Entwicklung eine gro e Rolle Ein seit der Fr hzeit der Informatik verwendetes Modell ist das EVA Prinzip Viele Programme sind nach dem Muster Eingabe Verarbeitung Ausgabe gestaltet Ein solches Programm enth lt Eingabe Funktionen zur Aufnahme von Daten verarbeitet diese und gibt ber Ausgabefunktionen das Ergebnis zur ck Die ersten interak tiven Programme die Sch ler schreiben folgen diesem Paradigma Dieses Muster verwendet man auch in anderen Zusammenh ngen e Arbeitsweise einer Funktion Eine Funktion nimmt ber Argumente Daten auf Eingabe verar beitet diese und gibt mittels einer return Anweisung das Berechnungsergebnis zur ck Ausgabe e Arbeitsweise eines cgi Skriptes Ein cgi Skript verwendet einen Querystring oder ein besonderes Paket mit Daten als Eingabe verarbeitet die enthaltenen Daten und liefert dem Kommunikations partner Client die Beschreibung einer HTML Seite als Ausgabe Nicht nur f r Programmier Anf nger sondern auch und vor allem f r professionelle Program
199. aren k nnen Lehrpersonen Co aches Gruppen definieren und jeder Gruppe Personen Nicknames zuordnen Erhobene Gruppen merkmale sind z B Gr e der Stadt Programmiervorkenntnisse minimales und maximales Alter der Gruppenmitglieder Einige dieser Gruppenmerkmale k nnen verwendet werden um die Korrektheit der Registrierungsdaten der Gruppenmitglieder zu pr fen Validit tskontrolle Server Die Daten zu den Spielern zu den verwendeten Modellen und Protokolle der Sessions werden in einer zentralen MySQL Datenbank gespeichert Details in Anhang 3 2 F r die Python Puzzles gibt es einen Online Interpreter der die vom Spieler aus Bausteinen zusammengesetzten Python Skripte empf ngt ausf hrt und das Ergebnis Ausgabe des Skriptes zur ckgibt Zu Beginn eines Spiels nachdem die Benutzer ihre Passw rter eingegeben haben wird ein Dienst aufgerufen der die Validit t der Passw rter pr ft und im positiven Fall die zugeh rigen Nicknames zur ckgibt die dann im Spiel verwendet werden F r jede Spielkategorie gibt es ein Dienstprogramm das die Protokolldaten z B die Zeit wie lange sich ein Spieler eine Animation angesehen hat zu einer Spielsession aufnimmt und in die Datenbank eintr gt Die Kommunikation erfolgt ber XML Dokumente Passwort gesch tzte Auswertungsprogramme liefern formatierte und bebilderte Dokumente mit statistischen Angaben zu den Sitzungen mit der PVS Ein ffentliches Auswertungsprogramm berechnet eine HTML Seite
200. arstellten A1 und A2 wurden nur in erheblich geringerem Ausma getestet 0 89 von 2 191 00 10 20 30 40 Abb 86 H ufigkeitsverteilung der ausprobierten vollst ndigen Beispiele n 29 6 Count Missing 2 00 4 00 7 00 10 00 12 00 15 00 1 00 3 00 6 00 9 00 11 00 13 00 17 00 Abb 87 H ufigkeitsverteilung der insgesamt ausprobierten Beispiele n 29 Die relativ gro en Standardabweichungen und die H ufigkeitsverteilungen der ausprobierten Bei spiele Abb 87 und Abb 87 deuten an dass man die Teilnehmer der Befragung grob in zwei Grup pen aufteilen kann Personen die sehr viele und solche die nur wenige Beispiele getestet haben Be sonders krass ist dieses Ph nomen bei vollst ndigen Beispielen F1 bis F4 Dieses kann man folgenderma en erkl ren Wer wenig ausprobiert besitzt bereits ein sicheres Verst ndnis der Funkti onsweise regul rer Ausdr cke Er oder sie kann die Beispiele in Gedanken nachvollziehen und ist sich sicher dass das Ergebnis richtig ist Nachpr fen am Computer w re Zeitverschwendung Nur wer sich unsicher ist wem die Verst ndnis liefernde Intuition noch fehlt sammelt Erfahrung durch Computer experimente 2 2 5 Verwendung von visuellen Modellen als Verstehenshilfe Zum Selbstlernmaterial geh rten drei Animationen Flash Filme die Metaphern f r regul re Aus dr cke darstellten Im Begleittext wurden die Sch ler aufgefordert zu jeder Animation in einem Satz die dahinter s
201. arunter ver steht man einen Akteur der zu einer Kollektion nach und nach alle Elemente liefert siehe auch van Rossum amp Yee 2001 Iterationen sind ein wichtiges Konzept der Alltagsalgorithmik Folgende Aufgaben k nnen vermut lich von den meisten Menschen intuitiv durch eine Iteration gel st werden 95 e Iss alle Pralinen aus der Pralinenschachtel e Begr e alle Partyg ste e Klebe aufjede Urlaubskarte eine Briefmarke Bei einer Iteration geht die Steuerung des Programmlaufs letztlich von einer Ansammlung von Da ten aus Kollektion F r jedes Element der Kollektion wird etwas getan Wenn die Kollektion ber die die Iteration l uft bekannt ist kann man auch die Anzahl der Wiederholungen vorhersehen Selbst wenn die Iteration etwa bei der Suche nach einem bestimmten Objekt der Kollektion vorzeitig ab gebrochen werden kann ist doch zumindest die maximale Anzahl der Durchl ufe im Vorhinein be kannt Programmtechnisch werden Iterationen durch for Anweisungen realisiert Im Falle von Python hat eine solche Anweisung das Format for i in kollektion anweisungsblock Bei anderen Programmiersprachen wie Java oder C kann f r eine Iteration nicht einfach ein belie biges Container Objekt angegeben werden Stattdessen wird eine Sequenz andere Arten von Kollek tionen kann man nicht verwenden indirekt durch eine Art Generatorausdruck spezifiziert Das Format einer for Anweisung mit Generatorausdruck in runden Klammern is
202. ation 10 59 seconds 19 34 Number and percentage of players who declared that 40 players 58 82 percent the model is appropriate good judgements Average confidence in good judgement standard 6 25 3 88 deviation Number and percentage of players who declared that 28 players 41 18 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 7 14 3 95 deviation 262 Judging Model pq_list_a5 3 Associated program olderThan group 19 Description Unappropriate visualization of a function call The function input output model receives cards with names of formal olderThan parameters as input Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s 6 40 4 13 confidence standard deviation Average watch time standard deviation 27 81 seconds 86 31 Number and percentage of players who declared that 35 players 51 47 percent the model is appropriate good judgements Average confidence in good judgement standard 6 14 4 22 deviation Number and percentage of players who declared that 33 players 48 53 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 6 67 4 08 deviation Modeling assignments This game contain
203. ative Exemplare ausw hlt werden Strukturorientierte und prozessorientierte Darstellungen Eine strukturorientierte Darstellung ist statisch und gibt dauerhafte Aspekte des Gemeinten wieder So ist ein Struktogramm oder ein Pro grammtext eine strukturorientierte Repr sentation eines Algorithmus Ein Protokoll das die Inhalte von Variablen w hrend eines beispielhaften Laufs darstellt oder eine Animation das die Ver nderun gen w hrend eines Programmlaufs visualisiert ist prozessorientiert Wenn jemand sich die Arbeits weise eines Algorithmus ber einen Beispielablauf also prozessorientiert merkt hei t das nicht dass er oder sie nur ber prozessuales Wissen dazu verf gt Eine prozessorientierte Repr sentation ist kein prozedurales Wissen sondern bewusstes deklaratives Wissen ber einen Prozess Aus dem Pro zessbeispiel kann in der Regel leicht eine strukturorientierte Darstellung z B ein Programmtext ge neriert werden und umgekehrt Das Prinzip der Vielfalt und Fl chtigkeit Abschnitt 2 2 gilt auch f r diesen Aspekt von Repr sentationen 2 1 Duale Kodierung von Wissen In der Theorie der dualen Kodierung Paivio 1971 1986 werden zwei grunds tzliche physische Darstellungsformen f r Wissensinhalte unterschieden verbale sprachliche begriffliche und nonver bale bildhafte imaginale Repr sentationen Beispiele f r bildhafte Darstellungen sind Fotos Zeich nungen Karten und Diagramme Sie sind analog ikonisch und
204. ayer s confidence standard deviation 8 10 3 35 Average watch time standard deviation 14 29 seconds 10 22 Number and percentage of players who declared that the model is appropriate good judgements 17 players 80 95 percent Average confidence in good judgement standard deviation 7 94 3 56 Number and percentage of players who declared that the model is not appropriate bad judgements 4 players 19 05 percent Average confidence in bad judgement standard deviation 8 75 2 50 292 Judging Model pq_ objects al 2 Associated program bottle Container 0 7 Description Visualization of the instantiation of an object a bottle The class object has a reservoire of bottles of different sizes and chooses one Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 67 3 98 Average watch time standard deviation 26 05 seconds 29 00 Number and percentage of players who declared that the model is appropriate good judgements 16 players 76 19 percent Average confidence in good judgement standard deviation 7 19 4 07 Number and percentage of players who declared that the model is not appropriate bad judgements 5 players 23 81 percent Average c
205. ayers 25 00 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 5 00 4 33 deviation Task 5 Judging Model pq list a5_4 Associated program olderThan group 19 Description Visualization of a function call The function is represented by a box with sensors Time 9 seconds Concreteness 100 percent of names are used 7 in the model 259 Total number of first judgements 68 Average bet points 0 to 10 representing the 6 69 3 92 player s confidence standard deviation Average watch time standard deviation 7 75 seconds 6 09 Number and percentage of players who de 48 players 70 59 percent clared that the model is appropriate good judgements Average confidence in good judgement 7 19 3 85 standard deviation Number and percentage of players who de 20 players 29 41 percent clared that the model is not appropriate bad judgements Average confidence in bad judgement stan 5 50 3 94 dard deviation Judging Model pq list a5_5 Associated program olderThan group 19 Description Visualization of a function call The function call is represented by a flash event model Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard de
206. ayers who declared that the model is not appropriate bad judgements 12 players 17 65 percent Average confidence in bad judgement standard deviation 4 17 4 69 Task 4 Judging Model pq list a4 5 Associated program result append n Description Unappropiate visualization of a list extension append that mixes up name and value of variables The list is represented by a container model Time 5 seconds Concreteness 67 percent of names are used in the model 255 Total number of first judgements 68 Average bet points 0 to 10 representing the player s 6 18 4 24 confidence standard deviation Average watch time standard deviation 9 24 seconds 6 09 Number and percentage of players who declared that the model is appropriate good judgements 43 players 63 24 percent Average confidence in good judgement standard deviation 5 81 4 22 Number and percentage of players who declared that the model is not appropriate bad judgements 25 players 36 76 percent Average confidence in bad judgement standard deviation 6 80 4 30 Judging Model pq_list_a4 4 Associated program result append n Description Visualization of a list extension append Two lists are represented by boards with cards A card moves from the Ist to the 2nd list which gets longer Time 5 seconds Concreteness 67 percent of names are used in the mod
207. ays 121 79 Age standard deviation 16 33 years 0 82 Population of the town where the workshop took place than 500 000 5 Less than 100 000 0 100 000 to 500 000 1 more Country Germany 6 other country 0 225 Modell Description Iteration over a multilist Ghost model with several ghosts of one original Changes take place at the same time at all ghosts Duration 11 seconds Concreteness 33 percent Average watchtime standard deviation 24 83 seconds 10 72 This model was evaluated in 6 first subjective sessions The following table shows the results Question votes percentage would you use to explain 2 33 33 do you remember best 1 16 67 when you imagine the execution 2 33 33 Model 2 Description Iteration over a multilist Ghost model with several ghosts of one original Changes take place at the same time at all ghosts Original is highlighted as the origin of all change Duration 11 seconds Concreteness 33 percent Average watchtime standard deviation 28 67 seconds 17 19 This model was evaluated in 6 first subjective sessions The following table shows the results Question votes percentage would you use to explain 0 0 00 do you remember best 2 33 33 when you imagine the execution 1 16 67 226 Model 3 Description Iteration over a multilist Mixture of contain
208. be erle digt ist und arbeitet dann eventuell unter Verwendung eines zur ckerhaltenen Ergebnisses weiter Das Delegationsmodell ohne Schachtelung mit statischen Akteuren kann in Rollenspielen veran schaulicht werden indem mehrere Personen gemeinsam einen rekursiven Algorithmus ausf hren und jeweils Teilaufgaben an andere Personen delegieren Visualisierungen die auf dem Delegationsmodell basieren werden in Anhang 4 5 diskutiert Wie das Beispiel aus Abschnitt 9 6 2 zeigt unterst tzt die Logo Mikrowelt nicht das Delegations modell weil die gesamte rekursiv beschriebene Aktivit t ein und demselben Akteur Turtle zuge schrieben wird Ebenso passt das Delegationsmodell nicht zum Paradigma der objektorientierten Pro grammierung Beim rekursiven Aufruf innerhalb einer rekursiven Methode wird kein neues Objekt der Klasse instanziert sondern dasselbe Objekt erneut beauftragt 9 6 5 Protokoll Modelle f r rekursive Algorithmen Visualisierungen der Arbeitsweise rekursiver Funktionen wie die in Abb 41 Abschnitt 8 9 Fibo nacci Zahlen stellen die Mechanik des Zusammenspiels verschiedener Akteure in den Mittelpunkt der Modellierung Sie fokussieren auf eine Veranschaulichung der Semantik eines rekursiven Funktions aufrufs Dabei bleibt die Gesamtidee des Algorithmus im Hintergrund Protokollmodelle siehe Abschnitt 2 5 dagegen abstrahieren weitgehend von der Steuerungsme chanik und geben ein als Gestalt erfassbares und gut merkbares B
209. bereitung auf einen Test Es gibt viele Situationen in denen selbstgesteuerte Verst ndnisgewinnung stattfindet Eine Stan dardsituation im Schulalltag ist die Vorbereitung auf einen Test In diesem Abschnitt werden die Er gebnisse einer Befragung von 29 Sch lerinnen und Sch lern eines Informatikkurses der Jahrgangsstu fe 12 diskutiert Es geht um folgende Fragen e Welche Art von Beispielen w hlen Sch ler als intuitive Modelle um sich ein abstraktes Konzept zu merken e Welche Rolle spielt das praktische Ausprobieren von Beispielen am Computer e Welche Merkmale haben Metaphern die zur Veranschaulichung eines abstrakten Konzeptes von Sch lern gew hlt werden Die Sch lerinnen und Sch ler erhielten ein vierseitiges Selbstlernmaterial zum Thema regul re Ausdr cke mit Texten Animationen und Anregungen zum Ausprobieren am Computer F r die Be arbeitung hatten sie 90 Minuten Zeit Wie sie mit dem Material umgingen war ihnen freigestellt Es wurde aber deutlich gemacht dass der Sinn der bung eine Vorbereitung auf den n chsten Test sein sollte Zusammen mit dem Selbstlernmaterial bekamen die Sch ler einen Fragebogen in dem nachge fragt wurde in welcher Weise sie die in dem Text vorkommenden Beispiele verwendet haben Das Lernmaterial zu regul ren Ausdr cken enth lt folgende Komponenten e Erkl rende Texte wie in einer Sprachreferenz und eine Concept Map in der wichtige Begriffe im Zusammenhang dargestellt
210. braucht man Kenntnisse dar ber wie und wie gut und wie schnell die verwendeten Anschauun gen und Analogien verstanden werden Die vorliegende Arbeit versucht dieses didaktische Wissen zu verbessern und verfolgt vier prim re Forschungsziele Das Finden und Beschreiben intuitiver Modelle der Informatik ihre Katalogisierung und Systematisierung die berpr fung der psychischen Realit t bei Sch lerinnen und Sch lern und schlie lich die Identifizierung allgemeiner Mechanismen der Nutzung von Modellen bei der intellek tuellen Auseinandersetzung mit Programmtexten Dabei liegt der Fokus auf Modellen zu grundlegen den Programmierkonzepten die typischerweise im Anfangsunterricht an allgemeinbildenden Schulen thematisiert werden Identifikation und Beschreibung Lehrb cher Softwaredokumentationen Sprachreferenzen Sch lervisualisierungen und andere Do kumente enthalten mehr oder weniger explizite Repr sentationen intuitiver Modelle zur Arbeitsweise von Programmen Diese gilt es herauszuarbeiten und zu beschreiben So unterst tzt der Satz Die Funktion gibt eine Zahl zur ck unter anderem folgende intuitiven Vorstellungen Eine Funktion ist eine aktive Entit t die z B etwas zur ckgeben kann Es gibt eine andere Entit t von der die Funktion etwas erhalten hat f r das sie ersatzweise jetzt etwas zur ckgibt Zahlen sind Entit ten die man be wegen also auch z B zur ckgeben kann Wir unterscheiden zwischen einem intuitiven Mod
211. che dass das erste Element das kleinste sein muss ergebnis 0 min liste Zusicherung H ufigkeit assert len s gt 1 21 assert len sl lt len liste 7 assert len sl lt len s 8 assert len ergebnis len liste 8 assert ergebnis 0 min liste 20 assert ergebnis 0 lt ergebnis 1 8 Tab 1 Zusicherungen f r eine Implementierung von Quicksort H ufigkeit der korrekten Verwendung bei einem Test mit 21 Sch lerinnen und Sch lern eines Informatik Grundkurses der Jahrgangsstufe 13 1 Herbst 2004 43 44 4 Empirische Erforschung intuitiver Modelle 4 1 Forschungsansatze und methodische Probleme Viele empirische Studien zu Fehlvorstellungen und intuitiven Modellen in der Informatik folgen einem der folgenden Muster e Sch ler oder Studenten schreiben ein Programm oder vervollst ndigen ein Skelett Programm das eine vorgegebene Funktionalit t besitzen soll z B Mayer 1989 e Die Versuchsteilnehmer erhalten eine Aufgabe und verschiedene Programme die die Aufgabe l sen sollen zur Auswahl Sie haben zu entscheiden welches Programm die Aufgabe l st und welches nicht z B Kahney 1989 e Die Teilnehmer erhalten Programme und sollen antizipieren welche Ausgabe sie liefern Kurland Pea 1985 Aus den L sungen insbesondere Fehlern wird auf die Verwendung bestimmter mentaler Modelle geschlossen Dabei ist zu bedenken dass ein vermutetes Konzept das geistige Produkt des Untersu chers ist Das zentrale
212. che Einheiten in einer koh renten Gestalt zusammenfassen Ein Beispiel ist das Mo dell eines Beh lters mit mehreren F chern und springender Markierung zur Darstellung der Verarbei tung einer Liste in einer Iteration zur psychischen Realit t siehe Abschnitte 6 6 und 9 4 Solch ein Modell l sst Details der Implementierung weg und bringt Denken oberhalb der Programmiersprache zum Ausdruck In didaktischer Hinsicht sind Modelle oberhalb der Programmiersprache z B wichtig um algorithmische fundamentale Ideen der Informatik Schwill 1993 zu verstehen zu behalten zu kommunizieren und als antizipatorische Intuitionen f r Probleml sungen zu verwenden Die Abstrak tion die mit der Gestaltbildung verbunden ist bringt eine Entfernung von den Konstrukten der Pro grammiersprache mit sich Die Kunst und Schwierigkeit der Implementierung liegt vor allem im Aufbrechen der Gestalt in Fragmente denen man Programmkonstrukte zuordnen kann Beispielsweise muss man wissen dass eine springende Markierung auf einem Beh lter mit F chern eine Laufvari able in einer Iteration repr sentieren kann 15 1 2 Atomare Modelle Betrachten wir als n chstes intuitive Modelle deren Abstraktheit in etwa auf dem Niveau einer Programmiersprache liegen und die deshalb mehr oder weniger unmittelbar formale Programmkon strukte abbilden k nnen Eine Vielfalt von Ausdrucksformen zur Veranschaulichung von Programm konstrukten kann im Hinblick auf kreatives Pr
213. che nach dem Minimum in einer unsortierten Sequenz entwick le und auf die Idee komme einen Most wanted holder zu verwenden habe ich bereits einen Teil der L sung gefunden So wie eine Rolle in sozialen System nur Sinn im Kontext komplement rer Rollen hat Eine Rollenbeschreibung eines Koordinators in einem Programmierteam der z B Aufgaben ver teilen und Termine festsetzen soll definiert implizit auch zu einem gro en Teil die Funktionsweise des gesamten Teams Sajaniemi hat auch Programm Beispiele in Anf nger B chern nach dem Vorkommen verschiede ner Konzepte Rollen untersucht Erstaunlich ist dass etwa 80 bis 90 der Variablen den drei oben erw hnten Rollen zuzuordnen sind Konstante Stepper und Most wanted holder Sajaniemi verwendet sein Rollensystem f r Programmvisualisierungen role based program animation Variablen und ihre Werte werden je nach ihrer Rolle durch verschiedene Abbildungen dargestellt Ein Stepper z B wird durch ein Band mit fortlaufenden Nummern repr sentiert auf dem die aktuelle Nummer einge rahmt ist Generell sollen die Visualisierungen typische Eigenschaften der Rolle veranschaulichen Im Fall des Steppers wird die Vorhersehbarkeit der Variableninhalte Vergangenheit und Zukunft durch das Nummernband verdeutlicht Hinter diesem Visualisierungsansatz steht eine Verstehensstrategie Untersuche zun chst die Rollen der Variablen um die Idee des Programms zu verstehen 13 2 Abstrahieren Abstra
214. chlichen und visuellen Ausdrucksm glichkeiten mangelt In Teach back Befragungen werden die Teilnehmer aufgefordert bestimmte Sachverhalte mit Hilfe von selbst angefertigten Texten und Bildern zu erkl ren Mit diesem Verfahren versuchte Gerrit van der Veer 1994 in einer umfangreichen Untersuchung 607 Sch lerinnen und Sch ler aus drei europ ischen L ndern mentale Modelle ber die Arbeitsweise von Computersystemen zu ermitteln Untersuchungsgegenstand waren auch die verwendeten Ausdrucksmittel Es zeigte sich dass visuelle Darstellungsformen gegen ber Text nur eine untergeordnete Rolle spielten So enthielten nur 25 der Teach back Produkte bildhafte und 28 ikonische Darstellungen 4 2 Visualisierungsubungen Der deutsch amerikanische Kunstpsychologe Rudolph Arnheim lie seine Studenten Visualise rungsversuche machen Die Versuchspersonen sollten zu abstrakten Begriffen Zeichnungen anferti gen die den Begriff bildhaft darstellen sollten Dabei sollten sie f r jede neue Version ein neues Blatt verwenden damit man die Entwicklung ihrer Idee verfolgen konnte Die Studenten brauchten viel Zeit und ein Dutzend Bl tter und mehr bis sie zu einer befriedigenden L sung kamen Arnheim 1972 S 120 ff Aus Arnheims Erfahrungen kann man folgendes Fazit zeihen Eine visuelle Repr sentation f r ein intuitives Modell zu finden ist erstens eine Kunst die gelernt werden muss und zweitens ein Entwicklungsprozess Das muss bei der Gestaltung v
215. cht st ndig eine Kraft in Bewegungsrichtung aus bt Ein sich bewegendes Objekt hat einen Schwung den es im Laufe der Bewegung allm hlich aufbraucht Das Modell widerspricht dem ersten Newtonschen Gesetz wonach K rper infolge der Tr gheit der Masse ihre Bewegung bis in alle Ewigkeit beibehalten so fern keine Kr fte auf sie wirken Doch nach unserer allt glichen Erfahrung h lt keine Bewegung ohne unterst tzende Krafteinwirkung unendlich lange an sondern erstirbt infolge Reibung mit der Zeit Eine Murmel rollt auf einer ebenen Fl che nur ein gewisses St ck weit ein Boot verliert an Ge schwindigkeit wenn man nicht st ndig rudert usw Clement 1982 beobachtete dass Studenten der Ingenieurwissenschaften die Kr fte die auf eine fliegende M nze wirken mit diesem Schwungmodell beschrieben obwohl ihnen die Gesetze der Mechanik vertraut waren Ueno 1993 ist der Auffassung dass die Robustheit naiver Erkl rungen eher auf den Einfluss der sozialen Umgebung zur ckzuf h ren ist als auf die Pers nlichkeit des Individuums Ueno 1993 S 244f Gestaltcharakter Intuitive Modelle repr sentieren einfache Gedanken Sie sind in sich geschlossene holistische Sinneinheiten Sie haben den Charakter von Gestalten Der Begriff Gestalt wurde seit den 1920iger Jahren durch die Gestalttheorie Max Wertheimer Kurt Koffka Wolfgang Metzger Rudolph Arn heim gepr gt die damit menschliche Wahrnehmung erkl rt Nach ihrem Ansat
216. chtbare Einzelereignisse hinaus Man sieht unmittelbar an konkreten Beispielen dass gegen berliegende Win kel am Schnittpunkt zweier Geraden gleich sind Die Intuition liegt in der Verallgemeinerung dass es immer so ist Eine Intuition im Sinne von Fischbein hat somit Theoriecharakter und verallgemeinert Einzelbeobachtungen zu einem Modell eines Wirklichkeitsaspektes 1 1 Intuition als Wissen Intuitive Modelle sind eine Form von Wissen Man kann generell zwischen prozeduralem und de klarativem Wissen unterscheiden Haberlandt 1994 Anderson 1996 1996a Prozedurales Wissen bezieht sich auf kognitive und motorische Fertigkeiten deklaratives Wissen dient der Repr sentation von Objekten und Ereignissen der Umwelt Ryle 1949 beschreibt diese beiden Wissenskategorien als knowing how und knowing that Die Differenzierung zwischen prozeduralem und deklarativem Wissen ist die Basis von Andersons ACT R Theorie Anderson 1996a die eine Architektur zur Simu lation kognitiver Prozesse beschreibt 1 2 Intuition als prozedurales Wissen Prozedurales Wissen ist Wissen wie man etwas tut Dazu geh ren motorische und kognitive Fer tigkeiten wie Schreibmaschineschreiben Rechnen und Programmieren In der Alltagssprache wird Intuitivit t h ufig prozedural gesehen Man denkt vielleicht an den Detektiv im Kriminalroman der sich auf seinen Riecher verl sst und intuitiv das Richtige tut um den T ter zu finden Jagdish Parikh 1994 bef
217. chul Website werden Ein Trick film k nnte in eine Datenbank f r Unterrichtsmaterialien eingespeist werden Ein Storyboard kann die Grundlage f r eine sp tere Implementierung mit Flash sein Die von den Sch lern eigenaktiv entwickelten Produkte werden von ihnen pr sentiert und erl utert Die Pr sentationen sind Anl sse f r anschlie ende Diskussionen ber die verwendeten intuitiven Mo delle Reflektionsphase Sie k nnen auf verschiedene Aspekte fokussieren und durch entsprechende Fragen der Lehrperson eingeleitet werden e Welche Elemente des Modells sind frei erfunden e Was macht das Modell anschaulich und gut verst ndlich e An welchen Stellen weicht die Visualisierung von informatischen Konzepten ab 15 4 2 Rollenspiele und Regelspiele Bell et al 1998 beschreiben Spiele mit Requisiten z B Beh lter mit einer Balkenwaage nach ih rem Gewicht sortieren und Rollenspiele z B das Orange Game in dem es um Fragen der Daten kommunikation geht die im Informatikunterricht durchgef hrt werden k nnen und dazu dienen be stimmte Konzepte der Informatik auf enaktive Weise zu pr figurieren F r den Bereich der objektorientierten Programmierung gibt es Rollenspiele bei denen die Teil nehmer in die Rolle eines Objektes schl pfen und die bergabe und Verarbeitung von Botschaften nachspielen Adrianoff amp Levine 2002 Jimenez Diaz et al 2005 Der Unterschied zu Dramen im Rahmen von Visualisierungs bungen siehe v
218. ction that com putes Fibonacci numbers Processes are rep resented by four static boxes with side exit which are already visible at the beginning Full recursion depth Duration 19 seconds Concreteness 33 percent Average watchtime standard deviation 33 11 seconds 19 78 This model was evaluated in 19 first subjective sessions The following table shows the results Question votes percentage would you use to explain 3 15 79 represents the idea of a recursive function best 3 15 79 most difficult to follow 7 36 84 Model 4 Description Recursive function that com putes Fibonacci numbers Processes are rep resented by five dynamic boxes with side exit Parallel execution of function calls Full recursion depth Duration 15 seconds Concreteness 33 percent Average watchtime standard deviation 21 79 seconds 19 68 This model was evaluated in 19 first subjective sessions The following table shows the results Question votes percentage would you use to explain 9 47 37 represents the idea of a recursive function best 6 31 58 most difficult to follow 2 10 53 232 What happens when a function returns something Some general information about the players ofthis category who played the game at least once Professions 16 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 1 fem
219. d 6 57 3 79 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 80 3 54 9 27 2 11 8 41 3 61 Average watch time standard deviation 13 00 seconds 11 38 6 17 seconds 2 61 5 12 seconds 3 09 Percentage of players who declared that the model is appropriate good judgements 78 05 percent 87 80 percent 85 37 percent Average confidence in good judgement standard 8 75 2 54 9 31 2 12 9 29 2 47 deviation Percentage of players who declared that the model 21 95 percent 12 20 percent 14 63 percent is not appropriate bad judgements Average confidence in bad judgement standard 4 44 4 64 9 00 2 24 3 33 5 16 deviation 278 Judging Model pg_assign_al_10 Associated program a gt b a Description Variable a is visualized by a box with a name sign a containing a card with number 3 A second name sign b is attached to this box Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 7 16 3 13 Average watch time standard deviation 17 31 seconds 18 40 Number and percentage of players
220. d Literacy Cambridge Massachusetts MIT Press 2001 Duell M 1997 Non Software Examples of Software Design Patterns In Object 7 5 Du Boulay Benedict 1989 Some difficulties of learning to program In Soloway amp Spohrer 1989 S 283 301 Eckes Thomas 1991 Psychologie der Begriffe Strukturen des Wissens und Prozesse der Kategori sierung G ttingen Toronto Z rich English Lyn D 1997 Hrsg Mathematical Reasoning Analogies Metaphors and Images Mah wah New Jersey London Lawrence Erlbaum Associates Publishers 1997 English Lyn D 2004 Mathematical and Analogical Reasoning of Young Learners Mahwah Law rence Erlbaum Fach Peter W Strothotte Thomas 1994 Cognitive Maps A Basis for Designing User Manuals for Direct Manipulation Interfaces In Tauber M J Mahling D E Arefi F Hrsg Cognitive As pects of Visual Languages and Visual Interfaces Amsterdam London New York Tokyo North Holland 1994 S 133 ff Fischbein Efraim 1987 Intuition in Science and Mathematics Dordrecht Boston Lancaster Tokio Reidel Flavell John H 1963 Developmental Psychology of Jean Piaget Princeton D Van Nostrand Fothe Michael 2005 Rekursion und Iteration Voruntersuchung zu einem Test In Friedrich Stef fen Unterrichtskonzepte f r informatische Bildung Proceedings der INFOS 2005 in Dresden LNI Proceedings Bonn 2005 S 207 218 George Carlisle E 2000 EROSI Visualising Recursi
221. d the copies are processed Additionally a red point marks the actual element Duration 16 seconds Concreteness 0 percent Average watchtime standard deviation 22 47 seconds 14 53 This model was evaluated in 66 first subjective sessions The following table shows the results Question votes percentage would you use to explain 30 45 45 do you remember best 20 30 30 when you imagine the execution of the script 30 45 45 224 Model 4 Description Iteration over a list visualized as a column of numbers on a piece of paper Num bers are copied and processed Copied numbers are marked Duration 10 seconds Concreteness 0 percent Average watchtime standard deviation 17 55 seconds 13 92 This model was evaluated in 66 first subjective sessions The following table shows the results Question votes percentage would you use to explain 17 25 76 do you remember best 30 45 45 when you imagine the execution of the script 20 30 30 Multilists Some general information about the players of this category who played the game at least once Professions 6 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 1 female and 5 male persons Hours a week spent on programming standard de viation 3 00 hours 2 10 Roughly estimated experience in Python program ming standard deviation 240 50 d
222. da die Datenentit t aktiv ist 2 Das zweite Modell ist ein Beispiel f r eine Kettenbildung Aus dem Namensschild b w chst ein Pfeil der auf das Namensschild a zeigt Da in der Semantik des Programmtextes sowohl a als auch b Namen f r eine Zahl sind ist dieses Modell unpassend 3 Das dritte Modell ist eine plausible Anwendung des Zeigermodells Aus dem Namensschild a w chst ein Zeiger zur Karte 3 Bei der Visualisierung der zweiten Zuweisung ist der genaue Bewegungsvor gang von Bedeutung Die Zeigerspitze von b bewegt sich zuerst zum Namensschild a und tastet sich am Zeiger von a entlang bis zur Karte 3 b b s b DIa a BB on Ja a 2 09 0 wy 8 Abb 53 Modelle mit Zeigerbewegung zur Visualisierung von Zuweisungen Zeiger vom Objekt zum Namen pq_assign_al_13 Zeigerkette pq_assign_al_12 und zwei Zeiger zur Zahl pq_assign_11 Fast die H lfte aller beobachteten Sch lerinnen und Sch ler 70 von 154 hielten das inverse Zei germodell Modell 1 f r korrekt Die Lernkurve von Vielspielern Abb 53 links indiziert eine hohe Persistenz dieser Vorstellung Das inverse Zeigermodell wurde vom System als unpassend gewertet Nur wer sich dieser Einsch tzung anschloss erhielt Pluspunkte Trotz Bestrafung durch das System haben im zweiten Durchgang nur wenig mehr Personen das inverse Zeigermodell als unpassend einge sch tzt Erst im dritten Durchgang stieg ihr Anteil auf etwa 71 an 114 Die Ve
223. de zwischen Assoziationen und Benennungen im Sinne einer Zuweisung sind fol gende 1 Die assoziierten Objekte repr sentieren Inhalte und sind in diesem Sinne gleichartig D h es wird nicht zwischen Namen und benanntem Objekt unterschieden Die Vorstellung der Gleichartigkeit von Name und benanntem Objekt wird z B verwendet wenn Personen Zuweisungsfolgen durch Kettenbildung modellieren In diesem Fall wird der Zustand nach den Zuweisungen a 3 b a durch die Assoziationskette b gt a gt 3 dargestellt siehe Abschnitt 10 5 3 2 Die Assoziation ist symmetrisch Wenn a mit b assoziiert ist dann auch b mit a Bei Workshops mit der PVS konnte beobachtet werden dass viele Sch ler umgedrehte Zeigermodelle mit Zeigern die vom Objekt zum Namen verweisen f r passende Visualisierungen von Zuweisungen halten siehe Ab schnitt 10 5 3 3 Assoziationen werden kumuliert Das bedeutet zweierlei Erstens wird mit der Entstehung einer neuen Assoziation eine bereits existierende nicht gel scht Zweitens werden durch eine neue Assoziation gleichzeitig noch weitere Einheiten miteinander vernetzt Wenn a mit b assoziiert ist und a mit c dann ist auch b mit c assoziiert Dagegen besteht bei zwei Zuweisungen der Form a b a c keine Verbindung zwischen den Objekten b und c Au erdem wird mit der zweiten Zuweisung die Bindung von a an b aufgehoben 6 9 Benennung als Unterordnung Eine Zuweisung wort Hallo wird manchmal auch als Unterordnung
224. der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw 1 Boxmodell mit Sensoren 8s 10 65 s 58 85 3 74 1 30 8 pq_list_a3_ 4 7 18 2 Blitz 7s 7 88 s 58 85 3 76 7 37 7 pq_list_a3_ 2 5 58 3 Boxmodell mit Ein und Ausgang 9s 14 84 s 56 82 35 72 3 4 04 pq_list_a3_1 25 25 Tab 11 Beurteilung von Modellen f r Testfunktionen deren Ausgabe als Signal interpretiert wird Ber cksichtigt wur den die Antworten aus ersten Spieldurchg ngen von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teilge nommen haben Ein Modell mit einer booleschen Funktion die einen Wahrheitswert liefert kann nur zweiseitige Entscheidungen darstellen Bei verschachtelten Entscheidungsstrukturen muss ein Ereignismodell alle vorkommenden F lle als logische Aussagen explizieren Es gibt eine Entit t die den Systemzustand pr ft und ein Ereignis z B a lt bodera bodera gt b generiert auf das jeweils ein Akteur reagiert 8 8 Durchl ssigkeit der Systemgrenze 8 8 1 Geschlossene Box Ein geschlossenes Modell einer Funktion l sst einen Datenaustausch mit der Umgebung nur ber kontrollierte Ein und Ausg nge zu Probleme mit dem geschlossenen Ein Ausgabemodell treten dann auf wenn man einen Zugriff der Funktion auf Objekte darstellen will die au erhalb der Funkti on existieren z B Zugriff auf globale Variablen oder Aufruf von anderen Funktionen
225. der Informatik ist voller Formulierungen die in der Rhetorik als Formen des uneigent lichen Sprechens Tropen bezeichnet werden Baumgarten 2005 In einer Metapher bertragung wird der eigentliche Ausdruck Ziel durch einen anderen Quelle ersetzt der aus einem anderen 24 Sachbereich Dom ne stammt Eine Metapher ist ein Vergleich ohne ein tertium comparationis d h ohne die Nennung der Hinsicht in der sich die Begriffe aus Quell und Zielbereich hneln Beispiele e Eine Klasse ist ein Bauplan Quelldom ne ist Architektur e Variablen sind Beh lter f r Daten Wenn Metaphern lange genug in der Fachsprache verwendet worden sind werden sie zu toten Me taphern d h ihre urspr ngliche Bedeutung in der Quelldom ne tritt in den Hintergrund Beispiele f r tote Metaphern aus der Informatik sind Begriffe wie Botschaft Verzweigung oder Schleife Bei Metonymien Umbenennungen wird der eigentliche Ausdruck durch einen anderen ersetzt der aus derselben Dom ne stammt Eine Metonymie in der Alltagssprache ist z B die Formulierung vor den Altar treten f r heiraten Wenn man unterstellt dass die Hochzeit in der Kirche stattfindet stammt der Begriff Altar aus derselben Dom ne Viele Begriffe in der Informatik sind Metaphern oder Metonymien f r die es keine eigene eigent liche Bezeichnung gibt So sagt man dass eine Funktion ihr Berechnungsergebnis zur ckgibt Damit vergleicht man die Funktion mit einem Mensc
226. der Re gel das einfachste d h dasjenige das f r die gegebene Problemstellung gerade eben noch ausreicht Betrachten wir als Beispiel Teilchenmodelle aus der Chemie Zur Erkl rung der unterschiedlichen Dichte von Gasen und Fl ssigkeiten reicht ein einfaches Kugelteilchenmodell gro e Abst nde zwi schen den Teilchen im gasf rmigen Zustand und kleine Abst nde im fl ssigen Zustand Um aber Anziehungskr fte zwischen den kleinsten Teilchen zu erkl ren verwendet man ein komplexeres Mo dell bei dem der Aufbau der Molek le aus Atomen ber cksichtigt wird Wie in den Naturwissenschaften ist Fokussierung auch in der Informatik ein wichtiger Aspekt von Erkl rprozessen Abb 6 zeigt einen Ausschnitt aus einem animierten Modell das die Arbeitsweise der folgenden Iteration Python erkl rt for i an L 5 4 3 21 print i 2 Die Liste wird durch einen Kasten mit mehreren F chern repr sentiert Aus dem Kasten werden nacheinander Zettel entnommen jeweils die darauf stehende Zahl quadriert und ein Zettel mit dem Ergebnis an eine Tafel die die Standardausgabe darstellt geheftet Die Entnahme der Zettel ist sug gestiv da in jedem Moment deutlich wird welches Listenelement als n chstes dran ist Die Wieder holung ist beendet wenn der Kasten leer ist also keine weiteren Listenelemente mehr zur Verf gung stehen Die Vorstellung der Entnahme von Elementen entspricht aber nicht dem Listenkonzept da die Liste bei der Iteration nicht
227. derem damit zusammen dass vor der korrekten Programmzeile in unterschiedlichem Ma e zun chst fehlerhafte Anweisungen verwendet wurden 7 Tab 3 gibt einen berblick ber den Gebrauch falscher Puzzle St cke Die Zahlen best tigen Beo bachtungen die auch in anderen Studien gemacht wurden n mlich dass Anf nger in Programmtexten alltagssprachliche Formulierungen verwenden Bonar amp Soloway 1985 So hat die Zeile for all in persons als englischer Text durchaus Sinn ist aber kein g ltiger Python Programmtext Falsche Programmzeile Verwendung Prozent Mittl Rang Std Abw for all in persons 8 33 33 2 62 1 69 for persons in person 11 45 83 2 82 1 66 result append name 7 29 17 2 14 1 35 result append person 14 58 33 1 71 1 14 result append person 1 6 25 00 3 33 1 03 result 5 20 83 2 60 1 82 Tab 3 Verwendung falscher Programmzeilen in Python Puzzle Modeling a group Zu jedem als Tipp angebotenen Modell beschreibt der Bericht des Dienstprogramms die gesamte Betrachtungszeit die H ufigkeit der Betrachtung und die Bewertung Die Spieler sind gezwungen die betrachtete Hilfe zu bewerten bevor sie mit der Programmedition fortfahren k nnen 4 5 3 Verwendung von Tipps Ein zentrales Anliegen der Python Puzzles war Erkenntnisse ber die Verwendung von visuellen Modellen als Hilfe bei Programmieraufgaben zu finden Bedauerlicherweise wurden di
228. derson stellt den Probleml sungsprozess als Suche in einem Suchbaum von Handlungs m glichkeiten dar Anderson 1996 S 233ff Beim Probleml sen wird ein Ziel in Teilziele zerlegt f r deren Erreichen der oder die Probleml sende Operatoren besitzt Die Anwendung eines Operators berf hrt das Problem von einem Problemzustand in einen neuen Problemzustand der hoffentlich dem Zielzustand L sung n her liegt Der gesamte L sungsweg Folge von Operatoranwendungen kann durch einen Pfad von der Wurzel Anfangszustand zu einem Blatt Zielzustand dargestellt wer den Abb 8 links Das Modell des blinden Suchens in einem Suchbaum ist insofern unrealistisch als es bereits bei einfachen Problemsituationen eine un berschaubar gro e Anzahl von Aktionsfolgen gibt die in Ge danken zu pr fen sind Im Grunde geht man davon aus dass nur solche Operatoren in Betracht gezo gen werden die in irgendeiner Beziehung zu einer L sungsidee stehen Der erste Schritt die Bewegung von der Ausgangsituation Wurzel des Suchbaumes zu einem ersten Zwischenziel ist mehr als nur die Auswahl eines Operators Es ist im Grunde die Entscheidung f r einen kompletten L sungsansatz eine antizipatorische Intuition der dann in sp teren berlegun gen nur verfeinert d h in eine Folge konkreter Operationen berf hrt werden muss Anfangszustand 4 Zielzustand antizipatorische Intuitionen Abb 7 Suchbaum und geschachtelte antizipator
229. deutung wichtig Generell ist die Bedingung eine Aussage ber den momentanen Systemzustand Man kann folgende Interpretationen unterscheiden e Die Bedingung ist die negative Formulierung eines Ziels Solange die Bedingung erf llt ist ist das Ziel noch nicht erreicht Der Anweisungsblock hat die Aufgabe das System dem Ziel ein St ck n her zu bringen Diese Interpretation wird z B bei der algorithmischen Darstellung von N he rungsverfahren z B Wurzelberechnung nach Heron verwendet Das Ziel ist hier eine gewisse Genauigkeit des berechneten N herungswertes e Die Bedingung beschreibt einen Systemzustand in dem es keinen Sinn mehr macht den Anwei sungsblock auszuf hren Der Anweisungsblock kann im Prinzip beliebig oft ausgef hrt werden Es gibt keine Ann herung an ein Ziel Ein Beispiel ist der fetch execute Zyklus einer Benutzungs schnittstelle Der Anweisungsblock wird solange wiederholt bis der Benutzer aus welchen Gr n den auch immer das Programm beendet Ein Spezialfall dieser Interpretation sind Endloswieder holungen bei denen die steuernde Bedingung immer wahr ist while True Die beiden Interpretationen der while Bedingung korrespondieren in etwa mit zwei unterschiedli chen intuitiven Modellen f r while Anweisungen die im Folgenden diskutiert werden Die kontrol lierte Wiederholung und die Schleife 9 5 1 Kontrollierte Wiederholung einer holistischen Aktivit t Nassi Shneiderman Diagramme Struktogramme DIN
230. die in place Sortierung einer Liste nach dem Verfahren der direkten Auswahl straight selection veran schaulichen Ss 1 0 1 4 i 3 for i in range len s 66 for j in range itl len s if s j lt s i slily s j s j s i Die Modelle unterscheiden sich in der Implizit t der verwendeten Namen Die Laufvariablen i und j sind so genannte Stepper in Sajaniemis Systematik von Visualisierungen Sajaniemi 2002 siehe auch Abschnitt 13 1 Sie werden im ersten Modell entsprechend seinem Vorschlag durch Papierstrei fen mit Zahlen dargestellt auf denen die aktuelle Zahl durch ein Sichtfenster hervorgehoben wird In den beiden folgenden Animationen werden i und j durch Zeiger und Marken repr sentiert Ihre Rol le ergibt sich allein aus dem Kontext der Animation Die vierte Animation geht noch einen Schritt weiter Hier wird die Existenz von Steppern nicht explizit erw hnt sondern nur dadurch angedeutet dass immer zwei Karten ein St ck aus der Kiste herausgezogen sind Der bereits sortierte Teil der Liste wird mit einem Glaskasten zum Schutz vor Zugriff abgedeckt Abb 24 Modelle f r die Sortierung einer Liste nach dem Algorithmus straight selection Screenshots In dem Python Visual wurden folgende Fragen gestellt e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funk tioniert e An welche Animation k nnen Sie sich am besten erinn
231. die Referenzen neu 2 4 3 Repr sentation durch eine Beispielkollektion In Kurzreferenzen die auf wenig Platz z B eine Karte im Format eines gro en Lesezeichens m glichst viel Information zu einer Programmiersprache bieten m ssen werden abstrakte Konzepte h ufig allein durch konkrete Beispiele wiedergegeben Effiziente Beispielkollektionen enthalten meist Prototypen mit besonders hoher Repr sentativit t und Sonderf lle Wenn in einem Programmierprojekt eine Funktion oder Methode definiert werden soll kann ihre Funktionalit t durch beispielhafte Testf lle definiert werden Jeder Testfall besteht aus einem Aufruf der Funktion mit bestimmten Argumenten und dem erwarteten Ergebnis Die Kollektion der Testf lle repr sentiert ein Modell der Funktionalit t des zu entwickelnden Programmst cks gt Zietsman amp Clement 1997 zeigen dass leicht nachvollziehbare Extremfall Beispiele zum Aufbau abstrakter Modelle f hren k nnen 29 2 4 4 Beispiel basiertes Probleml sen Beispiele sind nicht in jedem Fall Repr sentationen eines intuitiven Modells Sie k nnen auch di rekt ohne den Umweg ber ein abstraktes intuitives Modell als Muster f r eine Probleml sung verwendet werden Beim Beispiel basierten Probleml sen vgl Chiu 2001 verwendet man ein Fall beispiel das mit der aktuellen Problemsituation strukturell identisch ist Der Probleml ser ersetzt Enti t ten des bekannten Beispiels durch passende
232. die herausgearbeitet werden m ssen So passt das Modell einer Funktion als Fabrik die Daten verarbeitet gut zum Modell eigenaktiver Daten Entit ten die sich zum Eingang einer Funkti onsentit t bewegen k nnen F r ein und dasselbe informatische Konzept gibt es in der Regel mehrere intuitive Modelle die miteinander verglichen werden Je nach Kontext oder Erkl rungsabsicht Fokus ist mal das eine und mal andere Modell besser geeignet So ist es bei endrekursiven Prozeduren denk konomisch den rekursiven Aufruf als Aufforderung zur Wiederholung zu betrachten eine Vorstel lung die bei eingebetteter Rekursion zu Fehlern f hrt Psychische Realit t und kognitive Zug nglichkeit Das dritte Ziel ist Informationen dar ber zu gewinnen welche Modelle von Programmieranf n gern beim Verstehen Erkl ren und Generieren von Programmtexten tats chlich verwendet werden Dazu wurde mit der Python Visual Sandbox PVS ein technisches System entwickelt das es erlaubt die intellektuelle Auseinandersetzung mit Programmen wenigstens ansatzweise zu beobachten Kapi tel 4 Eng verbunden mit der Frage nach der psychischen Realit t ist die Frage der kognitiven Zu g nglichkeit eines Modells und damit der Eignung als Basis f r ein Unterrichtsmedium Welche visu ellen Darstellungen sind verwirrend und missverst ndlich und welche verst ndlich und leicht erfassbar In welche Denkfallen tappen Programmieranf nger wenn sie bestimmte anschauliche
233. dlegend und wird in intuitiven Modellen f r Sequenzen Schlei fen und Programmverzweigungen zur Modellierung des Programmlaufs verwendet Den Aufruf einer Funktion dagegen kann man durch bergabe der Kontrolle von einem Akteur an einen anderen modellieren Nach der Abgabe wartet der aufrufende Akteur Wenn die aufgerufene Funktion terminiert gibt sie die Kontrolle an die aufrufende Einheit zur ck Hier wird die Bewegung der Kontroll Entit t nicht durch ein r umliches Gebilde eine Bahn dargestellt Stattdessen beschreibt man die Handhabung der Kontrolle als soziales Ph nomen Geben und Annehmen von Kontrolle ist Teil der Aktivit t interagierender Entit ten Es gibt auch Darstellungsformen f r Steuerungsprozesse die keine explizite Kontroll Entit t ent halten wie das Ereignismodell Abschnitt 9 3 3 und datengesteuerte Modelle f r Iterationen Ab schnitt 9 4 9 2 Anweisungssequenzen In der Redeweise des imperativen Programmierparadigmas ist eine Sequenz eine Folge von Anwei sungen die in einer festgelegten Reihenfolge hintereinander ausgef hrt werden In textuellen Pro grammiersprachen sind die Anweisungen einer Sequenz hintereinander und untereinander geschrie ben Bei der Programmausf hrung wird aus der r umlichen Anordnung ein zeitliches Nacheinander Sequenzen werden durch Verwendung bestimmter Sprachkonstrukte bei Pascal begin und end bei Java und C durch geschweifte Klammern und bei Python durch Einr ckung zu Bl ck
234. dnung der Elemente einer Menge A zu den Elementen einer Menge B Jedem Element von A darf h chstens ein Element von B zugeordnet sein In der Informatik wird eine Funktion meist als Akteur beschrieben der eine Aufgabe l sen kann In Programmtexten werden Funktionen als eigenst ndige Objekte oder Methoden einer Klasse defi niert und k nnen an anderer Stelle auf verschiedene Weise aufgerufen werden e Als eigenst ndiges aufrufbares Objekt z B in der Anweisung x sqrt 2 e als Botschaft an ein Objekt z B x rechner sqrt 2 e als statische Methode einer Klasse ohne dass zuvor ein Objekt instanziert worden ist z B x Math sqrt 2 e ber einen Operator in einem mathematischen Term z B x y 2 Aufrufe von Methoden k nnen auch als Aufrufe eigenst ndiger Funktionen und nicht als Botschaf ten an Objekte betrachtet werden Der Name des Objektes oder bei statischen Methoden der Name der Klasse wird dabei einfach als Teil des Funktionsnamens gesehen In der Definition einer Programmiersprache sind Syntax und Semantik von Funktionsaufrufen ein deutig festgelegt Dennoch verwenden Programmierer bei Probleml sungen bei der Interpretation von Programmtexten oder in der Kommunikation ber Programme je nach Kontext unterschiedliche Cluster von intuitiven Modellen die jeweils bestimmte Aspekte des Ph nomens Funktion repr sen tieren Das Statement x 2 kann z B auf folgende Weise gelesen und verstanden werden
235. do you remember best 5 31 25 explains worst 2 12 50 Model 3 Description Function is represented by a box Before the function appears the name x and a pointer enters the scene The funnction finds the minimal element of a list and moves the pointer x to it Duration 12 seconds Concreteness 75 percent Average watchtime standard deviation 25 06 seconds 12 01 This model was evaluated in 16 first subjective sessions The following table shows the results Question votes percentage would you use to explain 6 37 50 do you remember best 4 25 00 explains worst 3 18 75 234 Model 4 Description Function is represented by a box Before the function appears the name x with out object enters the scene The function finds the minimal element ofa list and puts name x on it Duration 11 seconds Concreteness 75 percent Average watchtime standard deviation 19 56 seconds 4 38 This model was evaluated in 16 first subjective sessions The following table shows the results Question votes percentage would you use to explain 3 18 75 do you remember best 5 31 25 explains worst 1 6 25 235 3 6 Python Puzzle 3 6 1 Screenshots aus einer Sitzung mit dem Python Puzzle Modeling a group turn result Modeling with lists eee result append person sons result append person 0 result append person 1
236. e bad judgements 9 players 42 86 percent Average confidence in bad judgement standard deviation 6 67 4 33 Judging Model pq objects al 4 Associated program bottle Container 0 7 Description Unappropriate visualization of the instantiation of an object a bottle Time 6 seconds Concreteness 100 percent of names are used in the model 291 Total number of first judgements 21 Average bet points 0 to 10 representing the player s deviation confidence standard 8 33 2 42 Average watch time standard deviation 11 76 seconds 12 33 Number and percentage of players who declared that the model is appropri 16 players 76 19 percent ate good judgements Average confidence in good judgement standard deviation 8 12 2 50 Number and percentage of players who declared that the model is not ap 5 players 23 81 percent propriate bad judgements Average confidence in bad judgement standard deviation 9 00 2 24 Judging Model pq_ objects al 3 Associated program bottle Container 0 7 Description Visualization of the instantiation of an object a bottle The class object is a box which takes a number size and returns a bottle Time 12 seconds Concreteness 100 percent of names are used in the model Container Total number of first judgements 21 Average bet points 0 to 10 representing the pl
237. e die die Bewegung einer Kopie darstellten signifikant bevorzugt Fisher Test p 0 000 Im dritten Modell ist der Beh lter mit Aufschrift b der Akteur der den Datentransport bewerkstelligt Offenbar k nnen sich die meisten Sch ler 81 2 eine Zuweisung auch als Daten holen vorstellen Die Beurteilungen der beiden letzten Modelle unterscheiden sich nicht signifikant Dies l sst sich so interpretieren dass die Frage des Akteurs bei der Interpretation von Zuweisungen keine Rolle spielt Insbesondere gibt es keinen kognitiven Vorteil mehr Intuitivit t wenn man sich eine Zuweisung so vorstellt dass eine Entit t Variable der linken Seite der Zuweisung sich einen neuen Wert von einer anderen Entit t Variable der rechten Seite der Zuweisung holt 111 n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Naive Bewegung pq_assign_al 4 6s 12 02 s 74 48 1 81 8 33 7 8 19 Bewegung einer Kopie 6s 8 81 s 133 86 4 87 7 27 6 pq_assign_al_5 6 22 Holen einer Kopie pq_assign_al_7 9s 12 68 s 125 81 2 86 4 24 4 11 56 Tab 17 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen der Form b a Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenom men haben Weitere Beispiele f r die Bewertung von Modellen mit Datenbewegunge
238. e Education Special Interest Group Uniform Modeling Language 169 170 1 Erg nzungen zur Repr sentation intuitiver Modelle 1 1 Verwendung unterschiedlicher Metaphern beim mathematischen Probleml sen Chiu 2001 ging in einer Untersuchung mit 12 Erwachsenen 18 bis 25 Jahre und 12 Kindern 12 13 Jahre der Frage nach in welchem Umfang Metaphern bei Probleml sungen und zur Erkl rung arithmetischer Operationen verwendet werden Die Untersuchung bestand aus zwei Teilen Im ersten Teil sollten die Probanden Profite aus einem B rsenhandel berechnen und anschlie end ihre Rechnung begr nden Die Rechnungen bestanden aus Additionen und Multiplikationen mit positiven und negati ven Zahlen Im zweiten Teil sollten die Versuchspersonen Fragen der Art How do you make sense of 5 8 beantworten Alle schriftlichen m ndlichen und gestischen u erungen wurden protokolliert und analysiert In den Antworten wurde nach metaphorischen Erkl rungen mit Konzepten aus ver schiedenen Bereichen Quell Dom nen gesucht unter anderem 1 Bewegung arithmetic is motion along a line In dieser Dom ne werden positive Zahlen durch Schritte nach rechts und negative Zahlen durch Schritte nach links vom Ursprung dargestellt Die Rechnung 5 8 wird so interpretiert dass man zuerst 5 Schritte nach links und dann 8 Schritte nach rechts geht Dabei wird der Weg den man zuerst nach links gegangen ist gewisserma en annulliert 2 Manipulatio
239. e als Fabrik f r Objekte 11 5 Klasse als Menge von Objekten 11 6 Klasse als Prototyp 11 7 Klasse als Beh lter f r Funktionen Toolbox 12 Objekte 12 1 Zustand eines Objektes Datenbesitz oder holistische Befindlichkeit 12 2 Instanzierung von Objekten Produktion oder Auswahl 12 3 Instanzierungsmodelle in der PVS 12 4 Interaktion von Objekten Verarbeitung von Botschaften 12 4 1 Objekte als Verursacher von Aktivit t 12 5 bermittlung von Botschaften 12 6 Schlussfolgerungen 13 Intuitive Modellierung 13 1 Identifizierung von Entit ten 13 2 Abstrahieren 13 3 Gestaltbildung 13 4 Animieren 13 5 Clusterbildung und Fokussierung 13 6 berstrukturierung 13 7 Einbeziehung der Umgebung 13 8 Dekorieren und Dramatisieren 13 9 R ckmodellierung 13 10 Exhaurierung 13 11 Konsistenzwahrung 14 Von der Intuition zum Programm 14 1 Prozedurale Intuition und fehlendes deklaratives Wissen 14 2 Aufbrechen der Gestalt 14 3 Fehlende Verbindungen zwischen intuitiven Vorstellungen und Programmkonstrukten 14 4 Schwierige intuitive Modelle 14 5 Fehlvorstellungen 15 P dagogische Implikationen 15 1 Intuitive Modelle und Lernen formaler Programmierkonzepte 15 1 1 Molekulare Modelle 15 1 2 _ Atomare Modelle 15 1 3 _ Subatomare Modelle 15 2 Kompetenzen im Umgang mit intuitiven Modelle 15 2 1 Abstraktionsgrad erkennen 15 2 2 Fokus und Grenzen wahrnehmen 15 2 3 Medien und Kommunikationskompetenz 10 117 117 118 118 118 119 121 1
240. e angebotenen visuellen Modelle nur in geringem Ma e genutzt selbst wenn die Spieler erhebliche Probleme mit der Aufgabe hatten und keine L sung finden konnten M glicherweise empfanden die Spieler die Ausei nandersetzung mit den Modellen als Zeitverlust Sie bevorzugten die knappe Zeit allein dem Testen von Programmvarianten zu widmen In den Workshops zeigte sich au erdem dass Spielstrategien und insbesondere die Verwendung der Modelle erst durch mehrfaches Spiel gelernt werden m ssen Eine sinnvolle Vorgehensweise ist z B folgende e Betrachte eine Animation zuerst als Hilfe um zu verstehen was die zu implementierende Funkti on leisten soll e Wenn du nicht sofort auf eine L sung kommst analysiere die angebotene Animation dahinge hend wie das Programm arbeitet Was passiert zuerst Welche Programmzeilen passen zu den dargestellten Aktionen Johnson 1990 h lt ausgelassene Initialisierungen f r so typisch f r Anf nger dass sein didaktisches Debug ging System PROUST in solchen F llen lehrreiche Hinweise gibt Aus der undeutlichen Reihenfolge kann man also nicht schlie en dass die Spieler uneinheitliche Vorgehens weisen zur L sung der Aufgabe verfolgten 52 Abb 13 Zwei Screenshots aus dm Tipp des Python Puzzles Multilists In zuk nftigen Versionen m sste der Abruf von Tipps auf geschickte Weise belohnt werden damit ein Anreiz geschaffen wird sich berhaupt auf die Verwendung pa
241. e der Iteration bestehen muss Cohn 2004 S 24 ff Diese von Nicht Informatikern entworfenen Tests haben nicht so sehr den Charakter softwaretechnischer Korrektheits tests bei denen systematisch das korrekte Systemverhalten in allen m glichen Situationen gepr ft wird Vielmehr operationalisieren und pr zisieren sie das intuitive Modell der Story durch Beispiele Damit die Entwickler im Team die Kosten f r die Implementierung einer Story einsch tzen k n nen ben tigen sie eine L sungsidee also ein paradigmatisches Modell Die Kosten ermitteln sie auf der Basis eines Vergleichs mit L sungen deren Kosten sie kennen Falls im Repertoire des Teams kein brauchbares Modell verf gbar ist wird zun chst eine Erkundungsstory geschrieben Investigati on Story die schnell zumindest sicher in der n chsten Iteration implementiert werden kann Spike Solution Erst nach Auswertung eines solchen Experimentes wird dann die eigentliche Story in An griff genommen Bemerkenswert ist folgender Aspekt In jedem Fall arbeiten die Entwickler mit para digmatischen Modellen die sie gut kennen und mit denen sie schon mehrfach gearbeitet haben so dass sie den Zeitaufwand f r eine Implementierung einsch tzen k nnen Sie haben nur Modelle und keine L sungen denn sonst g be es ja nichts mehr zu programmieren Die Schwierigkeit im Planning Game liegt also darin geeignete paradigmatische Modelle zu finden 3 4 Kontrollmodelle Intuitive Modelle s
242. e und erst im Moment des Aufrufs nach dem Bauplan der Funktionsdefiniti on erstellt und aktiviert wird 79 8 1 Funktion als Box mit Ein und Ausgang f r Daten Eine popul re Metapher beschreibt eine Funktion als statische Einheit mit Ein und Ausgang ber den Eingang nimmt die Funktion Werte auf verarbeitet diese und liefert ber ihren Ausgang ein Er gebnis zur ck Ein und Ausgang sind die einzigen Verbindungen Schnittstellen zur Umgebung Die Daten berg nge werden analog zu einem Materialtransport dargestellt Sobald die Ausgabedaten die Funktion verlassen haben ist der Verarbeitungsprozess der Funktion beendet Sie k mmert sich z B nicht mehr darum ob die produzierten Daten den Empf nger erreichen Wenn ni 2m den a oo ie Abb 31 Funktion eigentlich statische Methode einer Klasse als Materialverarbeitungseinheit mit Ein und Ausgang Visualisierung der 17 j hrigen C Dieses Modell wird in datenflussorientierten visuellen Programmiersprachen wie LabView oder VIPER oder im Datenflussmodell der funktionalen Modellierung verwendet siehe Abschnitt 5 1 Eine einfachere Variante ist die Vorstellung eines magischen Bechers der ein Objekt aufnimmt und das Berechungsergebnis aus der gleichen Offnung wieder ausgibt Diese Vorstellung klingt in der lexikalischen Metapher zur ckgeben an Abb 32 Funktion eigentlich Aufruf einer Methode als magischer Becher der Objekte verwandelt Vis
243. e unter schiedlicher Reichhaltigkeit sind folgende zwei Metaphern f r die Wirkungsweise regul rer Ausdr cke e Ein Sieb das passende Zeichenketten von unpassenden trennt und e ein Kran der passende Zeichenketten dargestellt durch Karten mit unregelm ig geformter Ober kante nach dem Schloss Schl ssel Prinzip an ihrer u eren Form erkennt Das Sieb visualisiert allein das Prinzip der Trennung n mlich die Tatsache dass mit regul ren Ausdr cken bestimmte Zeichenketten aus der Menge aller m glichen Zeichenketten herausgefischt werden k nnen Das zweite Modell ist reichhaltiger Denn zus tzlich zum Trennungsprinzip als sol chem wird auch der Mechanismus der Trennung das Schloss Schl ssel Prinzip angedeutet Anwendungsm glichkeit Ein Beispiel das man sich als intuitives Modell f r ein abstraktes Kon zept merkt kann mehr oder weniger eine typische Anwendungsm glichkeit sein Fischbein spricht dann von einer pragmatischen Intuition Versteht man Anwendungsm glichkeiten als Bestandteil ei nes Konzeptes so hat ein anwendungsbezogenes Modell einen gr eren semantischen Wert als ein nicht anwendungsbezogenes So kann man sich eine Python Liste als Warteliste beim Arzt mit den Namen von Patienten vorstellen Maier Schmidt Schulz Eine typische Verwen dung von Listen ist gleichartige Objekte in einem Container zusammen zu fassen Das Kriterium der typischen Anwendung kann in Konflikt mit dem Krit
244. echen von einem Lernparadox Der Konstruktivismus beschreibt Lernen als Weiterentwicklung bereits existierender Wissensstrukturen Damit m ssten eigentlich auch Fehlvorstellungen n tzliches Vorwissen sein und nicht etwas das Da zulernen behindert Fazit Nicht der Inhalt einer Fehlvorstellung also das intuitive Modell ist das Problem sondern seine unangemessene Verwendung Jede Fehlvorstellung die vom Subjekt als solche erkannt worden ist bedeutet einen Wissenszu wachs Denn sie dient dazu die Grenzen der Anwendbarkeit zu definieren Betrachten wir ein Beispiel aus der Informatik Angenommen Sandra stellt sich eine Liste s 1 3 5 6 als Beh lter mit drei F chern vor in denen sich beschriftete Zettel befinden Dann verwendet Sandra ein intuitives Modell Sie ist den Umgang mit einem solchen Beh lter gewohnt vielleicht hat sie als Kind einen solchen Kasten zum Sortieren von Legosteinen verwendet F r sie ist es z B zweifelsfrei klar was das erste oder letzte Element ist oder was es hei t das erste mit dem letzten Element zu vertauschen F r viele Operationen in einem Computerprogramm das eine solche Liste verarbeitet ist das Beh ltermo dell perfekt geeignet Die nderung des ersten Listenelements durch die Anweisung s 0 2 kann z B so dargestellt werden dass man den Zettel im ersten Fach durch einen anderen Zettel ersetzt Al lerdings gibt es auch Anweisungen die mit dem Beh ltermodell nicht dargestellt werden k
245. ects a3 3 Associated program bottle empty Description Unappropriate visualization of the message bottle empty by an oval moving to a bottle This oval is glued at the bottle Time 4 seconds Concreteness 100 percent of names are used in the model 297 Total number of first judgements 21 Average bet points 0 to 10 representing the player s 9 52 1 50 confidence standard deviation Average watch time standard deviation 9 29 seconds 7 36 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 5 players 23 81 percent 10 00 0 00 Number and percentage of players who declared that the model is not appropriate bad judgements 16 players 76 19 percent Average confidence in bad judgement standard deviation 9 38 1 71 Judging Model pq_ objects a3 2 Associated program bottle empty Description Visualization of the message bot tle empty by an oval moving to a bottle This oval has a mnipulator arm which grabs the bottle and empties it Time 5 seconds Concreteness 100 percent of names are used in the model Total number of first judgements bottle empty 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 14 4 35 Average watch time standard deviation 8 48 seconds 6 85
246. edlicher Eigenschaften k nnen aus bekannten Kategorien neue gewonnen werden Der aristotelische Klassenbegriff ist die philosophische Grundlage f r das Klassenkonzept objektorientierter Programmiersprachen Taivalsaa ri 1996 11 3 Klasse als Bauplan Wer sich eine Klasse als Bauplan vorstellt begibt sich in die Rolle eines Architekten der spezifi ziert wie ein Objekt einer Kategorie sp ter aussehen soll Der Bauplan ist die Dokumentation aber noch nicht die Sache selbst Um aus einem Bauplan ein Objekt zu generieren braucht man einen Ak teur Konstruktor und Baumaterial In OO Programmiersprachen wie Java oder Python enthalten Klassendefinitionen eine besondere Methode zur Initialisierung eines Objektes die man als Konstruk tor bezeichnet Es macht aber keinen Sinn diese Methode als Kreationsoperation zu begreifen mit der ein Objekt erzeugt wird Denn wie soll ein Objekt eine Operation ausf hren wenn es noch gar nicht existiert Vielmehr enthalten diese Methoden einen Mechanismus der variable Teile eines Objektes mit Anfangswerten belegt Initialisierung Die eigentliche Schaffung eines Objektes muss durch einen Akteur au erhalb des geschaffenen Objektes bewerkstelligt werden Die Bauplanmetapher spielt eine gro e Rolle beim Entwurf der Architektur eines Softwaresystems im Sinne eines Software Engineerings z B Sommerville 1997 Hier werden die technischen Komponenten eines Systems vollst ndig erfasst und in einen strukturellen Zu
247. ee times 41 First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 32 3 72 8 54 2 79 8 90 2 85 Average watch time standard deviation 16 10 seconds 9 13 22 59 seconds 62 44 16 51 seconds 47 26 Percentage of players who declared that the model is appropriate good judgements 60 98 percent 70 73 percent 70 73 percent Average confidence in good judgement standard 7 60 3 57 8 28 3 07 9 66 1 86 deviation Percentage of players who declared that the model 39 02 percent 29 27 percent 29 27 percent is not appropriate bad judgements Average confidence in bad judgement standard 6 88 4 03 9 17 1 95 7 08 3 96 deviation 274 Judging Model pq_assign_al_1 Associated program a 3 b a Description The value of a variable is repre sented by a rotating disk Assignment is visual ized by adjusting the disk Time 14 seconds Concreteness 100 percent of names are used in the model a j b o Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 7 82 3 28 Average watch time standard deviation 19 93 seconds 10 96 Number and percentage of players who declared that the model is appropriate good judgements 100 players 64 94
248. ef hrt D h aus der Seitent r der Box f r den Aufruf fib 3 wandern kurz hintereinander Karten mit den Argumenten f r die rekursiven Aufrufe fib 2 und fib 1 und werden in quasi gleichzeitig erscheinenden neuen Akteuren nebenl ufig verarbeitet Den Spielern wurden die gleichen Fragen gestellt wie im Python Visual aus Abschnitt 8 8 4 Tab 13 zeigt die Verteilung der Antworten von 21 Workshop Teilnehmern Sie weicht signifikant von einer Gleichverteilung ab x Test p 0 05 Die Daten zeigen eine Bevorzugung dynamischer und Ablehnung statischer Varianten des Seitent r Modells Insbesondere das realit tsferne Modell das eine parallele Ausf hrung rekursiver Funktionsaufrufe darstellt wurde f r Erkl rungen als besonders geeignet angesehen n 21 Dynamisch Statisch Statisch Dynamisch seriell ein Akteur viele Akteure parallel Erkl ren 5 3 3 10 Idee 8 4 3 6 Schwierig 5 6 8 2 Tab 13 Wahl verschiedener Modelle zur Veranschaulichung einer rekursiven Funktion Ergebnisse von 21 ersten Sit zungen w hrend Workshops mit der PVS Teilnehmer 19 Sch ler ein Student und ein Lehrer aus Deutschland 7 weiblich und 14 m nnlich sie besch ftigten sich im Schnitt 1 6 Stunden pro Woche mit Programmierung und hatten ein Durch schnittsalter von 18 2 Jahren 90 8 10 Ausl semechanismen Wann wird eine Funktion aktiv und beginnt mit der Verarbeitung der ihr bergebenen Daten Mo delle f r Funktion
249. ef llung der Karaffe aus Abb 58 Die Aktivit t bei der Ausf hrung der Operati on wird hier auf das Objekt und seine Umgebung verteilt gt Abb 58 Gesplittete Aktivit t Screenshots aus der Animation pq_objects_a2_1 4 Im vierten Modell wird wiederum die Botschaft durch zwei Entit ten Oval mit Methodenbezeichnung und Zettel mit Parameterwert dargestellt Das Oval mit der Beschriftung fi11 wird an die Karaffe gesendet Diese bewegt sich sie zur Abf llstation und bringt mit einem Greifarm das Rohr in die richti ge Position Die Karaffe empf ngt nun einen Zettel mit Aufschrift 0 4 Parameter und bet tigt mit ih rem Greifarm den Steuermechanismus der Abf llvorrichtung Im Unterschied zum letzten Modell ist hier allein das Container Objekt aktiv Die Ergebnisse in Tab 21 deuten an dass alle Modelle berwiegend akzeptiert werden Sie wurden von 70 bis 90 der Teilnehmer mit hoher Konfidenz als passend beurteilt Dagegen waren Perso nen die die Modelle ablehnten eher unsicher geringere Konfidenz Aufgrund der geringen Teilneh merzahl k nnen allerdings keine signifikanten Unterschiede zwischen den Modellen festgestellt wer den Fisher Test n 23 Als passend be Konfidenz Als unpassend Konfidenz urteilt Stdabw beurteilt von Stdabw 1 Eigenbef llung 1 21 91 81 34 2 9 25 35 pq_objects_a2_4 2 Naturalistische Bef llung 16 70 78 32 7 30 76 37 pq_objects_a2_3
250. efunden werden Um dabei erfolgreich zu sein braucht man ein generelles Misstrauen gegen ber der eigenen Intuition Man muss die M glichkeit in Betracht ziehen dass gegen die eigene berzeugung jedes Programmst ck falsch sein kann Heimt ckischer noch ist der zweite Mechanismus Wenn man eine falsche Vorstellung ber ein Programmkonstrukt hat kommt man vielleicht gar nicht auf die Idee es zu benutzen weil man es irr t mlicherweise f r untauglich h lt Interessant ist in diesem Zusammenhang auch das Ph nomen dass Fehlvorstellungen h ufig keine Behinderung von Probleml sungen und speziell Programmentwicklungen darstellen Fehlvorstellun gen sind ja kognitive Konzepte die sich in der Bew ltigung des Alltags bew hrt haben Jahrtausende lang kam die Menschheit problemlos mit der Fehlvorstellung zurecht dass sich die Sonne um die Erde dreht Auch heute verwenden naturwissenschaftlich gebildete Menschen Formulierungen wie Die Sonne steht hoch am Himmel und denken bei der Betrachtung eines Sonnenuntergangs nicht daran dass sich eigentlich die Erde dreht Beobachtungen mit der PVS haben gezeigt dass die meisten beo bachteten Informatiksch ler innen f r Zuweisungen der Art a b unkorrekte intuitive Modelle ver wenden siehe Abschnitt 10 5 Geht man davon aus dass diese Personen in der Lage sind korrekte einfache Programme mit Zuweisungen der beschriebenen Art zu formulieren so scheinen diese Fehl vorstellungen keine ko
251. egende und deshalb h ufig verwendete Konzepte Sie werden im Alltag der Programmierung nur selten in aller Ausf hrlichkeit visuell oder verbal expliziert sondern h ufig nur stillschweigend verwendet oder sind sogar g nzlich unbewusst Nicht Gegenstand dieser Arbeit sind speziellere Modelle wie z B Architekturen f r gro e Software Systeme oder Modelle f r Vererbungshierarchien in der Objektorientierten Programmierung Die hier untersuchten intuitiven Modelle ordnen wir folgenden Themen zu Akteure Namen Da ten Funktionen Verarbeitung Steuerung Klassen und Objekte Da intuitive Modelle Gestaltcharakter haben und Aspekte aus verschiedenen Bereichen der Programmierung in einer geschlossenen Figur vereinigen sperren sie sich oft gegen ber einer strengen taxonomischen Einteilung So kommt es zwangsl ufig zu gewissen berschneidungen Zum Beispiel enth lt das Zeigermodell f r Variablen eine besondere Art der Benennung von Objekten und wird in Abschnitt 6 3 mit anderen Benennung modellen verglichen Gleichzeitig impliziert dieses Modell bestimmte Vorstellungen zur Datenverar beitung z B Entstehungs und Vernichtungskonzepte die in Abschnitt 10 2 diskutiert werden Wie findet man intuitive Modelle Aus der subjektiven Sicht der Menschen die sich mit Pro grammtexten intellektuell auseinander setzen gibt es unter anderem folgende Quellen f r intuitive Modelle e Programmiersprachen textuell oder visuell e Entwicklungsumgebungen
252. ehrprozessen zur Abgrenzung vom Richtigen und zur Vermittlung eines vertieften Verst ndnis eingesetzt werden 1 4 Merkmale intuitiver Modelle Fischbein nennt u a folgende Merkmale intuitiver Vorstellungen Fischbein 1987 S 43 ff Selbst evidenz self evidence Intrinsische Gewissheit intrinsic certaincy Dauerhaftigkeit Persistenz Zwanghaftigkeit Theoriestatus Extrapolativit t und Globalitat Selbstevidenz Ein intuitives Modell ist unmittelbar einleuchtend und bedarf keiner weiteren Erkl rung Selbstevi denz ist nicht unbedingt eine Folge von Vertrautheit durch Erfahrung Die bekannte binomische For mel a b a b a b ist nicht selbstevident obwohl niemand der die Sozialisation des schulischen Mathematikunterrichts durchlaufen hat an der Richtigkeit zweifelt Dagegen ist die Aussage Jede ganze Zahl hat einen Vorg nger offensichtlich Fischbein 1987 stellt heraus dass eine selbstevidente Aussage unmittelbar etwas mit einem dahinter liegenden menta len Modell zu tun hat Sie ist gewisserma en eine Bedeutungsfacette eines abstrakten Konzeptes So werden ganze Zahlen ber Vorg nger und Nachfolger definiert Selbstevidente Aussagen sind so et was wie die Atome von Argumentationen Jeder Schritt eines nachvollziehbaren Beweises muss selbstevident sein Anderenfalls k nnte er nicht vom Leser akzeptiert werden und m sste in weitere feinere Unterschritte zerteilt werden Intrinsische Gewissheit
253. eil es keine allgemeinverbindliche Syntax gibt Um die Verst ndlichkeit zu verbessern wurde f r die PVS eine Art Bildersprache entwickelt und die Visualisierung zu einem gro en Teil normiert Die Animati onen enthalten wieder kehrende grafische Elemente deren Bedeutung zum Teil aus dem Alltag be kannt ist oder aus dem Zusammenhang erschlossen werden kann Einheitliche Formen und Farben erleichtern das Wiedererkennen Bei Workshops mit der PVS erkl rten Teilnehmer allerdings dass sie etwas Zeit brauchten um die Bedeutung der Abbildungen zu verstehen und zu lernen Beh lter dreidimensionaler Kasten Ein einfacher dreidimensionaler Kasten stellt eine Variable als Beh lter dar die Daten aufnehmen kann Inhalt ist meist ein beschrifteter Zettel Lange K sten mit mehreren F chern repr sentieren Listen Manchmal sind die F cher mit Num mern 0 1 2 beschriftet Listenindexe Sonderfalle sind K sten mit einem Fach f r einelementi ge Listen die mit normalen Variablen verwechselt werden k nnen sowie Darstellungen leerer Listen Eine leere Liste kann durch ein einfaches Brett visualisiert werden auf dessen Schmalseite man blickt Kasten mit null F chern Abb 72 Ein Kasten mit Schild repr sentiert eine Variable als Beh lter f r Daten 179 Abb 73 Kasten mit mehreren F chern zur Darstellung einer Python Liste Karten Zettel Auf wei en beweglichen Zetteln werden Daten Zahlen oder Zeichenketten mit schwa
254. ein Itera tor ins Leben gerufen wird der bei jedem Durchlauf das n chste Element des Containers heraussucht und eine Ausnahme ausl st und damit das Ende der Iteration bewirkt wenn alle Items besucht wor den sind Dieser Iterator ist implizit das hei t er tritt im Programmtext nicht in Erscheinung aber er k nnte bei einer erkl renden Animation visualisiert werden 13 7 Einbeziehung der Umgebung Gelegentlich werden nicht sichtbare Teile der Umgebung des zu erkl renden oder zu verstehenden Programmtextes in die intuitive Modellierung einbezogen Zur Umgebung eines Programms geh ren z B das Betriebssystem Compiler und Interpreter Betrachten wir folgendes Python Programm das ein Fenster mit zwei Labeln darstellt from Tkinter import fenster Tk labell Label fenster text Oben S Beispielsweise beim Uberschreiben einer Speicherzelle im Arbeitsspeicher wird diese nicht zuerst gel scht und bleibt dann f r einen kurzen Moment leer bevor der neue Inhalt kommt 134 label2 Label fenster text Unten labell pack label2 pack fenster mainloop Formal ist die Methode pack eine Operation der Klasse Label In einer strukturtreuen Erkl rung w rde man sagen dass das Label Objekt sich selbst in bestimmter Weise im Anwendungsfenster positioniert Doch bei Erkl rungen eines solchen Programms z B in Sprachreferenzen wird meist das Konzept des Layout Managers herangezogen M
255. ein durch Beispiele erkl rt was ein Tupel ist Effiziente Beispielkollektionen enthalten meist Prototypen mit besonders hoher Repr sentativit t und Sonderf lle Die ersten drei Beispiele in Tab 23 stellen einen Prototyp Beispiel 3 und zwei Son derf lle die ersten beiden Beispiele dar In die Sonderf lle kann auch Wissen ber andere Konzepte einflie en So wird im Beispiel des Python Tupels 0 zum Ausdruck gebracht dass sich durch das Komma ein einelementiges Tupel von einem Klammerausdruck unterscheidet vgl Tab 23 Derartige Abgrenzungen k nnen auch durch Gegenbeispiele expliziert werden So ist das Literal 1 kein Tupel sondern ein Ausdruck und das Statement t 0 2 ist nicht erlaubt wenn t ein Tupel ist Denn bei Python sind Tupel unver nderbare Objekte 1 3 Von der Schwierigkeit intuitive Modelle zu visualisieren In einer umfangreichen Untersuchung von van der Veer 1994 mit 607 Personen aus drei europ i schen L ndern wurde versucht mentale Modelle ber die Arbeitsweise von Computersystemen zu ermitteln Die Aufgabe war mit Hilfe beliebiger Ausdrucksmittel Text Zeichnungen etc auf einem Blatt Papier zu erkl ren wie man einen gespeicherten Text sucht ihn auf dem Bildschirm darstellt eine Kopie speichert und ihn ausdruckt teach back Aus den Ergebnissen erhoffte man sich Er kenntnisse ber verwendete Modellvorstellungen Wie die Analyse der abgelieferten Erkl rungsversu che zeigte wurden zwar h uf
256. einen Namen der Form SpalteZeile f r einen Wert aus einem relativ kleinen Angebot von Zeichenkombinationen aus Die Namen dienen allein der Adressierung und sind keine Bedeutungstr ger hnliches gilt f r Mik roprogramme eines Prozessors mit gegebenem Set von Registern Allerdings sind hier die Register mit bestimmten M glichkeiten der Verarbeitung verbunden 10 2 Vernichtung 10 2 1 Implizite Vernichtung bei Zuweisungen Programmiersprachen enthalten spezielle Konstrukte zur Vernichtung Beispielsweise gibt es bei Python das Kommando del zum L schen von Objekten Python Listen besitzen die Methode re move zur gezielten Entfernung von Elementen Es gibt aber auch Programmteile die mit Vernich tung verbunden sind ohne dass dies durch eine besondere Anweisung expliziert wird So impli ziert die berschreibung einer Variablen die Vernichtung des vorigen Inhalts 10 Zu Entstehungskonzepten im Alltag siehe Anhang 5 1 105 Aufgabe 2 des Python Quiz Modeling assignments enth lt Animationen die folgende Anweisungs folge visualisieren today Monday today Tuesday today Wednesday In den von den Spielern zu bewertenden Animationen wurden drei verschiedene Modelle zur Dar stellung der Variablen today verwendet e Notizzettelmodell Ein Blatt Papier tr gt als berschrift gr erer Schrifttyp und blaue Schriftfar be den Variablennamen today Darunter werden mit einem Stift die aktuellen Werte geschrie ben
257. einer Sprachreferenz die Beschreibung einer Funk tion nachliest und aus abstrakten Darstellungen semantische Intuitionen entwickelt Erkl ren ist besonders bei gemeinsamer Softwareentwicklung im Team von Bedeutung Erkl run gen finden sich in Programmkommentaren Dokumentationen oder Diskussionen des Programmier teams Dabei werden intern verwendete intuitive Modelle externalisiert geeignete Repr sentationen gefunden und die Darstellung auf das Wesentliche fokussiert Probleml sen ist die zentrale Aktivit t bei einer Programmentwicklung Die Suche nach einer L sung wird h ufig durch semantische Intuitionen beeinflusst Wer z B eine Routine zum Sortieren einer Liste entwickelt wird sich zun chst mit der Frage besch ftigen was eine Liste eigentlich ist und ver schiedene Modellvorstellungen ins Bewusstsein rufen die die Bedeutung des Konzeptes Liste repr sentieren Die L sungsidee selbst wird in ihrer Gesamtheit durch ein antizipatorisches intuitives Modell dargestellt Kontrollieren mit Hilfe intuitiver Modelle spielt beim Testen und Debuggen eines Programms eine Rolle Bei der Suche nach semantischen Fehlern oder der Formulierung von Zusicherungen z B in Form von assert Statements werden einfache Modelle mit besonders hoher subjektiver Gewissheit zu Plausibilit tspr fung verwendet 3 1 Verstehen Wie werden intuitive Modelle verwendet um zu einem Verst ndnis abstrakter Konzepte der In formatik zu gelange
258. einzelner Punkt dabei ist die Identifikation und Benennung von Entit ten Das Problem ist dass das intuitive Modell als Gestalt einfach ist und auf explizite Benennung der enthaltenen Entit ten verzichtet Nehmen wir als Beispiel die Suche nach einer Telefonnummer in einer Liste die auf ein Blatt Papier geschrieben ist Jede Zeile enth lt ein Paar im Format Name Telefonnummer Um nach der Nummer zu suchen geht man mit dem Finger von oben nach unten die Namensspalte hinunter und kontrolliert in jeder Zeile ob der aufgef hrte Name mit dem gesuchten bereinstimmt Falls dies der Fall ist geht man mit dem Finger nach rechts und liest die zugeh rige Telefonnummer Eine Schwierigkeit liegt darin zu erkennen dass das Zeigen mit dem Finger eine Benennung ist F r die Zeile auf die der Finger zeigt m sste im Programmtext ein Name eingef hrt werden ber den der Zugriff auf das Paar Name Telefonnummer erm glicht wird 14 3 Fehlende Verbindungen zwischen intuitiven Vorstellungen und Programmkonstrukten Das letzte Beispiel verweist bereits auf eine dritte Barriere n mlich fehlende Verbindungen zwi schen intuitiven Vorstellungen und Programmierkonzepten Es kann z B sein dass jemand auf der einen Seite Alltagsaktivit ten wie das Zeigen auf ein Objekt oder das Aufschlagen von Seite 20 in einem Buch beherrscht und auf der anderen programmtechnischen Seite Zuweisungen und den Zugriff auf ein Item eines Arrays kennt aber diese Konzepte aus
259. ekte handelt wie Listen Python oder Instanzen selbst defi nierter Klassen Betrachten wir die folgende Python Anweisungsfolge aus der PVS Applikation Chan ging Lists s 1 1 1 ESS s 0 5 print t Die Ausgabe auf dem Bildschirm lautet 5 1 1 und nicht etwa 1 1 1 Zur Erkl rung dieses Verhaltens werden vier Visualisierungen angeboten 1 Die erste Animation zeigt ein komplett ungeeignetes Modell Abb 17 Liste s wird als Beh lter mit 3 F chern dargestellt in denen sich Zettel mit der Zahl 1 befinden Es erscheint ein zweiter zun chst lee rer Beh lter gleicher Bauart mit der Beschriftung t Von jedem Zettel in s wandert eine Kopie in t Der erste Zettel in Beh lter s wird durch einen Zettel mit der Zahl 5 ersetzt Beh lter t bleibt unver ndert Hier m sste die Anweisung print t die Ausgabe 1 1 1 liefern Abb 17 Ungeeignetes visuelles Modell f r das Programm 2 Auch die zweite Animation verwendet ein Beh ltermodell und interpretiert die Zuweisungt s als eine Art Kopiervorgang Es entsteht ein neuer Beh lter mit Etikett t der den gleichen Inhalt wie s hat Abb 18 Allerdings ist der Beh lter t keine Kopie im blichen Sinne Stattdessen handelt es sich um zwei Erscheinungen desselben Objektes Jede Ver nderung von s wie z B die Neubelegung der ers ten Kammer mit der Zahl 5 wird auf magische Weise ebenfalls mit t ausgef hrt 62 Abb 18 Beh ltermodell f r die Ver nderung einer Li
260. ekte produziert Das widerspricht insofern der Semantik des Programms als die Benennung durch die Zuweisung erfolgt und nicht bei der Initialisierung eines Objektes in der Klassendefinition Das Objekt kann ja sp ter umbenannt werden Immerhin 14 Spieler 61 hielten im ersten Durchlauf dieses Modell f r passend Das Ergebnis l sst sich so interpretieren dass die Fabrikmetapher gewis serma en ausstrahlt Sie wird nicht allein zur Beschreibung der Instanzierung verwendet sondern als Modell f r die gesamte Zuweisung Instanzierung plus Benennung Damit verbunden ist auch die Vorstellung dass der Name Bestandteil des Objektes ist 12 4 Interaktion von Objekten Verarbeitung von Botschaften In der Objektorientierten Programmierung ist die Vorstellung interagierender Entit ten expliziter Bestandteil des Paradigmas Objekte senden und empfangen Botschaften Dieser Abschnitt widmet sich dem Botschaftskonzept Wir gehen dabei auf folgende Fragen ein In welchem Ma wird das durch eine Botschaft beauftragte Objekt als Akteur gesehen Wie gelangt eine Botschaft zu ihrem Adressaten 12 4 1 Objekte als Verursacher von Aktivit t Nach dem Paradigma der OOP empf ngt ein Objekt eine Botschaft wertet sie aus und f hrt die spezifizierte Operation aus Der Ursprung der Aktivit t liegt also im beauftragten Objekt Das Python Quiz Objects enth lt Animationen die die Aktivit t bei der Ausf hrung eines Auf trags auf unterschiedlic
261. el Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 69 4 02 Average watch time standard deviation 11 44 seconds 12 78 Number and percentage of players who declared that the model is appropriate good judgements 54 players 79 41 percent Average confidence in good judgement standard deviation 6 85 4 04 Number and percentage of players who declared that the model is not appropriate bad judgements 14 players 20 59 percent Average confidence in bad judgement standard deviation 6 07 4 01 256 Judging Model pg_list_a4_6 Associated program result append n Description Visualization of a list extension Cd Gu result persons append using a consistent pointer model for the lists Lists are represented by boards with gt i pointers Time 5 seconds Concreteness 67 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the 4 85 4 57 player s confidence standard deviation Average watch time standard deviation 9 62 seconds 7 51 Number and percentage of players who declared 40 players 58 82 percent that the model is appropriate good judgements Average confidence in good judgement standard 5 62 4 56 deviation Number and percentage of players
262. ell Der Beh lter z B eine Schachtel ist mit einem Etikett versehen das den Variablennamen tr gt Eine Zuweisung der Form x 1 wird so interpretiert dass der Beh lter mit Namen Etikett x mit einem neuen Inhalt einer Repr sen tation der Zahl 1 gef llt wird Der vorige Inhalt wird dabei vernichtet Der Beh lter zusammen mit seinem Etikett dient der Identifikation des momentan gespeicherten Objektes Inhalt und erm g licht den Zugriff Ein alternatives intuitives Modell verzichtet auf das Beh lterkonzept und sieht eine Zuweisung al lein als Benennung eines Objektes Der Variablenname wird als Name eines Objektes interpretiert Referenzierungsmodell Man sagt auch Der Name ist an das Objekt gebunden Im obigen Beispiel wird der Zahl 1 Name x zugeordnet Anschaulich kann man sich eine Benennung so vorstellen Man zeichnet einen Pfeil von dem Namen zum Objekt oder etikettiert ein Objekt mit einem Zettel das ei nen Namen tr gt Es gibt noch weitere Formen auf die wir sp ter zu sprechen kommen Was ist der Unterschied zwischen beiden intuitiven Modellen Das Beh ltermodell stellt den Na men einer Variablen in den Vordergrund Der Beh lter ist eine dauerhafte Entit t sein Inhalt ist fl ch tig und austauschbar Dagegen ist beim Referenzierungsmodell das Objekt die dauerhafte Entit t Der Name kann ge ndert werden Im Referenzierungsmodell kann ein Objekt erst benannt werden wenn es existiert Unter Umst nden i
263. ell als subjektivem gedanklichen Konstrukt das m glicherweise unbewusst ist und seiner Repr sentation in einer materiellen Form Abbildung Text etc Die Darstellung eines intuitiven Modells ist durch den R ckgriff auf intersubjektive Symbolsysteme vor allem ein kulturelles Ph nomen Kapitel 2 widmet Anzumerken ist dass neben Modellen zu Programmierkonzepten noch viele andere intuitive Modelle existie ren die sich prim r auf andere Bereiche der Informatik beziehen wie z B Modelle zu Vorgehensweisen Was serfallmodell etc oder zur Untersuchung einer Dom ne Thomas 2003 15 sich speziell dieser Perspektive und diskutiert verschiedene Repr sentationsformen In dieser Arbeit werden intuitive Modelle vornehmlich durch Animationen mit kleinen Textelementen beschrieben In den Details eines visuellen Vorgangs k nnen implizite Bedeutungsfacetten einer sprachlichen For mulierung expliziert werden Systematisierung und Analyse Das zweite Ziel ist Ans tze f r eine Systematik intuitiver Modelle der Informatik zu finden In den Kapiteln 5 bis 12 werden Modelle nach inhaltlichen Kriterien eingeteilt Allokation von Aktivit t Benennung von Entit ten Daten Funktionen Verarbeitungskonzepte Kontrollstrukturen zur Steue rung von Programml ufen Klassen und Objekte Grundlegende intuitive Modelle der Informatik tre ten meistens nicht isoliert sondern in gr eren Zusammenh ngen auf Daraus ergeben sich Interde pendenzen
264. ell f r passend mittlere Konfidenz 81 a Abb 116 Vermischen von passivem und aktivem Modell f r Objekte pq_objects_a5_3 2 In der zweiten Gruppe intuitiver Modelle wird die Programmzeile nicht als eine zusammenh n gende Botschaft sondern von vornherein als eine Folge zweier getrennter Botschaften interpretiert Die Aufl sung der komplexen Botschaft erfolgt also durch den Akteur von dem die Botschaft stammt hier das Laufzeitsystem der oberste Akteur der f r die Ausf hrung des gesamten Programms zu st ndig ist Einige Animationen der PVS greifen diese Vorstellung auf Im Modell pq objects a5 6 zum Beispiel schickt das Laufzeitsystem zuerst die Botschaft empty an die Karaffe das Ergebnis Karte mit Aufschrift 0 4 wird zur ck gesendet und verschwindet aus dem Bild Anschlie end er scheint eine zweite Botschaft i11 0 4 die an das Objekt vase geschickt wird und das Auff l len des Beh lters ausl st Abb 117 Von den 23 beobachteten Spielern hielten 15 dieses Modell f r passend mittlere Konfidenz 87 a amp S la Abb 117 Aufl sung einer verschachtelten Botschaft durch das Laufzeitsystem pq_objects_a5_6 Die soeben beschriebene Abfolge kann als plausibel betrachtet werden Die PVS enth lt aber zu dieser Aufgabe auch eindeutig falsche Versionen mit zwei einfachen Botschaften In der Animation pq_objects a5 1 wandert zun chst die Botschaft empty zur Karaffe Daraufhin entleert sich 328 d
265. elle auf den Hinweiskarten Sie reali siert eine Beziehung zwischen Modell model und Protokoll eines erfolgreichen Python Puzzle Testlaufs protocol pp_task Attribut Datentyp Erl uterung model_id varchar 20 Fremdschl ssel Er enth lt einen String mit ID des Modells model auf der Cue Card task_id varchar 20 Fremdschl ssel Enth lt ID des Protokolls zu einer Aufgabenl sung proto col_pp players smallint Anzahl der Spieler die hinter der Bewertung stehen score smallint Bewertung des Modells time smallint Betrachtungszeit des Modells Tab 39 Tabelle protocol_pp model 207 3 2 4 Tabellen f r Python Quiz description_pq Beschreibung einer Python Quiz Applikation Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt den Namen des Spiels Dateiname ohne Extension description varchar 200 Kurzbeschreibung auf Englisch al varchar 10 Weiteres Attribut Reserve description_pq_task Jede Zeile der Tabelle beschreibt eine Aufgabe eines Python Quiz Eine Aufgabe besteht grund s tzlich darin f r verschiedene Modelle zu entscheiden ob sie zu einem Programmfragment passen Die Korrektheit eines Modells zum Programmtext passend akzeptabel oder nicht passend wird nicht Tab 40 Tabelle description_pq modelliert Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel wird zusammengesetzt aus ID des Spie
266. em dem Erlernen und Ein ben ei ner Programmiersprache dienen Die Auswahl geeigneter Modelle f r Unterrichtsgespr che ist eine didaktische Entscheidung die nur schlecht automatisiert werden kann da viele Faktoren ber cksich tigt werden m ssen Die Beherrschung einer Vielfalt atomarer Modelle f r Elemente einer Program miersprache erleichtert die Implementierung einer algorithmischen Idee 15 1 3 Subatomare Modelle F r das Verstehen von elementaren Programmkonstrukten ist es oft hilfreich und notwendig menta le Vorstellungen zu verwenden deren Abstraktionsgrad unterhalb dem Niveau der Programmierspra che liegt Wir sprechen dann von subatomaren Modellen In Abschnitt 13 6 wurden sie bereits unter dem Stichwort berstrukturierung diskutiert Wie im Zusammenhang mit Verarbeitungskonzepten diskutiert worden ist vgl Kapitel 10 spielen bei der Interpretation elementarer Programmanweisungen h ufig mehrere grundlegende Intuitionen die auch im Alltag verwendet werden zusammen Beispielsweise enthalten Modelle f r Zuweisungen Vorstellungen ber Entstehung Vernichtung Transport und Metamorphose von Entit ten In der Re gel sind die Modelle die man zur Abbildung formaler Programmkonstrukte heranzieht nicht hundert prozentig passend Um jedoch die Unterschiede und Grenzen der Anwendbarkeit herauszufinden und zu explizieren muss man sie genauer analysieren und auf subatomare Komponenten zur ckgreifen 15 2 Kompetenzen im Umgan
267. em to item in the list Time 9 seconds Concreteness 100 percent of names are used in the model persons Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 7 35 3 71 Average watch time standard deviation 12 40 seconds 17 74 Number and percentage of players who declared that the model is appropriate good judgements 54 players 79 41 percent Average confidence in good judgement standard deviation 7 59 3 60 Number and percentage of players who declared that the model is not appropriate bad judgements 14 players 20 59 percent Average confidence in bad judgement standard deviation 6 43 4 13 248 Judging Model pg_list_a2_6 Associated program for n a in persons Description Visualization of an iteration Con tains an unappropriate model of assignment Cards representing values accumulate in a con tainer Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 7 57 3 81 Average watch time standard deviation 9 78 seconds 5 97 Number and percentage of players who declared that the model is appropriate good judgements 35 players 51 47 percent Average confidence in g
268. ements am Computer Eine schnelle Form des Verstehens findet statt wenn im Bewusstsein des Lesers bereits vorhandene Intuitionen mit dem neuen Konzept in Be ziehung gesetzt werden So kann die Idee regul rer Ausdr cke durch das Schloss Schl ssel Prinzip modelliert werden ein Konzept das man aus anderen Zusammenh ngen kennt Beim erkenntnisgewinnenden Fragen werden neue oder alte intuitive Modelle dahingehend ge pr ft ob sie geeignete Interpretationen des im Text dokumentierten Konzeptes sind Dabei werden unpassende Intuitionen ausgegrenzt Das kann dazu f hren dass man zu abstrakten Konzepten auch unpassende Modelle expliziert und sich dauerhaft merkt So versteht man das Konzept der L nge einer 34 Liste Anzahl der Elemente besser wenn man es von der physikalischen L nge eines Gegenstandes unterscheidet Meist wird ein Sachverhalt nicht durch ein einzelnes intuitives Modell sondern durch ein B ndel verschiedener Intuitionen verstanden Manchmal gibt es ein treffendes globales Modell das eher vage ist aber die Grundidee in einer einzigen Gestalt wiedergibt Dazu existieren weitere unterst t zende Modelle die einzelne Spezifika st rker herausstellen aber nicht mehr so repr sentativ f r das gesamte Konzept sind H ufig macht es Sinn sich auch Spezialf lle und Ausnahmen zu merken So geh rt zum richtigen Verst ndnis einer Liste dazu dass es auch leere Listen gibt Ein spezieller Fall ist
269. en Vernichtungsmodellen 106 Abb 47 Sukzessive Zuweisungen ohne Vernichtung 107 163 Abb 48 Visualisierung der Ausf hrung eines Methodenaufrufs durch die Metamorphose einer Datenentit t Abb 49 Visualisierung von Graphen Baum Ring ohne explizite Repr sentation der Kanten Abb 50 Modelle mit Datentransport zur Visualisierung einer Zuweisung Naiver Transport Transport einer Kopie und Holen einer Kopie 109 111 111 Abb 51 Modelle mit Namenbewegung zur Visualisierung einer Zuweisung Namenskette Transport der Kopie eines Namens zweiter Name f r Beh lter und zweiter Name f r Datum Abb 52 Beurteilung unpassender Modelle mit Namenbewegungen f r Zuweisungen Lernkurven bei Vielspielern n 41 Abb 53 Modelle mit Zeigerbewegung zur Visualisierung von Zuweisungen Abb 54 Beurteilung als unpassend eingestufter Modelle mit Zeigerbewegungen Lernkurven bei Vielspielern n 41 Abb 55 Screenshots aus Animationen zur Veranschaulichung von Instanzierungen aus Python Quiz Objects Abb 56 Objekt als Akteur Screenshots aus der Animation pq_objects_a2_4 Abb 57 Umgebung als Akteur Screenshots aus der Animation pq_objects_a2_3 Abb 58 Gesplittete Aktivit t Screenshots aus der Animation pq_objects_a2_1 Abb 59 Botschaft als Akteur Abb 60 Modelle mit unterschiedlicher Darstellung des Transports einer Botschaft zum Empfanger Leitstrahl Anfassen selbststandige Suche und Broadcasting Abb 61 Verwendung
270. en die psychische Realit t verschiedener intuitiver Modelle bei Programmieranf ngern nachgewiesen und fehlerhafte Anwendungen Fehlvorstellungen identifiziert ISBN 978 3 940793 08 9
271. en durch Bewegung eines Stiftes sind einzelne getrennte Konzepte die bereits Kindern im Vorschulalter vertraut sind Die Kombination dieser Merkmale zu einer Einheit ist jedoch rein k nstlich und existiert nicht in der Realit t und erst recht nicht in der Erfahrungswelt der Kinder die zum ersten Mal mit ihr arbeiten Bei genauerem Hin sehen stellt man fest dass die Komponenten des Konzeptes Turtle aus unterschiedlichen Erfah rungsbereichen kommen So k nnen sich echte Schildkr ten und andere Tiere einigerma en gerade aus durch den Sand bewegen und dabei eine Spur hinterlassen Sie k nnen auch die Richtung ndern machen dies aber typischerweise kontinuierlich und bewegen sich dabei in Kurven Drehungen auf der Stelle beobachtet man eher bei v llig anderen Objekten die auf einer Achse angebracht sind Wasser hahn Kamera auf einem Stativ Klavierhocker etc Das Konzept des Schrittes passt eher zu Wesen die auf zwei Beinen laufen Bei einem Vierf er wie einer echten Schildkr te ist der Schritt eines einzelnen Beins nicht unbedingt mit einer Vorw rtsbewegung verbunden Der Schritt selbst ist eine Metapher f r eine diskrete L ngeneinheit Das Erfolgsgeheimnis der Mikrowelt liegt darin dass sie ein koh rentes Set von Repr sentationen f r unterschiedliche intuitive Modelle bereitstellt Jedes f r sich k nnte auch auf andere Weise repr sentiert werden Aber durch das koh rente Design entsteht eine k nstliche Welt
272. en gesehen Er ist Teil der pers nlichen Daten und das Besitzrecht ist sogar durch Gesetze gesch tzt Wir nennen diese Intuition Etikettmodell Sie geht davon aus dass der Name einer Entit t zur be nannten Entit t geh rt und gewisserma en Teil von ihr ist Typische Beispiele aus dem Alltag sind Etiketten auf Weinflaschen Schulheften und anderen Produkten Andererseits existieren im sozialen Alltag auch Namen die der benannten Person unbekannt sind Zum Beispiel erfinden Sch ler hinter dem R cken ihrer Lehrer Spitznamen f r sie Diese Namen ge h ren den Individuen die sie verwenden Sie eignen sich zur Identifikation eines Objektes aber nur mit Einschr nkungen zur Kommunikation mit ihm Wir nennen dieses intuitive Modell Zeigermodell Beispiele f r Zeiger im Alltag sind Wegweiser die sich in einer gewissen Entfernung vom durch sie benannten Zielort befinden In Modellen zur Veranschaulichung von Computerprogrammen k nnen Namen durch Pfeile oder Etiketten visualisiert werden Das Etikett klebt an einem Objekt und geh rt ihm damit Andererseits kann man nicht mehr erkennen wer das Etikett angeklebt und so die Benennung vorgenommen hat Beim Pfeil dagegen sind Name und Objekt r umlich getrennt Der Pfeil beginnt bei einem Namen und dieser Name kann z B Attribut eines anderen Objektes sein Hier wird also der Besitzer des Namens mit dargestellt personen um Sarah jis Abb 21 Etikettenmodell Besit
273. en unterscheiden sich in der Art und Weise wie sie die Aktivierung einer Funktion veranschaulichen Ausl semechanismen Oft wird eine implizite Ausl sung verwendet Die Funktion beginnt automatisch mit der Verarbeitung sobald sie alle Daten empfangen hat ber andere For men der Ausl sung braucht man nur bei statischen Funktionsmodellen nachdenken die keine Einga bedaten verarbeiten nullstellige Funktionen Ein Beispiel f r eine Funktion ohne Eingabedaten ist ein Generator f r Zufallszahlen Die visuelle Darstellung einer Funktion wird h ufig allein auf ihre Ausl sung reduziert Die Aus f hrung der Funktion wird als Ereignis dargestellt das z B als Darstellung als Blitz der eventuell noch mit dem Funktionsnamen beschriftet ist visualisiert werden kann Solche Ereignisse bewirken dann die Umwandlung der Argumente des Funktionsaufrufs in das Ergebnis Eine hnliche Vorstel lung verwendet man bei der Erkl rung chemischer Reaktionen Ausgangsstoffe verwandeln sich unter bestimmten Bedingungen in neue Stoffe Auch hier reduziert man die Darstellung eines an sich komplexen Ablaufs auf seine Ausl sung 91 92 9 Kontrolle Steuerung Kontrollstrukturen regeln die Reihenfolge in der Operationen in einem Programm ausgef hrt wer den Im Grunde ist ein Programmtext mit Kontrollinformation vollkommen durchdrungen In einem imperativen Programm ist jede Anweisung zumindest Teil einer Sequenz wird also vor oder nach ein
274. en werden Auslassungen unwichtiger oder nahe liegender Passagen durch Ellipsen dargestellt Das sind im Deutschen Englischen und in den meisten anderen Sprachen drei aufeinander folgende Punkte Beispiele Montag Dienstag Sonntag A 1 10 Die Ellipse ist also eine M glichkeit einen Text zu k rzen ohne seine Aussagekraft zu verringern 131 gibt zumindest auf konzeptioneller Ebene keine bergeordnete Verwaltung Dies kann zu einfache ren und deshalb intuitiveren Modellen f hren Objektorientiert kann man sich den Algorithmus Sortieren durch Vertauschen Bubblesort folgenderma en vorstellen Wir haben eine Liste von Objekten Jedes Objekt pr ft ob es gr er als sein linker Nachbar ist Wenn das nicht der Fall ist tauscht es mit ihm den Platz Dies macht das Ob jekt so lange bis keine Vertauschungen mehr notwendig sind Wenn sich alle Objekte der Liste so verhalten ist sie irgendwann sortiert Die Idee des gesamten Algorithmus kommt in der relativ einfa chen Gestalt eines einzelnen Objektes zum Ausdruck Ein Spezialfall von Animismus ist Anthropomorphismus d h die bertragung spezifisch mensch licher Merkmale auf Elemente des Zielbereichs Die Verwendung von Anthropomorphismen in wis senschaftlichen Erkl rungen wird in der Didaktik kontrovers diskutiert vgl z B Kattmann 2005 In der Anthropologie existiert die Vermutung dass die F higkeit soziale Ereignisse in irgendeiner fr hen
275. en zusam mengefasst H ufig insbesondere bei gutem Programmierstil enth lt ein Block eine Sequenz von logisch zusammengeh rigen Anweisungen die ein abstrakt beschreibbares St ck Programmfunktiona lit t enthalten In Flussdiagrammen und Struktogrammen Nassi Shneidermann Diagrammen wird ein Block durch einen Kasten dargestellt 8 Pennington spricht von Kontrollfluss control flow Ein Begriff der an dieser Stelle vermieden wird weil er ein bestimmtes intuitives Modell impliziert 93 In Visualisierungs bungen mit Sch lern kann man beobachten dass von der durch den Programm text gegebenen Sequenzialit t in einem Block abgewichen wird Ein Block von Einzelanweisungen kann als sinnvolle Ganzheit interpretiert werden bei der die Reihenfolge der Einzelaktionen im Detail unwichtig ist Abb 42 zeigt vier Screenshots aus einer Flash Animation die eine 17 j hrige Sch lerin zur Visualisierung der folgenden Anweisungsfolge Java angefertigt hat int a int b a 2 b a 3 Der Ablauf ist folgender Zwei Beh lter etikettiert mit a und b fliegen von rechts und links in die Mitte der Bildfl che erstes Bild Anschlie end bewegen sich Karten mit der Aufschrift 2 bzw a 3 in die beiden Beh lter zweites Bild die Karte 2 fliegt aus Beh lter a in Beh lter b und ver deckt den Buchstaben a auf der Karte a 3 drittes Bild die daraufhin verschwindet und durch eine Karte mit Aufschrift 5 ersetzt wird viertes Bild
276. enansicht einer Klasse Balzert 1999 S 23 W rtlich genommen w rde die Umwand lung eines Typs bedeuten dass eine Klasse etwa die Klasse der ganzen Zahlen ver ndert wird In der Regel werden in Lehrb chern Typumwandlungen sinngem so wie in der Wikipedia erkl rt Iypumwandlung engl type conversion oder cast bezeichnet in der Informatik die Umwandlung eines Wertes eines Datentyps in einen Wert eines anderen Datentyps Es wird hier also das intuitive Modell einer Datenver nderung verwendet Programmtechnisch fin det aber bei einem Casting keine Ver nderung statt sondern es wird ein neues Objekt einer anderen Klasse generiert und das urspr ngliche Objekt bleibt erhalten Die Kontinuit t der Existenz die f r Ver nderungsprozesse charakteristisch ist kommt dadurch zu Stande dass das neue Objekt das gleiche Wissen repr sentiert wie das gegebene Objekt Im obigen Beispiel repr sentiert das Objekt mit dem Namen i vom Typ int die Zahl 1 also ein St ck mathe matischen Wissens Das Objekt mit dem Namen f vom Typ float repr sentiert ebenfalls die Zahl 1 Bei duck typisierenden Sprachen wie Python wird der neue Wert auch durch ein anderes Literal darge stellt Das float Objekt f r das mathematische Objekt 1 kann z B durch das Literal 1 0 beschrieben werden an Stelle von 1 f r das int Objekt Das Motiv f r ein explizites Casting ist pragmatischer Natur Man m chte auf das Wissen Objekt das durch das Datum repr sen
277. enden redet Das impliziert dass nicht jedes paradigmatische Modell ein Pattern verk rpert Patterns gewinnen ihren Wert f r Probleml sungen aus ihrem intuitiven Charakter also daraus dass sie ein zugrunde liegendes intuitives Modell besitzen Das rasch erfassbare intuitive Modell er leichtert den Zugriff Man kann blitzschnell den Katalog bekannter Patterns durchst bern und ein pas sendes Muster finden sofern es existiert Oder anders herum Ein Pattern dem das Intuitive fehlt ist nicht so gut geeignet weil man w hrend eines Probleml sungsprozesses gar nicht darauf kommt dass es auf einen bestimmten Anwendungsfall passt Was macht ein Pattern intuitiv Cooper 1998 S 12 weist darauf hin dass Patterns nicht einfach so erfunden werden Sie werden eher entdeckt als geschrieben In fact most such patterns are rather discovered than written Riehle und Z llighoven betonen dass Patterns aus der Erfahrung erwach sen Man kann sie also als bew hrte Muster zur Strukturierung der Wirklichkeit betrachten Manche Patterns oder genauer ihre Modelle hneln in dieser Hinsicht diSessas ph nomenologischen Primiti ven Sie sind fest verwurzelt in pers nlicher Lebenserfahrung Das Material Werkzeug Pattern ist ein Konzept das in sehr vielen Alltagskontexten auftaucht Kinder lernen es bereits in jungen Jahren z B wenn sie das Werkzeug Buntstift auf verschiedene Materialien wie Malbl cke Tapeten Tischober fl chen oder Haut
278. ent Average confidence in good judgement standard deviation 9 02 2 34 Number and percentage of players who declared that the model is not appropriate bad judgements 21 players 13 64 percent Average confidence in bad judgement standard 7 14 4 35 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 80 3 88 8 90 2 62 8 90 3 06 Average watch time standard deviation 7 71 seconds 6 10 5 59 seconds 1 99 5 05 seconds 2 10 Percentage of players who declared that the model 80 49 percent 92 68 percent 95 12 percent is appropriate good judgements Average confidence in good judgement standard 8 64 3 13 9 21 2 18 9 36 2 35 deviation Percentage of players who declared that the model is not appropriate bad judgements 19 51 percent 7 32 percent 4 88 percent Average confidence in bad judgement standard deviation 4 38 4 96 5 00 5 00 0 00 0 00 271 Judging Model pq_ assign al 4 Associated program a 3 b a Description Variables are represented by containers containing cards A card migrates from a to b Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first
279. er nderung des Symbols Klasse wirkt sich auf alle Instanzen aus Bestimmte Merkmale einer Instanz Gr e Helligkeit Position auf der Arbeitsfl che k nnen variieren und werden durch Attribute mit variablen Werten repr sentiert Wenn ein Flash Entwickler nennen wir sie Sandra ein Symbol Klasse gestaltet hat sie auf der Arbeitsfl che ein konkretes Objekt einen Prototypen vor Augen 6 8 Modelle f r die Herstellung von Objekten Instanzierung kann als Herstellung eines neuen Objektes aufgefasst werden das vorher noch nicht existiert hat Je nachdem welches Modell einer Klasse man zu Grunde legt gibt es unterschiedliche Modellvarianten f r den Herstellungsprozess Die Fabrikmetapher impliziert dass die Klasse ein Ak teur ist der f r den Herstellungsprozess zust ndig ist Beim Aufruf des Konstruktors erh lt die Klas senentit t einen Auftrag in dem Details des neuen Objektes spezifiziert sind Sie f hrt den Auftrag aus und generiert das neue Objekt Stellt man sich eine Klasse als Bauplan vor geht bei der Instanzierung die Aktivit t von einer bergeordneten Entit t aus Laufzeitsystem die das neue Objekt mit Hilfe der Information aus dem Bauplan und der Argumente des Konstruktoraufrufs generiert Eine Alltagsana logie f r diesen Vorgang ist der Bau eines Hauses mit Hilfe eines Bauplans und unter Ber cksichti gung bestimmter Sonderw nsche Fassadenfarbe Fenstertyp Haust r etc die nicht im Bauplan ver ze
280. er Anwendung unterscheiden Eine beson ders einfache Konkretisierung ist die folgende rekursive Funktion zur Berechnung des Spiegelbildes einer Zeichenkette Python def mirror w if w return w else return mirror w 1 w 0 Ein wichtiger Punkt ist dass in dem divide and conquer Schema keine Wiederholungen vorkom men Sie entstehen erst wenn ein Interpreter der aber nicht Gegenstand der Modellierung ist das Programm ausf hrt Die Besonderheit rekursiver Funktionen liegt im rekursiven Aufruf im Beispiel mirror w 1 Anderson et al 1988 vergleichen ein solches St ck Programmtext mit einem Neckerschen W rfel einer Abbildung f r die es zwei Interpretationen gibt Kippbild Man kann mirror w 1 einmal als Aufruf einer Funktion deren Ausf hrung man in Gedanken nachvoll ziehen m chte oder zum anderen einfach als Name f r einen Wert in diesem Fall die gespiegelte Version des Teilstrings w 1 auffassen Mit letzterem Modell wird von der komplexen Mechanik der Ausf hrung praktisch komplett abs trahiert Offenbar ist es denk konomisch bei einer Analyse einer rekursiven Funktion wie bei einem Kippbild gewisserma en innerlich umzuschalten und die Betrachtungsweise zu ndern Man be ginnt mit dem schrittweisen Nachvollziehen der Anweisungen des Programmtextes Doch beim rekur siven Aufruf bricht man diese Aktivit t ab und nimmt das Ergebnis des rekursiven Aufrufs als gege ben hin Dieser
281. er Realit t liegt der praktische Nutzen des Programms z B Verwaltung von B chern in einer Bibliothek Auf der ande ren Seite aber dienen Teile dieser Realit t B cher Leser als Metaphern f r das geschaffene Pro gramm und helfen das System bersichtlich und durchschaubar zu machen Diese Metaphern unter scheiden sich allerdings erheblich von den realen Objekten Sie sind keine Modelle im naturwissenschaftlichen Sinn 11 2 Klassenbegriff Der Begriff Klasse class bezeichnet ein allgemeines Muster f r Objekte Instanzen Inkarnatio nen mit gemeinsamen Attributen und Methoden Nach dem Paradigma der OOP besteht Programmie rung letztlich aus der Definition von Klassen Ein konsequent objektorientiertes Programm besteht aus einem einzigen Objekt einer Klasse das aus anderen Objekten anderer Klassen zusammengesetzt ist Je nach Anwendungskontext werden v llig unterschiedliche intuitive Modelle f r Klassen verwendet wie in diesem Abschnitt erl utert werden wird Die Idee der Klasse ist sehr alt und kann bis in die griechische Philosophie der Antike zur ckver folgt werden Aristoteles 384 322 v Chr betrachtete es als das Hauptanliegen seiner insgesamt 170 Werke die Dinge der Welt zu klassifizieren nach Taivalsaari 1996 Objekte geh ren zur selben Ka tegorie wenn sie gemeinsame Eigenschaften besitzen Die Kategorie selbst wird durch eine Gruppe von Eigenschaften definiert Durch Spezifikation gemeinsamer und unterschi
282. er and pointer model Top level ist is container with pointers to sublists Duration 11 seconds Concreteness 33 percent Average watchtime standard deviation 13 17 seconds 11 00 This model was evaluated in 6 first subjective sessions The following table shows the results Question votes percentage would you use to explain 2 33 33 do you remember best 1 16 67 when you imagine the execution 2 33 33 Model 4 Description Iteration over a multilist Consis tent pointer model Top level ist is container with pointers to sublists containing pointers to numbers Duration 11 seconds Concreteness 33 percent Average watchtime standard deviation 24 33 seconds 13 49 This model was evaluated in 6 first subjective sessions The following table shows the results Question votes percentage would you use to explain 2 33 33 do you remember best 2 33 33 when you imagine the execution 1 16 67 227 Recursive computation of factorial Some general information about the players of this category who played the game at least once Professions 28 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 5 female and 23 male persons Hours a week spent on programming standard de 2 25 hours 2 72 viation Roughly estimated experience in Python program 79 29 days 122 83 ming standard deviation
283. er anderen Anweisung ausgef hrt Nancy Pennington 1987 beschreibt Kontrolle als eine Abs traktion eines Programmtextes die neben den Abstraktionen Datenfluss und Funktionalit t eine Di mension des Verstehens eines Programms ist 9 1 Handhabung von Kontrolle Kontrollfluss und Kontroll bergabe Kontrolle kann man sich als Entit t vorstellen die auf geregelte Weise von Akteur zu Akteur be wegt wird Nur die Entit t die gerade die Kontrolle besitzt ist aktiv Im Bereich der Datenkommuni kation sind Kontroll Entit ten expliziter Bestandteil von Algorithmen die den Zugriff eines Senders auf das bertragungsmedium regeln Im Token Bus IEEE 802 4 und Token Ring IEEE 802 5 wandert ein Token eine bestimmte Bitfolge von Station zu Station Wer das Token besitzt darf sen den Auch im Alltag gibt es Gegenst nde die Kontrolle repr sentieren Bei einem Staffellauf markiert das Staffelholz den L ufer der gerade aktiv ist Im Kontrollflussmodell wandert die Kontrolle auf vorgegebenen Bahnen Kontrollfl sse werden in Flussdiagrammen oder bestimmten visuellen Programmiersprachen wie Labview National Intru ments verwendet Bei der Interpretation eines Flussdiagramms geht man davon aus dass zu einem Zeitpunkt nur eine Entit t aktiv sein darf also nur eine bestimmte Anweisung ausgef hrt wird Man kann den Kontrollfluss nachspielen indem man mit dem Finger den Bahnen des Flussdiagramms folgt Das Kontrollflusskonzept ist grun
284. eral aus Dezimalziffern das mit einer Ziffer ungleich null beginnt immer eine ganze Zahl Typ int e Fxplizite Namen k nnen privates Wissen darstellen Literale dagegen m ssen von allen Objekten eines Systems interpretiert werden k nnen Sie sind immer ffentlich 6 8 Assoziationen In den bisher erw hnten Benennungsmodellen ist der Name etwas grunds tzlich anderes als das Objekt das er benennt Alle g ngigen imperativen Programmiersprachen Programmiersprachen die Zuweisungen verwenden gehen von dem Grundsatz aus dass ein Bezeichner ein Objekt spezifiziert aber nicht selbst ein Objekt ist Bei Zuweisungen steht links vom Zuweisungsoperator ein Name Be zeichner n und rechts davon irgendeine Spezifikation eines Objektes o die man sich als das Objekt selbst vorstellt Nach Ausf hrung der der Zuweisung ist n ein Name f r o Die rechte Seite einer Zu weisung kann auch ein Name sein Aber nicht dieser Name sondern das gemeinte Objekt wird neu benannt Nach den Zuweisungen a 3 b a ist b nicht ein Name f r den Namen a sondern ein Name f r das Objekt 3 Visualisierungsiibungen mit Sch lern zeigten jedoch dass Zuweisungen manchmal als Herstellung einer Assoziation interpre tiert werden In Abb 25 wird die Zuweisung wort Hallo mit Vokabelnlernen verglichen Das Ergebnis ist eine gedankliche Verbindung zwischen zwei W r tern 69 Abb 25 Illustration des 17 j hrigen Sch lers T Jahrgangsstufe 11 Die Unterschie
285. erig 10 7 3 3 Tab 10 Wahl verschiedener Modelle zur Veranschaulichung der R ckgabe einer Referenz Ergebnisse von 23 ersten Sit zungen w hrend Workshops mit der PVS Teilnehmer 16 Sch ler ein Student und sechs Lehrer aus Deutschland vier weib lich und 19 m nnlich sie besch ftigten sich im Schnitt 5 5 Stunden pro Woche mit Programmierung und hatten ein Durch schnittsalter von 22 5 Jahren 8 7 Ausgabe als Signal Boolesche Funktionen Tests liefern einen Wahrheitswert der meist zur Steuerung des Programm laufs in Programmverzweigungen oder Schleifen verwendet wird Die Besonderheit ist hier dass der Name des ausgegebenen Objektes in der Regel irrelevant ist In Programmtexten wird in solchen F l len auch kein expliziter Name f r das Testergebnis verwendet wird Beispiel if a lt b Hier ist der Informationsgehalt des zur ckgegebenen Objektes minimal Das Ausgabeobjekt selbst tritt in den Hintergrund Viel wichtiger ist der Aspekt dass im Beispiel wenn das Ergebnis das Ob jekt True ist eine bestimmte Aktionsfolge ausgel st wird Die Ausgabe wird als Signal zur Steue rung des Geschehens gesehen und kann dementsprechend veranschaulicht werden z B als Schild das f r kurze Zeit sichtbar ist Abb 38 zeigt Screenshots aus Animationen der PVS die eine Testfunktion als Ereignisausl ser darstellen und sich auf folgende Python Anweisung beziehen if a gt age Links wird die Testfunktion gr e
286. erinnen und Sch lern die an einem PVS Workshop teilgenommen haben Alle vier Modelle wurden von der Mehrheit akzeptiert das besonders eigenaktive Modell mit Greifarmen sogar von 81 der Spieler allerdings lie sich keine signifikante Bevorzugung gegen ber den anderen Modellen nachweisen 83 n 68 Dauer der A Entscheiungs Als passend Konfidenz nimation zeit Stdabw beurteilt von Stdabw Box mit Greifarmen pq_list_a5_1 14s 12 75 s 55 81 76 37 12 56 Box mit Sensoren pq_list_a5_4 9s 7 75 s 48 71 72 39 6 09 Ereignis 6s 8 01 s 49 72 67 40 pq_list_a5_5 6 32 Datenfluss 9s 10 37 s 46 68 73 40 pq_list_a5_5 9 02 Tab 9 Beurteilung von Modellen mit unterschiedlichen Eingabemechanismen f r Funktionen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 12 Sch lerinnen und 56 Sch lern die an Workshops mit der PVS teilgenommen haben Das Durchschnittsalter betr gt 17 15 Jahre Die Teilnehmer haben sich im Durchschnitt 3 81 Stunden pro Woche mit Programmierung besch ftigt 8 6 bergabe von Referenzen bei der Ausgabe Die Ausgabe einer Funktion kann darin bestehen dass sie der aufrufenden Entit t ein Objekt das au erhalb der Funktion existiert zeigt Ein typisches Beispiel ist eine Suchfunktion die aus einem gro en Datenbestand ein bestimmtes Objekt heraussucht Zur ckgegeben wird nicht eine Kopie des gesuchten Objekts sondern e
287. erium der Reichhaltigkeit treten So geht aus obigem Beispiel nicht hervor dass bei Python Listen auch Objekte unterschiedlicher Klassen enthalten d rfen Repr sentativit t Beispiele k nnen mehr oder weniger repr sentativ f r eine abstrakte Vorstellung sein Kahneman amp Tversky 1982 stellten fest dass Sch ler bei der Einsch tzung von Wahrschein lichkeiten sich davon irritieren lassen wie sehr eine gegebene H ufigkeitsverteilung ihrem Bild einer typischen zuf lligen Zahlenfolge entspricht Regelm ige Zahlenfolgen wie 4 4 4 4 4 h lt man f r weniger zuf llig als Folgen aus ungleichen Zahlen Vorstellungen ber die Repr senta tivit t der Repr sentation eines intuitiven Modells k nnen eine kognitive Barriere darstellen und Prob leml sungen behindern 2 4 2 Prototypische Beispiele Manchmal gen gt ein einziges Beispiel zur effizienten Repr sentation eines Konzeptes Ein solches prototypisches Beispiel kann k rzer formuliert und offenbar besser behalten werden als eine abstrakte allgemeing ltige Erkl rung Beispiel in Anhang 1 6 In Kalkulationstabellen haben Berechnungsfor meln den Charakter prototypischer Beispiele In der Formel A2 B2 sind die Bezeichner A2 und B2 Beispiele f r Referenzen auf andere Zellen der Tabelle deren Bedeutung sich dem Leser erst durch Betrachtung der Gesamttabelle erschlie t Beim Kopieren der Formel greift das System quasi auf die abstrakte Bedeutung zur ck und berechnet
288. ern e An welche Animation denken Sie wenn Sie sich die Ausf hrung des Skriptes vorstellen Tab 6 zeigt die Antworten von 16 Personen die an einem PVS Workshop teilgenommen haben Die Verteilung weicht signifikant von einer Gleichverteilung ab die bei zuf lligem Antworten zu er warten w re x Test p 0 0005 Demnach wird das vierte Modell mit impliziten Namen bevorzugt Zu beachten ist dass diese Animation eine Information expliziert die im Programmtext nicht direkt enthalten ist Der bereits sortierte Teil der Liste wird n mlich markiert und mit ok gekennzeichnet Eine solche Benennung fehlt im Programmtext und muss aus der Semantik erschlossen werden M g licherweise ist der Erfolg von Modell 4 auf diese Zusatzinformation die ein wichtiges Element der Idee des Algorithmus darstellt zur ckzuf hren Das erste Modell das die beiden Indexe i und j explizit durch eigene Ziffern darstellt hat offenbar den geringsten Nutzen bei einer intellektuellen Auseinandersetzung mit dem Programm 67 n 16 Streifen Stecknadeln Zeiger anheben Erkl ren 2 5 0 9 Sich erinnern 1 8 2 5 Sich vorstellen 1 5 3 7 Summe 4 18 5 21 Tab 6 Wahl verschiedener Modelle zur Veranschaulichung eines Programms Ergebnisse von 16 ersten Sitzungen wahrend Workshops mit der PVS Teilnehmer 15 Schiiler und ein Student aus Deutsch land 3 weiblich und 13 m nnlich sie besch ftigten sich im Schnitt 2 5 Stunden pro Woche
289. ern sym bolisieren keine Fortsetzung sondern nur die Aussage dass die Menge noch weitere Elemente ent h lt die aber aus Platzgr nden nicht aufgef hrt werden Komplexit t Als Ma f r die Komplexit t regul rer Ausdr cke betrachten wir folgende Merkmale 188 e Anzahl der vorkommenden Zeichen Haus ist komplexer als a e Anzahl der vorkommenden Sonderzeichen bh NK w G 1lr as ist komplexer als Haus e Verschiedenartigkeit der vorkommenden Sonderzeichen a ist komplexer als a Offensichtlich unterscheiden sich die regul ren Ausdr cke in den Beispielen hinsichtlich der Kom plexit t Ergebnisse Im Mittel entschieden sich die Kursteilnehmer f r 4 7 Beispiele Am h ufigsten 7 Teilnehmer wurden vier Beispiele ausgew hlt Zwei Sch ler innen gaben an sich alle 13 Beispiele merken zu wollen Werfen wir einen Blick auf die Auswahl der Merkbeispiele Abb 85 7 Mean ENEAN ENE NA NA SER Er OC x z u gt 55 hr 4 gt EDE U PESE 0 I Oy 2 G y Ay 8 Ir 4 2 Abb 85 Verteilung der gew hlten Beispiele f r regul re Ausdr cke und ihre Sprachen n 29 Es zeigt sich dass konkrete Beispiele gegen ber abstrakten Beispielen bevorzugt werden Die vier am h ufigsten gew hlten Merkbeispiele kann man als konkret bezeichnen Das konkrete Beispiel L4 wurde fast doppelt so h ufig gew hlt wie das praktisch strukturgleiche abstrakte Beispiel
290. ernichtung der Variablen 315 102 Beurteilung eines Zuweisungsmodells mit totaler Vernichtung Lernkurve links und Antilernkurve rechts bei Vielspielern n 41 316 103 Verschmelzen von zwei Datenentit ten Drei Screenshots aus einer Animation der PVS Python Puzzle Assert First Steps 316 104 Konkatenation von Listen Drei Screenshots aus einer Animation der PVS Python Puzzle Muiltilists 317 105 Abstrakte Darstellung der Abspaltung eines Pivot Elementes aus einer unsortierten Liste im Rahmen des Quicksort Algorithmus 317 106 Illustration des 17 j hrigen Sch lers M zur Visualisierung der statischen Methode Java Math sqrt 2 317 107 Umbenennungen bei der Ausf hrung einer Funktion Sechs Screenshots aus einer Animation der PVS Python Puzzle Assert First Steps 318 108 Veranschaulichung der Arbeitsweise einer rekursiven Funktion zur Berechnung der Fakult t unter Verwendung von Execution Frames Screenshot aus der PVS Python Visual Factorial 320 109 Veranschaulichung der Arbeitsweise einer rekursiven Funktion durch sukzessive Umbenennung Drei Screenshots aus einer Animation der PVS Python Visual Factorial 320 110 Screenshots aus Animationen der PVS Applikation Python Quiz List 321 111 Modelle mit Namenbewegung zur Visualisierung einer Iteration 322 112 Sch ler Visualisierungen mit Fabrik Metaphern 323 113 Modell einer Klasse als Menge von Objekten 323 114 Illustration einer Klassendefinition und Instanzierung eine
291. es move out of the list container Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s 7 50 3 72 confidence standard deviation Average watch time standard deviation 9 06 seconds 7 43 Number and percentage of players who declared that the model is appropriate good judgements 43 players 63 24 percent Average confidence in good judgement standard deviation 6 86 4 09 Number and percentage of players who declared that the model is not appropriate bad judgements 25 players 36 76 percent Average confidence in bad judgement standard deviation 8 60 2 71 250 Judging Model pq_list_a2_3 Associated program for n a in persons Description Visualization of an iteration using a pointer model for the list and the itera tion variable The pointers of the iteration variable move Time 4 seconds Concreteness 100 percent of names are used persons in the model no az Total number of first judgements 68 Average bet points 0 to 10 representing the 7 50 3 91 player s confidence standard deviation Average watch time standard deviation 19 40 seconds 65 88 Number and percentage of players who declared that the model is appropriate good judgements 57 players 83 82 percent Average confidence
292. es Programms ist die Gewinnung von Intuitivit t Bei der Rekonstruktion eines Programmtextes durch eine Kombination intuitiver Modelle werden diese so gew hlt dass die Intuitivit t maximal wird Dabei steht die Suche nach Gewissheit im Vordergrund Querliegend zur informatisch inhaltlichen Dimension werden in den folgenden Abschnitten kogni tive Aktivit ten oder Mechanismen beschrieben die man beim intuitiven Modellieren beobachten kann Dazu geh ren etwa das Identifizieren von Entit ten Abstraktion Gestaltbildung Animismus oder das Bem hen um Konsistenz Diese Aktivit ten der Intuitionsgewinnung k nnen je nach Situa tion eng zusammenh ngen und quasi gleichzeitig stattfinden oder aber auch im Konflikt zueinan der stehen So steht z B das Streben nach logischer Konsistenz manchmal im Widerspruch zur Ges taltbildung Viele der hier beschriebenen Vorg nge kann man als Metaphorisierung betrachten weil Konzepte einer vertrauten Dom ne Source auf eine noch unvertraute oder zu erkl rende Zieldom ne Target angewendet werden Es gibt aber auch Prozesse die keine Metaphorisierung sind So werden bei einer Dramatisierung d h der Einbindung eines Programmfragments in eine sinnvolle Geschichte Fanta sieelemente hinzugef gt die keine Entsprechung im modellierten Programmtext Ziel haben In Anlehnung an Piagets Entwicklungsmodell k nnte man sagen dass man sich bei Nachbildung von formalem Programmtext durch intuitive
293. estzustellen Eine besondere Rolle spielt das Prototyp Konzept beim agilen Programmieren Hier ist der Entwicklungsprozess in eine Folge von Iterationen aufgeteilt an deren Ende immer ein lauff higes Programm steht das mit den Kunden diskutiert werden kann Ausgehend von einem minimalen System wird mit jeder Iteration das Produkt dem Zielprodukt immer hnlicher Man geht davon aus dass zu Beginn des Prozesses die genaue Funktionalit t des Zielproduktes noch gar nicht bekannt ist Es existiert erst eine vage Vorstellung die sich im Laufe der Entwicklung parallel zur Evolution der Software pr zisiert Auch auf der Ebene des Programmierens im Kleinen kann die Entwicklung einer Klasse mit ei ner objektorientierten Programmiersprache nahezu v llig prototyporientiert sein Anf nger die in der Syntax und Semantik einer Programmiersprache noch unsicher sind folgen h ufig einer experimentel len Strategie die dem Test Driven Development TDD des Extreme Programming Beck 2003 h nelt Sie definieren in ihrem Programmtext zun chst eine minimale Klasse und ein paar Zeilen die eine Instanzierung beinhalten und dem Testen dieser Klasse dienen Damit haben sie einen Prototyp ein unfertiges konkretes Objekt das als Stellvertreter f r alle Objekte der Klasse dient In der weiteren 13 Sch lerzeichnungen mit visuellen Modellen f r Klassen befinden sich in Anhang 6 2 118 Entwicklung wird die Klassendefinition sukzessive erweitert
294. esult 24 100 00 1 38 0 88 return result 24 100 00 2 96 0 95 for person in persons 24 100 00 2 67 1 05 result append person 0 24 100 00 3 00 0 78 Tab 2 Verwendung korrekter Programmzeilen in Python Puzzle Modeling a group Tab 2 gibt Aufschluss dar ber in welcher Reihenfolge korrekte Programmzeilen in die Funktions definition eingebaut worden sind Der Rang einer korrekten Programmzeile ist eine Zahl zwischen 1 und der Anzahl aller einzuf genden Programmzeilen Er gibt f r eine bestimmte Session den rela tiven Zeitpunkt also die Position in der Folge aller korrekten Einf gungen wieder In der rechten Spalte der Tabelle wird zu jeder korrekten Programmzeile der mittlere Rang angegeben So erkennt man dass meist die Initialisierung der leeren Liste zuerst vorgenommen wurde Auch bei anderen Puzzles konnte festgestellt werden dass die Spieler mit der Initialisierung von Variablen begannen 51 Dagegen hat Samurgay 1989 beobachtet dass Anf nger h ufig die Initialisierung von Variablen weglassen Aus den Ergebnissen mit der PVS kann man also schlie en dass hinter dem Weglassen einer Initialisierung keine grundlegende Fehlvorstellung sondern allein Fl chtigkeit steht die viel leicht das Resultat einer Fokussierung auf den algorithmischen Kern des Programms ist Bei den ande ren Programmzeilen gibt es keine deutliche Tendenz in der Reihenfolge der Verwendung Das h ngt unter an
295. etation durch eigenaktive Objekte scheint zumindest f r die Spieler der PVS nur von geringer Bedeutung zu sein Damit wird die Bedeutung des objektorientier ten Denkens das z B von Cecile Crutzen 1995 betont wird etwas relativiert Man beachte jedoch dass wir mit der PVS die Konzepte der Objektorientierung lediglich auf der Ebene der Implementie rung untersucht haben Programmieren im Kleinen Objektorientierung ist aber auch und vor allem ein Paradigma f r die Analyse und Entwurfsphase einer Software Entwicklung also des Program mierens im Gro en Balzert 1999 Sommerville 1997 S 247 ff Im Zusammenhang der objektorien tierten Modellierung auf hohem Abstraktionsniveau hat die Botschaftsmetapher einen ganz anderen Stellenwert 127 128 13 Intuitive Modellierung In Kapitel 3 haben wir vier Anwendungen intuitiver Modelle unterschieden Verstehen Erkl ren Probleml sen und Kontrolle In allen diesen Kontexten spielt das Ringen um Intuitivit t eine Rolle In diesem Kapitel geht es um die Identifizierung einiger kognitiver Aktivit ten die bei der intellektuellen Auseinandersetzung mit Programmtexten eine Rolle spielen Wir bezeichnen als intuitive Modellie rung den Versuch ein gegebenes formales Programm durch ein Cluster intuitiver Modelle zu repr sentieren Dabei gehen wir von folgender Annahme aus Das Hauptziel bei einer gedanklichen Modellierung im Rahmen der Erkl rens oder Verstehens ei n
296. ethode die Methode next die das n chste Element liefert das nach einem bestimmten Mechanismus ausgew hlt wird Der Iterator merkt sich das aktuelle Element und liefert beim n chsten next Aufruf den Nachfolger sofern einer existiert Falls der Container kein weiteres Element enth lt gibt es eine StopIteration Ausnahme Dem Iterator ist es nicht m glich ein bereits geliefertes Element des Containers noch einmal zu referieren Wenn die Iteration noch einmal von vorne beginnen soll muss ein neues Iterator Objekt generiert werden Beispiel gt gt gt liste 1 Fisch generiere Container Liste gt gt gt i iter liste rzeuge Iterator gt gt gt i next naechstes Element der Liste 194 1 gt gt gt i next Fisch gt gt gt i next Traceback most recent call last File lt pyshell 6 gt line 1 in i next StopIteration Es gibt keine explizit spezifizierte Klasse fiir Iteratoren Vielmehr kann das Iterator Pattern ein Merkmal einer Container Klasse sein Eine iterierbare Klasse enthalt in ihrer Definition eine magi sche Methode iter__ und eine Methode next Damit ist die Standardfunktion iter be fahigt ein passendes Iteratorobjekt zu generieren Uberladen der Funktion iter In der Python Dokumentation van Rossum Yee 2001 spricht man von einem Iterator Protokoll dem alle iterier baren Objekte folgen Iteratoren werden
297. euren kann in Rollenspielen veran schaulicht werden indem mehrere Personen gemeinsam einen rekursiven Algorithmus ausf hren und jeweils Teilaufgaben an andere Personen delegieren In dem folgenden Beispiel gehen wir davon aus dass eine gen gend gro e Anzahl von Personen in einer Reihe zum Beispiel um einen Tisch herum sitzt Der Versuchsleiter gibt einer Person eine T te mit verschiedenfarbigen Gummib rchen in die Hand gegeben und fordert sie auf Iss rote Gummib rchen Was unter dieser Aktivit t zu verstehen ist wird in folgendem Algorithmus spezifiziert Algorithmus Iss rote Gummib rchen Nimm die T te vom rechten Nachbarn in Empfang Wenn die T te noch ein rotes Gummib rchen enth lt Entnimm der T te ein rotes Gummib rchen Gib die T te dem linken Nachbarn mit der Aufforderung Iss rote Gummib rchen Nimm die T te vom linken Nachbarn wieder in Empfang Gib die T te dem rechten Nachbarn zur ck 4 6 Bevorzugung vollst ndiger Modelle zur Darstellung einer rekursi ven Funktion In verschiedenen Python Visuals wurden Teilnehmer mit verschiedenen Animationen zur Erkl rung der Arbeitsweise rekursiver Funktionen konfrontiert Berechnung der Fakult t und Spiegeln ei nes Wortes Dabei gibt es zwei Varianten In der l ngeren Version wird die Rekursion vollst ndig bis zum Abbruch bei Erreichen des Elementarfalls dargestellt In der k rzeren Variante wird nur der erste rekursive Aufruf visuali
298. f names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 69 4 29 Average watch time standard deviation 27 18 seconds 95 74 Number and percentage of players who declared that the model is appropriate good judgements 43 players 63 24 percent Average confidence in good judgement standard deviation 6 86 4 37 Number and percentage of players who declared that the model is not appropriate bad judgements 25 players 36 76 percent Average confidence in bad judgement standard deviation 6 40 4 21 254 Judging Model pq list a3_1 Associated program a gt age Description Visualization of the greater than operation using an input output model for the operator and a cointainer model for the com pared variables Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 69 4 29 Average watch time standard deviation 14 84 seconds 25 25 Number and percentage of players who declared that the model is appropriate good judgements 56 players 82 35 percent Average confidence in good judgement standard deviation 7 23 4 04 Number and percentage of pl
299. f players who declared that 10 players 14 71 percent the model is not appropriate bad judgements Average confidence in bad judgement standard 5 50 3 69 deviation Judging Model pq_list_a3 2 22 Tim 21 Associated program group 19 a gt age Sarah 19 Description Visualization of the greater than operation using a flash for the function call and a cointainer model for the compared vari ables Time 7 seconds Concreteness 100 percent of names are used in the model 253 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 99 4 06 Average watch time standard deviation Number and percentage of players who declared that the model is appropriate good judgements 7 88 seconds 5 58 58 players 85 29 percent Average confidence in good judgement standard deviation 7 67 3 77 Number and percentage of players who declared that the model is not appropriate bad judgements 10 players 14 71 percent Average confidence in bad judgement standard deviation 3 00 3 50 Judging Model pq_list_a3_ 3 Associated program a gt age Description Shows an input output model for the greater than operator and a unappropriate container model for the compared variables name and content mixed up Time 9 seconds Concreteness 100 percent o
300. ffe um Objekte oder Ereignisse der Realwelt identifi zieren und unterscheiden zu k nnen Begriffzuordnungen spielen eine Rolle wenn jemand ein intuiti ves Modell oder eine intuitive Prozedur als Grundlage f r die Entwicklung eines Programms verwen det Der erste Schritt des Entwicklungsprozesses ist meist die Belegung von Entit ten oder Einzelaktivit ten mit informatischen Begriffen z B das Beschreiben einer gewissen Anzahl von Din gen einer Kategorie als Liste von Objekten einer Klasse 1 3 2 Schemata Speichern struktureller Merkmale Ein kognitives Schema ist eine Anordnung von Attributen Slots die bestimmte Merkmale einer Klasse von Objekten benennen Anderson 1996 Dabei ist jedem Attribut ein typischer Wert Default oder Wertebereich f r denkbare Belegungen zugeordnet Ein Haus z B ist ein Geb ude enth lt Zim mer hat meist einen rechteckigen Grundriss wird zum Wohnen verwendet ist aus Holz oder Stein gebaut und hat eine Gr e zwischen 10 und 1000 Quadratmetern Diese typischen Merkmale ergeben das Schema eines Hauses Schemata gibt es nicht nur f r physische Objekte sondern auch f r Ereig nisse wie stereotype Handlungsabl ufe Solche Ereignisschemata bezeichnet man als Scripts Schank amp Abelson 1977 Ein Script f r einen Restaurantbesuch besteht bei vielen Menschen aus der typi schen Abfolge Platz nehmen Speisekarte lesen bestellen essen bezahlen und gehen Bower Black amp Turner 1979 Das Schema Kon
301. fig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 18 Andere Visualisierungen Abb 84 Fragebogen zur Verwendung von Visualisierungen 3 184 Beh lter mit Etikett 17 0 3 2 3 1 20 K stchen mit variablem Inhalt a je l 2 15 Liste als Beh lter mit F chern igs OR ae Be e ol 0 80 Box mit Ein und Ausgang f r Funktion ss p Bewegliche Zettel f r Daten Bs oa dif Bewegliche Zettel f r Botschaften fo Joo o oo fho o Haftzettel zur Benennung UML Klassendiagramme UML Interaktionsdiagramme me fh Nassi Schneidermann Diagramme 1 Zustands bergangsdiagramme 13 2 n 20 nie selten gelegentlich h ufig immer Mittelwert Tab 26 Ergebnis der Umfrage zur Verwendung von Visualisierungen 2 Erg nzungen zur Verwendung intuitiver Modelle 2 1 Verstehen 2 1 1 Textformen in informatischer Fachliteratur Die klassische Hermeneutik bezieht sich vor allem auf die Interpretation theologischer oder philo sophischer Texte Im Bereich der Informatik haben wir es vor allem mit Gebrauchstexten zu tun die Konzepte technischer Systeme erkl ren Ein typisches Beispiel sind Beschreibungen in einer Sprachre ferenz z B die Darstellung der Wirkungsweise einer Standardfunktion Form und Abstraktionsgrad informatischer Texte k nnen sehr unterschiedlich sein Nehmen wir als Beispiel verschiedene Darstellungen der Wirkungsweise der Python Fun
302. first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 67 3 98 Average watch time standard deviation 16 62 seconds 18 08 Number and percentage of players who declared that the model is appropriate good judgements 16 players 76 19 percent Average confidence in good judgement standard deviation 7 50 3 65 Number and percentage of players who declared that the model is not appropriate bad judgements 5 players 23 81 percent Average confidence in bad judgement standard deviation 4 00 4 18 290 Judging Model pq_ objects al_5 Associated program bottle Container 0 7 Description Unappropriate visualization of instancing a bottle The class object receives a number size and a string name and re turns a named object Time 11 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the 7 38 3 75 player s confidence standard deviation Average watch time standard deviation 20 52 seconds 25 00 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 12 players 57 14 percent 7 92 3 34 Number and percentage of players who declared that the model is not appropriat
303. following tables show how visual models are used while solving this task We only consider subjective sessions in which the task was actually solved 239 Model group1_task1 Python Puzzle Modeling a group Task 1 Description of model Iteration over a list containing three lists represented by a box containing three boxes The actual element is marked by a pin Level of concreteness percentage of names 60 percent Duration 17 seconds In how many subjective sessions this task was 24 sessions solved How often was this model watched altogether suc 26 times cessful task solutions only In how many subjective sessions was this model 16 sessions used successful task solutions only We consider the players who have actually used 1 62 times 0 96 this model How often did such a player watch this model in a session standard deviation For how long did a player watch this model alto 40 44 seconds 21 56 gether during a session standard deviation How useful was this model average of all ratings 2 27 0 79 in a session 3 very useful 2 a bit useful 1 not useful standard deviation How useful was this model best of all ratings ina 2 38 0 81 session 3 very useful 2 a bit useful 1 not useful standard deviation 3 7 Python Quiz 3 7 1 Dokumentation einer Session Zu Beginn einer Session wird ein XML Paket an das Service Program
304. g mit intuitiven Modelle Die Beherrschung intuitiver Modelle der Informatik ist eine Form von Fachwissen weil die Model le Fachwissen repr sentieren Wie in Kapitel 3 herausgearbeitet worden ist dienen intuitive Modelle dem Verstehen Erkl ren z B in Dokumentationen und Diskussionen und Kreieren informatischer Systeme formal repr sentiert meist durch Programmtext ber das Fachliche hinaus gibt es eine Reihe von metakognitiven Kompetenzen die sich auf den Umgang mit intuitiven Modellen beziehen Nun k nnte man einwenden dass metakognitive Kompetenzen unabh ngig von einem inhaltlichen Bezug sind also in den anderen Wissenschaften wie Chemie oder Mathematik ebenso wichtig sind und deshalb in diesem Informatik orientierten Zusammenhang nicht diskutiert zu werden brauchen Dem muss man aber entgegen halten dass Modellierung in der Informatik einen besonderen Stellen wert hat Denn ein wesentlicher Teil der Informatik dreht sich um Techniken neue Systeme zu erfin den und ihre Komplexit t zu beherrschen Pointiert gesprochen geht es in den anderen Wissenschaften 144 vor allem darum Modelle f r Realit tsausschnitte zu finden In der Informatik wird der Modellie rungsprozess selbst thematisiert vgl z B Hubwieser 1999 2004 15 2 1 Abstraktionsgrad erkennen In Abschnitt 15 1 wurde herausgearbeitet dass intuitive Modelle f r Programmtexte sich im Abs traktionsgrad unterscheiden k nnen Der Abstraktionsgrad eines Modells muss
305. gabe l sen zu k nnen Dagegen bleibt unter Umst nden ungewiss wie man das tut 1 3 Intuitive Modelle als bedeutungsbezogenes deklaratives Wissen Intuitive Modelle werden h ufig visuell durch Bilder oder Animationen repr sentiert Betrachtet man in einem Programmtext eine Zuweisung x 1 so taucht vor dem inneren Auge vielleicht das Bild eines Kasten mit dem Etikett x auf in den ein Zettel mit einer 1 gelegt wird Doch eine solche bildhafte Vorstellung allein ist noch kein intuitives Modell Anderson 1996 unterscheidet zwischen wahrnehmungsbezogenem und bedeutungsbezogenem Wissen Ein Beispiel f r wahrnehmungsbezo genes Wissen sind mentale Bilder gedankliche Vorstellungen von fr her wahrgenommenen Objekten Anderson 1996 103 ff Mentale Bilder m ssen nicht unbedingt mit Bedeutung belegt sein Bei spielsweise kann man einen Computer als mentales Bild bestehend aus Monitor Tastatur Zentralein heit Kabeln etc vorstellen ohne die Funktion der einzelnen Komponenten zu verstehen Die Kom ponenten bedeutungsbezogenen Wissens bezeichnet man meist als Konzepte concepts Intuitive Modelle sind bedeutungsbezogen und deklarativ In den folgenden Abschnitten vergleichen wir Intui tionen mit drei Arten von Konzepten Begriffe Schemata und mentale Modelle 1 3 1 Begriffe Identifikation von Objekten Nach Auffassung von Eckes 1991 sind Begriffe Bezeichnungen f r Objekte oder Klassen von Objekten In diesem Sinne verwendet man Begri
306. gements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 47 3 96 Average watch time standard deviation 10 01 seconds 10 24 Number and percentage of players who declared that the model is appropriate good judgements 39 players 57 35 percent Average confidence in good judgement standard deviation 6 54 4 16 Number and percentage of players who declared that the model is not appropriate bad judgements 29 players 42 65 percent Average confidence in bad judgement standard deviation 6 38 3 76 258 Judging Model pg_list_a4_2 Associated program m Z J21 7 result append n in a Description Visualization of a list extension call of append method The list is repre Tim sented by a box with increasing number of compartments Time 5 seconds Atona Y Concreteness 67 percent of names are used in k result the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s 5 59 4 36 confidence standard deviation Average watch time standard deviation 7 94 seconds 5 71 Number and percentage of players who declared that 51 players 75 00 percent the model is appropriate good judgements Average confidence in good judgement standard 5 78 4 40 deviation Number and percentage of players who declared that 17 pl
307. gen und eigenaktiv vom Designer P dagogen verstecktes Wissen entdecken k nnen Das wohl bekannteste und historisch erste Beispiel einer computerbasierten Mikrowelt ist die Turtle Grafik der Programmiersprache Logo Papert 1980 Die Bedeutung von Mikrowelten im Hinblick auf die Repr sentation intuitiver Modelle wird in Anhang 1 5 diskutiert 2 4 Beispiele als Repr sentationen intuitiver Modelle Metaphorisierung ist ein Prinzip das bei der Repr sentation abstrakter Konzepte Anwendung fin det Die Hauptleistung liegt hier in der Auswahl eines geeigneten Sachbereichs Dom ne und eines Modells innerhalb dieser Dom ne Ein zweites Prinzip der Repr sentation ist die Beispielbildung Eine physisch existente Repr senta tion eines intuitiven Modells auch eine Metapher ist immer beispielhaft Um ein abstraktes Kon zept bildhaft darzustellen muss man konkret werden und eine von unendlich vielen denkbaren Dar stellungen ausw hlen Aber es gibt auch Beispiele ohne Metaphorisierung deren Repr sentation aus der gleichen Dom ne stammt wie das Konzept das abgebildet wird In der Rhetorik nennt man sie Metonyme So ist 1 2 3 ein Metonym f r eine Python Liste 2 4 1 Prinzipien der Beispielbildung Einfachheit Nicht jedes Beispiel repr sentiert ein intuitives Modell Wenn es zu komplex ist kann man es sich nicht mehr als eine koh rente Gestalt vorstellen z B komplexe Multiliste als Beispiel einer Liste Ein Beispiel kann
308. ghscore Listen Au erdem k nnen Leh rer innen Nicknames verwenden wenn sie Gruppen definieren Die Passw rter dagegen bleiben geheim age smallint Alter des Spielers bzw der Spielerin gender char 1 Geschlecht f weiblich m m nnlich country varchar 10 K rzel f r das Land aus dem der Spieler kommt pass varchar 20 Passwort das ein Spieler bei der Registrierung angegeben hat Es muss vor dem Start eines Spiels eingegeben werden Leider kann es sein dass bei einer Regist rierung ein Spieler per Zufall auf ein bereits verwendetes Passwort st t Er oder sie muss dann ein neues w hlen wei dann aber das bereits verwendete Passwort Dieses wird zu Gunsten einer m glichst einfachen Handhabung in Kauf genom men Wenn das Passwort kein Schl ssel w re m ssten bei jedem Spielstart Name und Passwort eingegeben werden date int 20 Datum der Registrierung als Anzahl der Sekunden seit Beginn der Epoche 1 1 1970 profession varchar 15 Beruf des Spielers school Sch ler university Student teacher Lehrer professor Professor professional Software Entwickler oder hnliches other anderer Beruf progtime smallint Stundenzahl pro Woche die man programmiert Tab 28 Tabelle person person_group Die Tabelle realisiert die n m Beziehung zwischen den Relationen person und group Attribut Datentyp Erl uterung person_id varchar 20 Fremdschliis
309. gnitiven Barrieren darzustellen 141 142 15 P dagogische Implikationen 15 1 Intuitive Modelle und Lernen formaler Programmierkonzepte Programmiersprachen sind so konzipiert dass sie bestimmte Denkmuster Paradigmen unterst t zen Die Programmierparadigmen korrespondieren mit bestimmten Leitintuitionen Wie bereits an verschiedenen Beispielen erl utert worden ist determiniert die Programmiersprache jedoch nicht die gedanklichen Vorstellungen die man bei einer Programmentwicklung verwendet Das imperative Programmierparadigma etwa unterst tzt die Vorstellung dass ein Programm aus Befehlen besteht die von einem einzigen Akteur ausgef hrt werden Eine im Programmtext definierte Funktion wird in diesem Denkmuster als komplexer Befehl gesehen der nicht im vorgegebenen Repertoire des Akteurs vorr tig ist sondern zun chst gelernt werden muss Auf der anderen Seite stellen sich viele Anwen der einer imperativen Programmiersprache eine Funktion als eigenen Akteur vor der durch einen Funktionsaufruf aktiviert wird Intuitive Modelle der Informatik k nnen hinsichtlich ihres Abstraktionsgrades oberhalb auf glei chem Niveau oder unterhalb einer Programmiersprache liegen Man kann sie sie in Anlehnung an die Redeweise in der Chemie molekulare atomare und subatomare Modelle nennen 15 1 1 Molekulare Modelle Programmierer verwenden intuitive Modelle die ganze Programme oder Programmabschnitte al so gr ere logis
310. he Weise auf das Objekt und seine Umgebung verteilt Wir betrachten Model le die die Ausf hrung der Anweisung bottle fi11 0 4 veranschaulichen 1 Im ersten Modell wird die Botschaft Oval mit Programmtext bottle fill 0 4 an die Karaffe Objekt der Klasse Container gesendet Anschlie end f llt sich die Karaffe auf magische Weise von alleine Abb 56 Dies ist eine passende aber weniger naturalistische Veranschaulichung des Programmtextes o m Abb 56 Objekt als Akteur Screenshots aus der Animation pq_objects_a2_4 2 Das zweite Modell ist naturalistisch und stellt die Bef llung der Flasche mit einer Abf llstation Rohr mit Hebel zum ffnen und Schlie en dar Die Botschaft wandert zur Abf llstation Diese wird nun aktiv das Rohr bewegt sich zur Karaffe und bef llt sie Die Karaffe selbst Objekt der Klasse Con tainer bleibt v llig passiv was dem Paradigma der OOP widerspricht Abb 57 4 ye Abb 57 Umgebung als Akteur Screenshots aus der Animation pq_objects_a2_3 3 In der Animation pq_objects_a2_1 wird die Botschaft durch zwei Entit ten dargestellt Ein Oval mit der Beschriftung fill wird an eine Karaffe gesendet und veranschaulicht die Auswahl der Methode 124 Nachdem die Karaffe diese Botschaft empfangen hat bewegt sie sich zu einer Abf llstation Nun fliegt ein Zettel mit Aufschrift 0 4 Parameter des Methodenaufrufs zum Schlie mechanismus der Abf ll station und l st die B
311. hen der von einer anderen Person etwas in Empfang nimmt und ihr anschlie end etwas zur ckgibt F r diesen Ausdruck gibt es aber keine andere Formu lierung Ja er wird bei vielen Programmiersprachen sogar in der Syntax als Schl sselwort verwendet return Solche notwendigen Metaphern oder Metonymien bezeichnet man als Katachresen Eine Allegorie Bild ist eine komplexe Metapher die einen abstrakten Begriff veranschaulichen soll z B divide and conquer Bei einem Vergleich werden Ausdr cke aus verschiedenen Dom nen durch das Partikel wie verbunden z B Instanzen einer Klasse sind wie H user die nach dem glei chen Bauplan gebaut worden sind Ein Vergleich bringt eine gewisse Distanz zwischen dem ver wendeten Modell und dem gemeinten Zielkonzept zum Ausdruck Man verwendet Tropen insbesondere Metaphern um die Wirkung eines Textes auf den Leser oder die Leserin zu erh hen Metaphern machen einen Text abwechslungsreich und interessant Es ist ein Spiel mit der Bedeutung der W rter Die Spannung wird erh ht wenn die Quelldom ne unge w hnlich ist und thematisch weit von der Zieldom ne entfernt ist 2 3 2 Metaphern und analoges Denken In der kognitiven Linguistik l st man sich von dem rhetorischen Aspekt der oberfl chlichen Re deverbesserung und betrachtet Metaphern als Vorstellungen die substanzielles Wissen repr sentieren Boyd 1993 z hlt f r verschiedene Wissenschaften theoriekonstituierende Metapher
312. hen Computermodelle notional machines die bei Programmier anf ngern beobachtet werden wenn sie versuchen die Arbeitsweise eines Programmes zu erkl ren du Boulay 1989 Das Bild des Computers als einer Entit t die Anweisungen eines Programms ausf hrt kommt in anthropomorphen Redeweisen wie Er versuchte gerade Er dachte du meintest zum Ausdruck In einem monoaktiven System wird ein Funktionsaufruf nicht als Delegation einer Aufgabe an ei nen eigenen Akteur betrachtet sondern als Kopieren und Einschieben von Programmtext 5 5 Objekte Objekte im Sinne der objektorientierten Programmierung sind komplexe Akteure die ber einen internen Datenbestand den man abfragen und ver ndern kann und ber ein Repertoire von Operatio nen verf gen Sie reagieren auf Botschaften durch die sie veranlasst werden aktiv zu werden Im Hinblick auf intuitive Modellierung haben Objekte den Vorteil dass sie viel Information in ei ner koh renten Gestalt zusammenfassen k nnen Abb 15 zeigt eine Summierungsmaschine In der Animation h pft sie in der Liste von Element zu Element und summiert die ber ihren Sensor abge tasteten Werte Sie ist insofern ein Objekt als sie ein Attribut summe besitzt dessen Wert zu jeder Zeit abgelesen werden kann Sie beherrscht zumindest zwei Operationen die in der Animation ange deutet werden n mlich das Aufaddieren eines Wertes zum aktuellen Wert des Attributs Summe und das
313. hen Rechenprotokolls steht ein Wert Alle vorhergehenden Terme kann man als Namen dieses Wertes auffassen Jeder einzelne Umformungsschritt ist somit eine Modifikation eines indirekten Namens Beobachtungen mit der PVS haben gezeigt dass viele Menschen Rechenproto kolle gegen ber strukturorientierten Visualisierungen bevorzugen siehe Anhang 5 5 und 5 6 10 5 Bewegen Menschen sind mobile Wesen In der Entwicklungsgeschichte der Menschheit war f r Jahrmillio nen die Beherrschung von Bewegungsvorg ngen z B im Zusammenhang mit Fliehen Jagen und Standortverlegungen f r das berleben entscheidend In der Alltagssprache werden Ver nderungen h ufig durch Bewegungsmetaphern beschrieben Man redet vom Aufstieg in die erste Bundesliga H henflug der Aktienkurse oder beobachtet Bewegung auf dem Arbeitsmarkt In der Mathema tikdidaktik gibt es eine lange Tradition arithmetische Operationen durch Bewegungen auf der Zahlen geraden darzustellen Lakoff amp N nez 1997 Mit Bewegungen werden auch in der Informatik Verarbeitungsprozesse veranschaulicht In diesem Abschnitt untersuchen wir Modelle die Bewegungen von Daten und Namen verwenden Vorstellun gen zur Bewegung von Botschaften in der Objektorientierten Programmierung werden im Zusammen hang mit Objekten in Abschnitt 12 5 behandelt Modelle f r Funktionsaufrufe k nnen mit einer Bewe gung der Funktionsentit t verbunden sein n mlich dann wenn wir uns vorstellen da
314. her Gestaltcharakter w Um eine Gestalt abzurunden kann ein intuitives Modell auch strukturelle Elemente enthalten die im Zielprogramm nicht explizit vorkommen In Abschnitt 9 4 wurde z B eine Visualisierung des In Place Sortierens durch direkte Auswahl beschrieben bei der ein Glaskasten den bereits sortierten Teil der Liste bedeckt Damit wurde f r die Hauptidee dieses Sortierverfahrens der erste Teil der Liste ist fertig und wird nicht mehr ver ndert eine holistische Vorstellung gefunden die im Programmtext nicht einmal anklingt 13 4 Animieren Gestaltbildung kann auch mit Animismus verbunden sein Animismus ist die Vorstellung dass alle Dinge beseelt lat animus Seele und lebendig sind Sie haben einen Willen und k nnen sich ohne Au ensteuerung aus sich heraus verhalten Nach Piaget ist Animismus eine typische Denkweise von Kindern in der pr operationalen Stufe z B Flavell 1963 In der PVS ist eine h ufig vorkommende Animation ein fliegender Zettel der selbst seinen Weg findet Die Eigenaktivit t des Objektes macht die Vorstellung eines steuernden Mechanismus ber fl ssig und vereinfacht das Modell Animismus ist ein Feature des objektorientierten Programmierparadigmas Ein Objekt im Sinne der OOP ist eine Entit t in der Daten und Operationen auf diesen Daten zu einer Gestalt zusammengefasst sind Das Objekt verwaltet seine Daten selbst und interagiert eigenst ndig mit seiner Umgebung Es 17 In Text
315. hnung ist oft leichter verst ndlich und repr sentiert das gemeinte Modell besser wenn sie einige W rter oder Symbole enth lt 2 2 Vielfalt und Fl chtigkeit Inwiefern macht es Sinn zwischen mentalem Modell und physischer Repr sentation zu unterschei den Man k nnte ja auch sagen das Bild eines Beh lters der einen Zettel mit einer Zahl enth lt ist bereits ein Modell Doch w hrend intuitive Modelle einfache und in der Biographie eines Menschen dauerhafte Denk weisen darstellen mit denen viele Erscheinungen der Welt erkl rt und verstanden werden k nnen sind Repr sentationen dieser Modelle vielf ltig und fl chtig F r ein und dasselbe intuitive Modell gibt es im Prinzip beliebig viele unterschiedliche Repr senta tionen von denen je nach Situation nur eine ausgew hlt wird Nehmen wir als Beispiel das Beh lter modell f r Variablen Dieses Modell wird in unterschiedlichen Sprach u erungen verwendet die sich in der exakten Wortwahl unterscheiden k nnen aber das gleiche meinen Bei einer Zuweisung geht der alte Inhalt einer Variablen verloren Bei einer Zuweisung wird der vorige Inhalt zerst rt In visuellen Repr sentationen des Beh ltermodells k nnen Beh lter Namensschilder und Inhalte auf mannigfache Weise dargestellt werden Als Darstellungsform kann man Zeichnungen Fotos oder reale Gegenst nde verwenden Inhalte einer Variablen lassen sich auf unterschiedlichen Abstraktions niveaus visual
316. hose Wenn ein Baum w chst ein Auto neu lackiert oder ein Pudel frisiert wird ver ndern sich Objekte aber sie behalten in unserer Vorstellung ihre Identit t Es ist immer noch derselbe Baum dasselbe Auto und derselbe Pudel nur einzelne Aspekte der Erscheinung haben sich ge ndert Aus dem Alltag sind uns radikale Wechsel der u eren Erscheinung bekannt e Aus einer Raupe wird ein Schmetterling Metamorphose aber es bleibt dasselbe Individuum e Wenn Wasser verdampft bleibt es derselbe Stoff Nur der Aggregatzustand ndert sich e Wenn Eisen und Schwefel chemisch reagieren entsteht ein neuer Stoff mit neuen Eigenschaften Eisensulfid Aber die Atome bleiben erhalten Im Eisensulfid sind die Atome der Ausgangsstoffe nur anders angeordnet Moderne Programmiersprachen unterst tzen das Konzept der Ver nderung Man kann komplexe Objekte wie z B Listen definieren die ver nderbar sind Bei einer Liste k nnen z B Elemente ent Die Vorstellung einer totalen Vernichtung erwies sich sogar als besonders hartn ckig Sch ler die das Spiel mehrfach spielten bewerteten diese Visualisierung immer wieder als passend obwohl das System jedes Mal mit Punktabzug reagierte Einzelheiten in Anhang 5 3 108 fernt ersetzt oder neue Elemente eingef gt werden Dabei behalten sie ihre Identit t Aber auch unab h ngig von den Konstrukten die die Programmiersprache bereith lt verwenden wir in intuitiven Mo dellen zur Datenverarbeit
317. i Zerlegungen geht nichts verloren Die urspr ngliche Entit t existiert in gewissem Sinne in ihren Teilen weiter Somit kann man Zerlegungen guten Gewissens zu den Ver nderungspro zessen z hlen Abb 105 Abstrakte Darstellung der Abspaltung eines Pivot Elementes aus einer unsortierten Liste im Rahmen des Quicksort Algorithmus Drei Screenshots aus einer Animation der PVS Python Puzzle Assert Quicksort Abb 106 zeigt eine Visualisierung in der die Berechnung der Wurzel durch die statische Java Methode Math sqrt als Zerlegung dargestellt wird Der Sch ler erkl rte er stelle sich die Me thode als Mechanik symbolisiert durch die Zahnr der vor die die Zahl 2 auseinander nimmt und zwei gleiche Zahlen erzeugt deren Produkt 2 ergibt HR chen pit thn Abb 106 Illustration des 17 j hrigen Sch lers M zur Visualisierung der statischen Methode Java Math sqrt 2 Programmiersprachen z B C Java Python enthalten Konstrukte zur so genannten Typumwand lung type conversion cast Bei Java und C z B wird die Typumwandlungsoperation folgenderma en gebildet Man schreibt den gew nschten Typ in Klammern z B byte und setzt dahinter das umzuwandelnde Objekt Im folgenden Beispiel Java wird ein Objekt vom Typ int in ein Objekt vom Typ float umgewandelt 317 int i 1 float float i Der Begriff Typumwandlung ist insofern missverstandlich als nicht der Typ modifiziert wird Ein Typ ist die Au
318. i der Vorbereitung auf einen Test 2 2 1 Auswahl repr sentativer Beispiele 2 22 Beispiele ausprobieren Streben nach Gewissheit 2 2 3 Beispiele f r die Verwendung regul rer Ausdr cke 2 2 4 Ergebnisse 2 25 Verwendung von visuellen Modellen als Verstehenshilfe 2 3 Probleml sen 2 3 1 Fallstudie Das Iterator Pattern und seine Implementierung in Python 2 4 Kontrolle 2 4 1 Intuitive Modelle und Testen 2 4 2 Paradigmatische Modelle beim Testen 3 Materialien zu den empirischen Untersuchungen 3 1 Visualisierungs bungen 3 1 1 Aufgabenblatt 1 3 1 2 Aufgabenblatt 2 3 2 Aufbau der Datenbank der PVS 11 146 146 146 147 147 148 149 151 161 163 167 169 171 171 171 172 173 173 176 177 178 178 178 179 182 185 203 3 2 1 Allgemeine Tabellen 3 2 2 Tabellen f r Python Visual 3 2 3 Tabellen f r Python Puzzle 3 2 4 Tabellen f r Python Quiz 3 3 Gruppen einrichten 3 4 Auswertung der Datenbank 3 4 1 Auswertungsm glichkeiten f r Spieler und Zuschauer 3 4 2 Wissenschaftliche Auswertung 3 5 Python Visual 3 5 1 Dokumentation einer Session 3 5 2 Auszug aus der automatisch erstellten Auswertung 3 6 Python Puzzle 3 6 1 Screenshots aus einer Sitzung mit dem Python Puzzle Modeling a group 3 6 2 Dokumentation einer Session mit XML 3 6 3 Beispiel fiir eine automatisch generierte statistische Auswertung 3 7 Python Quiz 3 7 1 Dokumentation einer Session 3 7 2 Auszug aus der automatisch erstellten Aus
319. i nachfolgender iterativer Programmierung zu einer Leistungsver schlechterung negativer Transfereffekt Die Autoren schlossen daraus dass bei bungen mit iterati ven Programmen relativ gut grundlegende mentale Modelle zur Steuerung von Programmabl ufen gelernt werden die sp ter als Basis zum Verst ndnis rekursiver Funktionen dienen k nnen 9 6 2 Rekursion als Selbstaufforderung Was in der Literatur als Schleifenmodell bezeichnet wird kann man zumindest im Zusammen hang mit endrekursiven Prozeduren auch als eigenst ndige Intuition betrachten die sich von der Schleife unterscheidet Wir nennen sie das Modell der rekursiven Selbstaufforderung Es l sst sich durch folgende Merkmale charakterisieren e Es gibt nur einen Akteur der f r die Ausf hrung verantwortlich ist Darin unterscheidet sich das Modell von Delegationsmodellen siehe n chster Abschnitt bei denen bei rekursiven Aufrufen neue Akteure ins Spiel kommen e Es gibt ein holistisches Konzept eines Handlungsablaufs der komplett wiederholt wird falls es notwendig ist e Die gesamte Aktivit t ist eigentlich nicht von vornherein auf Wiederholung angelegt siehe All tagsbeispiele unten Es kann durchaus sein dass eine einmalige Ausf hrung ausreicht Dagegen geht man bei der Planung einer typischen Wiederholung mit while immer von vielen Durchg ngen aus Typische Schleifen wie der Fetch Execute Zyklus eines interaktiven Systems sind von der I dee her
320. ichnet sind Eine hnliche Intuition ergibt sich aus der Verwendung des Prototyp Modells bei dem eine Klasse als unfertiges oder abwandelbares Objekt gesehen wird Hier wird die Instanzierung zu seinem Zusammenbau verschiedener Teile zu einem neuen und vollst ndigen Objekt Die Klasse lie fert dabei sozusagen das Grundger st und die Konstruktorargumente die Teile die von Exemplar zu Exemplar unterschiedlich sein k nnen Wie bei der Realisierung eines Plans ist der Akteur eine ber geordnete Entit t In dieser Sichtweise haben die Argumente eines Konstruktoraufrufs eine etwas an dere Bedeutung als die Argumente eines normalen Methoden oder Funktionsaufrufs Methoden oder Funktionen verbindet man in der Regel mit der Verarbeitung von Daten die als Argument bergeben werden Bei der Instanzierung eines Objektes stellen die Argumente die meist in Klammern hinter dem Klassennamen angegeben werden Teile technisch Attributwerte dar die in der Klassendefini tion nicht spezifiziert worden sind 6 9 Modellierung verschachtelter Botschaften In der letzten Aufgabe von Python Quiz Objects werden Visualisierungen der Anweisung vase fill bottle empty angeboten Es geht also um die Frage wie eine verschachtelte Botschaft Botschaft die eine andere Botschaft enth lt aufgel st wird Hier ger t die Botschaftsmeta pher an ihre Grenze Wir unterscheiden drei Gruppen intuitiver Modelle 1 Die Anweisung vase fill bottle empty wird
321. ichtbar wenn man das Modell in Aktion sieht Zum Beispiel darf im Beh ltermodell f r Variablen ein Beh lter nur einen einzigen Zettel mit einer zusammenh ngenden Dateneinheit z B Zahl enthal ten Dieser Aspekt kann durch die Abarbeitung zweier Anweisungen der Form a l a 2 sichtbar gemacht werden Bei der zweiten Zuweisung wird der vorige Inhalt des Beh lters zerst rt Ziel der PVS ist Detailaspekte intuitiver Vorstellungen sichtbar zu machen Ein Problem jeder A nalogie oder Metapher ist dass nur einige Aspekte auf den Zielbereich das Gemeinte bertragen werden k nnen und andere nicht Fehlvorstellungen entstehen h ufig wenn die Grenze der Anwend barkeit berschritten wird bzw Einschr nkungen nicht erkannt werden So ist das Beh ltermodell nur unter der Einschr nkung brauchbar dass der Beh lter nur ein Objekt enthalten kann Reale Beh lter k nnen dagegen k nnen viele Objekte enthalten Um Vorstellungen ber die Grenzen besser ausloten zu k nnen werden Visualisierungen intuitiver Modelle in einem detailreichen Kontext verwendet Somit ist eine Animation der PVS in der Regel nicht die Repr sentation einer Intuition sondern sie enth lt h ufig mehrere solche Repr sentationen in einem relativ kleinen mehr oder weniger abge schlossenen Sinnzusammenhang 1 8 2 Entfernung und N he Die Animationen der PVS beziehen sich auf Programmtexte Im Python Puzzle stellen sie die Ar beitsweise des zu erstellenden Prog
322. ichtung Bei einer Zuweisung geht zwar der vorige Inhalt einer Variablen verloren aber der Variablenname wird nicht zerst rt F r die vollst ndige Vernichtung eines Objektes Wert einschlie lich des zugeh rigen Namens enthalten Programmiersprachen besondere Anweisungen Bei Python z B bewirkt die Anweisung del a die Entfernung des Namens a aus dem Namensraum Die Folge ist z B dass anschlie end kein Zugriff mehr auf a m glich ist und eine Anweisung wie print a zu einem Laufzeitfehler f hrt Variablennamen sind also im Unterschied etwa zu Daten stabile Elemente in der Mechanik eines Programmlaufs Sie existieren von der Deklaration oder ersten Zu weisung bis zum Ende des Programmlaufs Datenfl sse nach Pennington 1987 eine wichtige Abs traktion eines Programmtextes oder das Konzept der Rollen Sajaniemi 2002 implizieren die Dau erhaftigkeit von Variablen Dennoch k nnen sich viele Menschen vorstellen dass bei einer Zuweisung today Tuesday zuerst das komplette existierende Objekt mit dem Namen today zerst rt und dann ein neues Objekt mit gleichem Namen geschaffen wird Im Python Quiz Modeling assignments Aufgabe 2 akzep tierten 96 von 154 beobachteten Sch lerinnen und Sch lern ein solches Modell Dieses Ergebnis zeigt dass Anf nger h ufig nicht deutlich zwischen dem Namen und dem Wert einer Variablen diffe renzieren sondern beides als eine Einheit sehen 10 3 Ver nderung Metamorp
323. ichtung ab und wendet sich nun f r eine gewisse Zeit der Beseitigung der Verst ndnisschwierigkeit zu e Bei der Suche nach einem semantischen Fehler in einem Programmtext kommt bei einer Sch le rin oder einem Sch ler der Verdacht auf ein im Programm verwendetes Konzept z B die Wir kungsweise einer Funktion nicht richtig verstanden zu haben Er oder sie unterbricht die Fehler suche widmet sich dem kritischen Konzept und versucht es besser zu verstehen und Zweifel auszur umen 33 e Bei einer Programmentwicklung hat jemand die Idee ein bestimmtes Programmierkonzept zu verwenden z B eine bestimmte Standardfunktion der jeweiligen Programmiersprache stellt aber fest dass er oder sie zu wenig ber relevante Details des Konzeptes wei Er hat Zweifel dass sein Verst ndnis in Tiefe und Weite ausreicht und versucht etwa durch Studium der Sprach referenz oder kleine Testprogramme sein Verst ndnis zu verbessern e Ein existierendes Programm soll weiterentwickelt werden Um die notwendigen lokalen Anderun gen vornehmen zu k nnen muss man zuerst das gesamte Programm verstanden haben 3 1 1 Verstehen aus Sicht der Hermeneutik Weil Texte h ufig die Grundlage f r Verst ndnisgewinnung sind hat die Bedeutungs und Sinner fassung von Texten f r Verstehensprozesse einen besonderen Stellenwert Fragen des Textverstehens werden in der allgemeinen oder philosophischen Hermeneutik diskutiert Verstehen wird in der He
324. iese und sendet dann die Botschaft i11 0 4 an die Vase Diese f llt sich einem gewissen Volu men roter Fl ssigkeit Das Modell ist unpassend weil das Objekt bottle definitiv keine Botschaft ver schickt Es wurde aber dennoch von 16 der 23 Spieler mit einer durchschnittlichen Konfidenz von 75 akzeptiert Die 7 ablehnenden Spieler hatten dagegen ein erheblich geringeres Vertrauen in ihre Entscheidung 43 lt gt N Abb 118 Unplausibles Modell mit pq_objects_a5_1 3 Eine dritte M glichkeit schlie lich besteht darin die Anweisung vase fill bottle empty als eigenen Akteur zu begreifen als Botschaft mit noch unbestimmtem Parameter Dieser Akteur sen det zun chst die Botschaft bottle empty an die Karaffe erh lt einen Zahlenwert zur ck und wird damit zu einer vollst ndigen Botschaft die zum Objekt vase wandert Von den beobachteten 23 Spielern hielten 17 dieses Modell f r akzeptabel Konfidenz 82 Abb 119 amp Abb 119 Verschachtelte Botschaft als eigener Akteur der Botschaften senden kann pq_objects_a5_7 6 6 9 1 Kontexte f r die Verwendung von passiven Objektmodellen Im Rahmen realer Programmierprojekte gibt es Zusammenh nge in denen Objekte nicht als eigen aktive Entit ten gesehen werden die Botschaften empfangen So k nnen in allen OO Programmiersprachen ffentliche Attribute direkt gelesen oder ver ndert werden Dabei bleibt das Objekt passiv und muss die Manipulation von au e
325. ig mehrere Darstellungsformen kombiniert aber es dominierten eindeu tig verbale Repr sentationen Tab 24 Bildhafte oder ikonische Darstellungen spielten eine untergeordnete Rolle Ausdrucksmittel Anteil Text 91 Bild 25 Ikonische Darstellung 28 Regeln Wenn dann 6 Programmtext Pseudocode 34 Tab 24 Verwendete Ausdrucksmittel bei Teach back Versuchen van der Veer 1994 Um das Problem mangelnder Darstellungsf higkeit zu umgehen werden in der Python Visual Sandbox PVS deshalb nicht spontane Visualisierungsversuche der Teilnehmer gesammelt sondern stattdessen eine Vielzahl von bildlichen Darstellungen vorgegeben Sie sollen mit Programmtexten in Beziehung gesetzt und beurteilt werden Python Visual und Python Quiz oder k nnen als Hilfe abge rufen werden und m ssen dann im Hinblick auf ihre Brauchbarkeit mit einer dreistufigen Skala bewer tet werden Python Puzzle Teilnehmer von Workshops mit der PVS u erten tats chlich dass sie in einigen Visualisierungen eigene Vorstellungen treffend wiederentdeckt h tten Gleichzeitig r umten sie ein dass sie wahrscheinlich selbst nicht in der Lage gewesen w ren spontan eine derartige Repr sentation zu erfinden 172 1 4 Beispiele f r Tropen in der Informatik Metaphern e Bauplan f r Klasse e Absturz f r den bergang eines Prozesses in einen irregul ren Zustand e Verzweigung f r bedingte Anweisung if Anweisung
326. ige Sequenzen korrekte Ergebnisse e Sei f s ein Funktionsaufruf mit Argument s Unter der Voraussetzung dass die in der Funkti onsdefinition spezifizierten rekursiven Funktionsaufrufe s1 sn korrekte Er gebnisse liefern liefert auch s ein richtiges Ergebnis Wenn man sich an diesem Modell orientiert wird man die Testargumente folgenderma en w hlen Man testet die Trivialf lle die zum sofortigen Abbruch der Rekursion f hren Dann testet man mit Argumenten die zu verschiedenen rekursiven Aufrufen mit einfacheren Argumenten f hren Im Un terschied zum Modell des Hartetests s u reicht es m glichst einfache nicht triviale Testargumente zu verwenden Man schlie t dann induktiv dass es auch mit komplexeren Werten klappt Pfadtesten Beim so genannten Pfadtesten path testing achtet man bei den Testl ufen darauf dass s mtliche unabh ngigen Ausf hrungspfade durchlaufen werden Das bedeutet insbesondere dass jede im Pro 197 grammtext vorkommende Anweisung in der Summe der Testl ufe mindestens einmal ausgef hrt wird Sommerville 1997 S 471 ff Ausgangspunkt f r das Pfadtesten ist ein Programmflussgraph Das ist ein gerichteter Graph der ein auf vorkommende Kontrollstrukturen reduziertes Modell des zu testenden Programms darstellt Darin werden if else Anweisungen als Verzweigungen und while und for Anweisungen als Schleifen dargestellt Zwei unabh ngige Ausf hrungspfade sind Pfade vom Start z
327. ild vom Ablauf eines rekursiven Algorithmus So liefert ein Suchbaum eine holistische Vorstellung der rekursiven bin ren Suche Jeder Pfad von der Wurzel zu einem Blatt ist ein Protokoll eines Suchvorgangs Eine Matroschka Russian Doll ist ein Abbild ihres rekursiven Herstellungsprozesses Viele rekursive Ph nomene Levi amp Lapidot 2000 Levi et al 2001 oder Abbildungen aus Logo Art Galleries z B Tuzova amp Katz 2001 k nnen als Protokoll des Ablaufs einer rekursiven Funktion interpretiert werden D h das Ergebnis das Bild liefert gleichzeitig eine Vorstellung von seiner re kursiven Herstellung 9 6 6 Schema einer rekursiven Funktion und Dedynamisierung Anderson Pirolli und Farell 1988 sehen die Schwierigkeit rekursiver Programmierung darin dass es Menschen schwer f llt die Ausf hrung einer rekursiven Funktion in Gedanken nachzuspielen recursive mental procedures are very difficult perhaps impossible for humans to execute S 160 Ist damit Rekursion eine Denkweise f r die der Mensch nicht geschaffen ist Versuchen wir eine differenzierte Betrachtungsweise Das Delegationsmodell zur Erkl rung eines rekursiven Aufrufs als solches ist einfach und intuitiv Dass Aufgaben an andere delegiert werden k nnen ist eine Alltagserfahrung und Funktionsaufrufe werden in nicht rekursiven Zusammmenh n gen leicht verstanden Dagegen ist es eine v llig andere u erst anstrengende Aktivit t die konkrete
328. in Datenfluss Modellen Datenfluss orientierte visuelle Programmiersprachen m ssen bedingte Anweisungen durch relativ aufw ndige Konstrukte abbilden Das System DRLP Anjaneyulu amp Anderson 1992 verwendet dazu gesteuerte Ventile Das Diagramm in Abb 98 modelliert eine Funktion die ein Element an den An fang einer Liste setzt sofern es noch nicht in der Liste vorkommt Es handelt sich um einen Graph mit Knoten Rechtecke Trapez Dreiecke und gerichteten Kanten Richtung von oben nach unten Die oberen Rechtecke sind Eing nge f r Daten die unteren Ausg nge Im oberen Dreieck MEMBER wird gepr ft ob das Element von links in der Liste von rechts enthalten ist Das Ergebnis ist ein boolescher Wert aus dem in der trapezf rmigen Einheit ein Steuersignal erzeugt wird das entweder die rechte oder die linke Sperre ENABLE ffnet Element Liste ee MEMBER ENABLE ENABLE CONS unver nderte Liste Liste mit neuem Element Abb 98 Ein datenflussorientiertes visuelles Programm mit DRLP nach Anjaneyulu amp Anderson 1992 S 589 Das Modell unterst tzt zwei intuitive Modelle zum Datentransport Zum einen kann man sich vorstellen dass ber die Datenleitungen Entit ten wandern die Daten darstellen In diesem Fall existieren aber von einem Datum mehrere Kopien f r jeden Weg eine die von unterschiedlichen Einheiten verarbeitet werden
329. in referenziertes Objekt auch ver ndert bearbeitet sie es anstatt es zu verar beiten Der Zugriff kann z B durch Manipulatoren visualisiert werden Greifer die z B aus einer Liste Elemente herausnehmen und ver ndern Insbesondere der konkurrente Zugriff mehrerer Funktionen auf ein Objekt kann auf diese Weise veranschaulicht werden Eine Alltagsanalogie ist das Schnitzen d h das Bearbeiten eines Holzst ckes mit unterschiedlichen Messern Bei der Eingabe wird spezifiziert auf welche Objekte die Funktion zugreifen kann call by refe rence Diese Bindung kann auf unterschiedliche Weise visualisiert werden e Die Funktion wird in die N he des zu bearbeitenden Objektes gebracht Analogien Schnitzmes ser Messger t Zauberstab Mauszeiger und Mausklick e Zu bearbeitende Objekte werden durch zus tzlichen Namen Etikett Pfeil markiert Eine Analo gie aus der Forstwirtschaft ist die Markierung eines Baumes der gef llt werden soll e Die Referenz wird durch eine Linie dargestellt Wenn Eingabeobjekte einfach sind kann eine Referenz mit der Vorstellung des Abtastens von Werten gekoppelt werden In der Mikrowelt Logotron aus Lehotsk 2006 werden Referenzen durch gestrichelte Linien dargestellt die von einem numerischen Objekt zu einem Eingang kleine Raute eines Operators f hren Abb 35 Man kann sich vorstellen dass ber diese Leitung der momentane Wert des angeschlossenen Objektes bertragen wird
330. in subjektives Gef hl oder Erlebnis ist und von verschiedenen Begleit umst nden des Erlebens abh ngt Man kennt die Erfahrung dass etwa eine Beweisidee in einem be stimmten Kontext z B w hrend eines Vortrags einleuchtet aber das Gef hl der Gewissheit sp ter wieder verloren geht und erst durch eine gewisse Auseinandersetzung wieder hervorgerufen werden kann Messbare Aspekte von Intuitivit t sind Akzeptanzzeit Die Zeit der Auseinandersetzung die ben tigt wird um zu einem Gef hl der Ge wissheit zu kommen Bei der Rezeption eines mathematischen Beweises ist die Akzeptanzzeit die Zeit die ein Rezipient ben tigt um einen Beweisschritt als richtig zu akzeptieren Evidenz Idealerweise ist eine Intuition selbstevident Das hei t man braucht keine weiteren Be gr ndungen f r ihre Richtigkeit Sich einer Intuition vergewissern hei t dass man zur Sicherheit ihre Korrektheit mit Hilfe anderer Modelle z B Kontrollmodelle pr ft Das kann so schnell gehen dass man sich dessen gar nicht mehr bewusst ist oder aber es wird zu einer bewussten subjektiv wahr nehmbaren eventuell sogar im Rahmen einer Erkl rung externalisierten gedanklichen Operation Gewissheit Wie sch tze ich das Risiko ein dass ich mit meiner Intuition falsch liege Intuitionen ndern sich im Laufe einer Biographie Jeder hat bereits erlebt dass sich etwas als falsch herausge stellt hat das man vorher als sicher richtig eingesch tzt hat Auf Grund so
331. inander gegen ber gestellt Zwei dieser Animationen verwendeten das Modell der Execution Frames siehe Abb 108 In der ersten Variante wird die Ausf hrung vollst ndig und in der zweiten Variante unvollst ndig bis zum ersten rekursiven Aufruf dargestellt 319 ak n 1 u a Abb 108 Veranschaulichung der Arbeitsweise einer rekursiven Funktion zur Berechnung der Fakult t unter Verwen dung von Execution Frames Screenshot aus der PVS Python Visual Factorial Zwei weitere Animationen verwenden ein Rechenprotokoll bei dem Terme umgeformt werden Wiederum gibt die eine Variante die Ausf hrung in voller Tiefe bis zum Erreichen des Elementarfalls wieder w hrend die andere nach dem ersten rekursiven Aufruf tiefer liegende Aufrufe berspringt Abb 109 zeigt drei Screenshots aus einer dieser Animationen Der Teil des Terms der im n chsten Schritt durch einen anderen ersetzt wird ist durch einen hellen Kasten markiert 4 fak 4 1 Abb 109 Veranschaulichung der Arbeitsweise einer rekursiven Funktion durch sukzessive Umbenennung Drei Screens hots aus einer Animation der PVS Python Visual Factorial Die Spieler sollten am Ende einer Sitzung folgende Fragen beantworten e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funk tioniert e Welche Animation gibt die Idee einer rekursiven Funktion am besten wieder e Welche Animation war am schwierigsten nachzuvollziehen Tab
332. ind klein und unmittelbar einleuchtend Sie k nnen verwendet werden um eine komplexere und schlecht durchschaubare Probleml sung auf Korrektheit zu pr fen Sie bilden dann eine Art Alarmsystem das anschl gt wenn man einen Fehler gemacht hat Ein Beispiel aus der Mathematik wird von Fischbein erw hnt 1987 S 40 Aufgabe 0 65 Fruchtsaft kosten 2 Dollar Was ist dann der Preis f r einen Liter 41 Das Problem ist hier eine geeignete arithmetische Operation zu finden um aus den gegebenen Zahlenwerten die L sung zu berechnen In diesem Fall m ssen 2 Dollar durch 0 65 Liter dividiert werden um den Literpreis zu erhalten Als Kontrolle kann das folgende einfache intuitive Modell dienen Man stellt sich eine kleinere Flasche mit 0 65 und eine gr ere Flasche mit 1 Fruchtsaft vor Zweifellos muss die gr ere Liter flasche teurer sein als die kleinere Flasche Das Kontrollmodell ist einfacher als das vollst ndige L sungsmodell Es erlaubt nur Aussagen ber bestimmte Merkmale der L sung Literpreis ist gr er als 2 Dollar ist aber kein Korrektheitsbeweis Allerdings k nnen intuitive Kontrollmodelle Bausteine eines Korrektheitsbeweises sein Die Zuver sicht in die Korrektheit einer L sung steigt wenn sie mehreren Kontrollen durch unterschiedliche intuitive Modelle standh lt Die ist vergleichbar mit der Bew hrung einer Theorie in der Popper schen Logik der Forschung Popper 1934 Die Einbe
333. ine Referenz darauf so dass gezielt dieses Objekt ver ndert werden kann Dieses Ausgabekonzept kann z B folgenderma en visualisiert werden e Die aufrufende Entit t h lt ein Etikett Namen bereit das von der Funktion z B mit Hilfe eines Greifers an das zur ckzugebende Objekt geheftet wird Das Problem ist dass die bergabe des Etiketts als weitere Eingabe missverstanden werden kann e Die aufrufende Entit t h lt einen Zeiger bereit der mit einem Namen versehen ist und zun chst ins Leere zeigt Er wartet darauf an ein Objekt gebunden zu werden Wenn die Funktion ihre Rechnungen abgeschlossen hat manipuliert sie den Pfeil und sorgt daf r dass er auf das richti ge Objekt zeigt Beide Modelle f r die R ckgabe einer Referenz basieren auf der Idee wartender Namen D h die aufrufende Entit t h lt einen Namen bereit der schon existiert bevor die Funktion eine Referenz ge liefert hat Wenn man diesen wartenden Namen nicht voraussetzt kommt man in logische Schwierig keiten Es ist dann so als ob man jemandem etwas zeigen will aber dieser Jemand gar nicht existiert Dies kann als Widerspruch zum Namenskonzept gesehen werden Denn streng genommen muss ein Name immer an ein Objekt gebunden sein sonst w re es kein Name Die Annahme eines warten den Namens ist ein weiteres Beispiel f r eine berstrukturierung Ein an sich atomarer Vorgang die Bindung eines Namens an ein Objekt wird aufgeteilt in zwei Vorg
334. iner computerbasierten Mikrowelt ist die Turt le Grafik der Programmiersprache Logo Papert 1973 1980 Die Firma Logo Computer Systems Inc LCSI bietet verschiedene Mikrowelten f r verschiedene Altergruppen an die jeweils die Logo Turtle enthalten Die Turtle Schildkr te ist ein virtuelles Wesen das wenige angeborene Operatio nen beherrscht auf der Stelle um einen bestimmten Winkel nach rechts drehen eine gewisse Anzahl von Schritten nach vorne gehen Bei ihrer Bewegung hinterl sst sie auf dem Untergrund eine Spur so dass man durch Steuern der Turtle Bilder malen kann Weitere Aktionsm glichkeiten kann sie durch Kombination bereits beherrschter Operationen lernen Insofern kann man das Steuern und Trainieren der Schildkr te als Metapher f r prozedurales Programmieren bezeichnen Ist die Turtle eine Metapher wie es gelegentlich unterstellt wird z B Clements amp Samara 1997 Sie ist prim r ein k nstliches Wesen das f r sich selbst steht Zwar k nnte man sie aus Sicht der In formatik grob als Metapher f r ein Objekt im Sinne der Objektorientierten Programmierung bezeich 173 nen also eine abstrakte Entit t die sich in einem Zustand befindet und Methoden beherrscht Aus Sicht der Kinder die mit Logo arbeiten ist dieser Aspekt jedoch weitgehend irrelevant Die Turtle ist aber eine geschlossene Gestalt die man sich gut vorstellen kann Ihre Bewegungs m glichkeiten gehen und drehen und das Zeichnen von Lini
335. ionen zu folgenden Punkten Eine Beschreibung der Modelle die verwendet worden sind Prim rschl ssel id Zeitpunkt der Betrachtung Dauer Bewertung 1 hat nicht geholfen 3 hat geholfen Jedes Mal wenn die Hint Schaltfl che angeklickt worden ist wird ein solcher model Knoten erzeugt Eine Beschreibung der verwendeten Programmzeilen Bausteine Die correct Knoten enthalten Beschreibungen der Programmzeilen des korrekten getesteten Programms Programmzeile und Zeitpunkt wann der Baustein mit dieser Zeile zum ersten Mal bewegt worden ist Die error Knoten enthalten entsprechende Beschreibungen von fehlerhaften Zeilen Eine Zeile wird als feh lerhaft gewertet wenn sie nicht zum korrekten Programm geh rt und dennoch irgendwann einmal w hrend der Bearbeitung der Aufgabe in das Programmfeld bewegt worden ist In diesem kann man davon ausgehen dass der Spieler zu irgendeinem Zeitpunkt glaubte die Zeile m sse in den Programmtext eingebaut werden Es kann sein dass ihm oder ihr der Fehler sofort aufgefallen ist oder vielleicht auch erst nach einem misslungenen Testlauf Auf jeden Fall ist der Fehler sp ter korrigiert worden Bearbeitungszeit f r diese Aufgabe in Sekunden Erreichte Punktzahl entspricht dem Schwierigkeitsgrad Anzahl der Testl ufe bis das Programm fehlerfrei war Nach den task Knotengibt es noch einen session Knoten mit dem Prim rschl ssel der Session in der entsprechenden Tabelle der Datenbank der ge
336. iption Visualization of an empty list by a box containing an empty card Time 0 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 40 4 04 Average watch time standard deviation 17 25 seconds 21 64 Number and percentage of players who declared that the model is appropriate good judgements 41 players 60 29 percent Average confidence in good judgement standard deviation 6 10 3 95 Number and percentage of players who declared that the model is not appropriate bad judgements 27 players 39 71 percent Average confidence in bad judgement standard deviation 6 85 4 19 Judging Model pq_list_al_2 Associated program result Description Visualization of an empty list by a box with five empty compartments Time 0 seconds Concreteness 100 percent of names are used in the model 243 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 5 81 4 46 Average watch time standard deviation 25 12 seconds 74 37 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 47 players 69 12 percent 6 17 4
337. ische Intuitionen Spohrer Soloway und Pope 1989 verwenden zur Modellierung von Probleml sungen Und Oder B ume die sie GAP Trees nennen GAP goal and plan Ein GAP Tree repr sentiert s mtliche L sungsm glichkeiten einer Aufgabe die man sich als oberstes Ziel vorstellt siehe Abb 8 Zu einem Ziel geh ren in der Regel mehrere alternative Pl ne ber deren Realisierung das Ziel erreicht werden kann Jeder dieser Pl ne f hrt wiederum zu mehreren Zielen die erreicht werden m ssen damit der Plan umgesetzt wird Auf jedem Pfad von der Wurzel zu einem Blatt folgen immer abwechselnd Ziel und Plan Knoten Bei einer konkreten Implementierung des Projekts L sung wird von mehreren alternativen Pl nen zu einem Ziel einer ausgew hlt oder Verkn pfung Die Teilziele die zu einem Plan geh ren m ssen aber alle erreicht werden und Verkn pfung Es ergibt sich ein Teilbaum des GAP Trees mit genau einem Plan pro Sub Ziel Einen solchen Teilbaum des aus der Aufgabenstel lung abgeleiteten GAP Trees erh lt man z B durch Analyse eines Programms das die Aufgabe l st in der Abbildung durch dicke Linien und dunkle Knoten dargestellt 38 Ziel Plan Oder Und Oder Abb 8 Aufbau eine GAP Trees und eines L sungsbaums dunkel Wenn jemand sich f r einen von mehreren alternativen Pl nen entscheidet geht er oder sie erstens von seiner Realisierbarkeit aus u
338. isieren Ein Zettel mit einer Zeichenkette oder einer Zahl ist konkreter als die Abbildung eines Gegenstandes der ein Datum repr sentiert Man hat die Wahl einen Wert als Literal Haus oder in Form seiner Ansicht Haus wiederzugeben Intuitive Modelle werden in Kommunikationsprozessen verwendet und dabei ber Repr sentatio nen externalisiert Jeder der eine Idee durch eine Grafik veranschaulicht versucht zun chst alles m g lichst einfach zu halten Erst wenn die Gespr chspartner Nachfragen haben werden weitere Details hinzugenommen verbale Erl uterungen gegeben oder zus tzliche Bilder zur Darstellung spezifischer Aspekte angefertigt H ufig werden Repr sentationen intuitiver Modelle ad hoc erfunden und auf die Bed rfnisse Seh und H rgewohnheiten des Adressaten zugeschnitten Im Schulunterricht denken sich Lehrerinnen und Lehrer immer neue Formulierungen f r ein und denselben Gedanken aus bis sie das Gef hl haben dass sie verstanden werden Repr sentationen intuitiver Modelle haben oft etwas Fl chtiges Manche Bilder werden nur einmal verwendet um einem bestimmten Menschen in einer bestimmten Situation mit bestimmten Medien etwas zu erkl ren und h ufig kann man sich nach kur zer Zeit nicht mehr an sie erinnern Das dahinter stehende Konzept ist dagegen dauerhaft Persistenz ist ja ein Merkmal intuitiver Modelle 2 3 Repr sentation und Metaphorisierung 2 3 1 Uneigentliche Redeweise in der Informatik Die Sprache
339. ist und der durch sie beanspruchte Speicherplatz f r anderes ben tigt wird 314 6 Entwerten Durch einfaches Lesen kann ein Geheimnis vernichtet werden Eine geheime PIN Nummer ist nicht mehr geheim und verliert ihren Wert wenn sie jemand anderes liest Was das menschliche Ged chtnis betrifft sind die Vernichtungsarten 1 und 5 relevant nicht aber 2 3 und 4 Wir k nnen gespeicherte Information als falsch oder ung ltig anotieren oder unwichtige Din ge mit der Zeit vergessen Es ist uns aber nicht m glich einmal gespeicherte Inhalte gezielt zu zerst ren oder zu entfernen F r die Interpretation von Programmtexten sind vor allem die Vernichtungskonzepte 1 bis 4 von Bedeutung Das f nfte Konzept Vergessen kann zur Beschreibung einer Garbage Collection verwen det werden wenn das Laufzeitsystem ein Objekt l scht d h den f r es reservierten Speicherplatz frei gibt f r das keine Referenz mehr existiert und das deshalb nicht mehr ben tigt wird Doch dieser Mechanismus wird blicherweise nicht vom Programmtext kontrolliert Das sechste Vernichtungs konzept Entwerten bezieht sich auf den pragmatischen Wert der Information die durch Daten repr sentiert wird aber nicht auf die Daten selbst 5 3 Totale Vernichtung bei Zuweisungen Abb 101 zeigt Screenshots aus einer Animation Python Quiz assign Aufgabe 2 die sukzessive Zuweisungen mit dem Notizzettelmodell folgenderma en visualisiert Vor einer erneuten Zuweisung
340. it b is attached m 21 to the same card Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 21 3 11 Average watch time standard deviation 14 05 seconds 12 56 Number and percentage of players who declared that the model is appropriate good judgements 119 players 77 27 percent Average confidence in good judgement standard deviation 8 49 2 88 Number and percentage of players who declared that the model is not appropriate 35 players 22 73 percent Average confidence in bad judgement standard 7 29 3 71 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 05 3 14 8 90 3 06 9 15 2 72 Average watch time standard deviation 14 95 seconds 18 50 7 22 seconds 3 93 5 88 seconds 2 32 Percentage of players who declared that the model 82 93 percent 90 24 percent 78 05 percent is appropriate good judgements Average confidence in good judgement standard 8 53 2 62 9 32 2 40 9 38 2 46 deviation Percentage of players who declared that the model is not appropriate bad judgements 17 0
341. iteracy and Visual Intelligence In Beauchamp Darell G et al Hrsg Selected readings of the IVLA Annual Conference Visual Literacy in the Digital Age Rochester New York 1993 S 307 315 155 Metzler J und Shepard R N 1974 Transformation Studies of the Internal Representations of Three Dimensional Objects In R L Solso Hrsg Theories of Cognitiv Psychology The Loyola Sym posium Hillsdale 1974 S 147 201 Miller John Alexander 2004 Promoting Computer Literacy through Programming Python Disser tation University of Michigan Mithen Stephen Boyer Pascal 1996 Anthropomorphism and the evolution of cognition In Jour nal of the Royal Anthropological Institute 2 4 S 717 ff Moreno Andr s amp Myller Niko 2003 Producing an Educationally Effective and Usable Tool for Learning The Case of the Jeliot Family In Proceedings of the International Conference on Net worked e learning for European Universities Granada Spain Mosconi Mauro Porta Marco 1999 Testing the Usability of Visual Languages A Web Based Methodology In Hans J rg Bullinger amp J rgen Ziegler Hrsg Proceedings of the 8 Interna tional Conference on Human Computer Interaction HCI 99 Band 1 M nchen S 1053 1057 Mosconi Mauro Ottelli Davide Porta Marco 2003 Alligator a Web based Distributed Visual Programminp Environment In Proceedings WWW 2003 Budapest Ungarn 20 24 Mai 2003 Poster Moser Karin
342. itionen subjektiv sicheres Wissen fungieren somit als Quellkonzepte grundlegender Metaphern Eine Analogie ist nicht das gleiche wie eine Metapher W hrend der Begriff Metapher aus der Rhe torik stammt und prim r ein linguistisches Ph nomen beschreibt ist die Analogie ein Begriff aus der Logik Analogien beziehen sich auf den Vergleich der Struktur von Systemen Aristoteles 384 322 v Chr beschreibt geometrische Analogien als Gleichheit zweier Verh ltnisse in der Form A B C D A verh lt sich zu B wie C zu D Dabei kann der Bruchstrich als mathematische Operation z B Divi sion aber auch nicht mathematisch verstanden werden Coenen 2002 Beispiel Ein Baum verh lt sich zu einem Ast wie ein K rper zu einem Arm In analogem Denken oder analogem Schlussfol gern kann Wissen ber eine vertraute Quelldom ne auf eine neue noch unbekannte Zieldom ne ber tragen werden So verwendete Galileo sein Wissen ber die bereits bekannte Kreisbahn des Mondes um die Erde als Basis f r seine Theorie dass sich auch die Erde bewegt English 2004 Ein bekanntes Analogon f r Elektrizit t ist die Vorstellung von Wasser das durch Rohre flie t Beide Systeme haben strukturelle hnlichkeit Man kann Entit ten und Beziehungen des Quellsystems Modell auf das Zielsystem abbilden Flie endes Wasser entspricht sich bewegenden Elektronen Der Wasserdruck z B in Folge eines H henunterschiedes zwischen Anfang und Ende des Rohres en
343. judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 7 86 3 56 Average watch time standard deviation 12 02 seconds 8 19 Number and percentage of players who declared that the model is appropriate good judgements 74 players 48 05 percent Average confidence in good judgement standard deviation 8 18 3 37 Number and percentage of players who declared that the model is not appropriate bad judgements 80 players 51 95 percent Average confidence in bad judgement standard 7 56 3 73 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 6 83 4 29 8 41 3 25 8 05 3 69 Average watch time standard deviation 11 80 seconds 7 66 7 66 seconds 3 40 7 12 seconds 3 78 Percentage of players who declared that the model 43 90 percent 17 07 percent 12 20 percent is appropriate good judgements Average confidence in good judgement standard 7 50 4 29 6 43 4 76 5 00 3 54 deviation Percentage of players who declared that the model is not appropriate bad judgements 56 10 percent 82 93 percent 87 80 percent Average confidence in bad judgement standard deviation 6 30 4 32
344. kation z B im Schulunterricht wird der Erkl rende im Idealfall so lange immer wieder neue Modelle anbieten bis er merkt dass er einen Augen ffner gefunden hat und dem Gespr chspartner die Erkl rung einleuchtet Dabei kann es notwendig sein kreativ zu werden und ad hoc v llig neue intuitive Modelle zu erfinden 3 3 Problemlosen 3 3 1 Antizipatorische Intuitionen In vielen Probleml seprozessen gibt es einen Moment der Erleuchtung Nach einer Phase des Suchens und gedanklichen Durchspielens verschiedener M glichkeiten erscheint vor dem geistigen Auge pl tzlich die Vision wie das Problem im Prinzip gel st werden k nnte Der franz sische Ma thematiker Poincar berichtete unter anderem folgendes Beispiel Eines Morgens als ich auf dem Kliff spazieren ging kam mir innerhalb k rzester Zeit mit einer ungeheuren Pl tzlichkeit und sofortigen Gewissheit der Gedanke dass die arithmetischen Transforma tionen unbestimmter quadratischer Formen mit den Formen der nichteuklidischen Geometrie identisch waren Poincar 1929 S 388 zit nach Anderson 1996 S 263 Fischbein nennt dieses Ph nomen eine antizipatorische Intuition Sie repr sentiert als zusammen h ngende Gestalt die entscheidende Idee einer Probleml sung Der Begriff antizipatorisch bezieht sich auf die Rolle des Modells in einem Probleml sungsprozess Vorwegnahme der L sung und nicht auf den Inhalt In der Informatik gibt eine Reihe intuitiver
345. ktion lat abstrahere abziehen entfernen ist der Gegenbegriff zu Konkretisierung und be zeichnet in der Philosophie das Absehen von bestimmten Aspekten konkreter Entit ten oder Prozesse in der Welt Automatische Visualisierungsversuche z B mit Sajaniemis Rollenansatz scheitern daran dass sie jede im System vorkommende Entit t darstellen was zu komplexen und schwer ver st ndlichen Mechaniken f hrt Es fehlt die Unterscheidung von Wichtigem und Unwichtigem Ein intuitives Modell eines Programmtextes muss einfach sein Intuitive Modellierung beinhaltet deshalb auch Abstraktion im Sinne des Absehens von Unwichtigem e Bezeichner z B Variablennamen aus dem Programmtext werden weggelassen e Entit ten werden nur implizit angedeutet und nicht explizit dargestellt z B Blitz f r die Ausf h rung einer Funktion e Daten werden durch fig rliche Platzhalter ersetzt Sie sind einfacher und heben nur die f r den Algorithmus wichtigen Aspekte der repr sentierten Daten hervor So kann ein Papierstreifen eine Liste von Daten repr sentieren wenn es nur auf die L nge der Liste ankommt Wie in Abschnitt 6 6 gezeigt wurde werden abstraktere Visualisierungen einer Iteration die auf eine Explizie rung der Laufvariablen verzichten gegen ber denen mit expliziter Laufvariablen bevorzugt 130 e Umfangreiche Daten z B Listen werden unter Verwendung von Ellipsen Auslassungen darge stellt Abb 61 e Determinismu
346. ktion len die wir hier der Einfachheit halber auf Listen einschr nken Definition durch einen erkl renden Text Die Funktion len akzeptiert eine beliebige Liste als Argument und gibt deren L nge d h die Anzahl der enthaltenen Elemente zur ck Definition durch Axiome 4 len 0 5 Sei a ein beliebiges Objekt Dann ist len a 6 Wenn s1 und s2 beliebige Listen sind dann ist len sl s2 len sl len s2 Dabei ist s1 s2 die Konkatenation der beiden Listen sl und s2 Definition durch einen Programmtext def len s if is 185 return 0 else return len s 1 1 Definition durch Beispiele Seien al a2 beliebige Objekte Dann gilt len len al len al a2 len a2 a2 a3 usw Visuelle Darstellung a g a la 2 ee a n i S Y L nge n 2 1 2 Experimente zur Beantwortung erkenntnisgewinnender Fragen Verst ndnisfragen zu einem Text k nnen h ufig durch kleine Experimente am Computer beantwor tet werden Python unterst tzt durch den interaktiven Modus diese Art der Erkundung von Bedeu tung Zur Illustration folgt eine denkbare Fragesequenz zum Thema Listen Textgrundlage Die Funktion len liefert die L nge einer Liste d h die Anzahl der enthaltenen Ele mente Frage 1 Ist bei verschachtelten Listen Listen von Listen die L nge die Anzahl der insgesamt vor kommenden Objekte Experiment 1 1 Wie gro ist z
347. ktmodellierung Analyse und Entwurf Spektrum Akademi scher Verlag Heidelberg Berlin Baumann R deger 1990 Didaktik der Informatik Stuttgart 1990 Baumann R deger 1994 Der Weg vom Konkreten zum Abstrakten In LOG IN 14 1994 Heft 1 S 10 ff Baumgarten Hans 2005 Compendium Rhetoricum 2 Aufl G ttingen Vandenhoeck und Rup recht Beck Kent 2003 Test Driven Development Boston u a Addison Wesley 2003 Beck Kent 1999 Extreme Programming Explained Boston u a Addison Wesley Ben Ari Mordechai 1997 Recursion From Drama to Program In Journal of Computer Science Education 11 3 S 9 12 Blackwell Alan Frank 1998 Metaphor in Diagrams Dissertation University of Cambridge Ben Ari Mordechai 2001 Constructivism in Computer Science Education In Journal of Com puters in Mathematics and Science Teaching 20 1 S 45 73 Ben Ari Mordechai 2004 Situated Learning in Computer Science Education In Computer Science Education 14 2 S 85 100 Bennet Judith Holman John Lubben Fred Nicolson Peter Prior Christine 2002 Science in Con text The Salters Approach Contribution to the 2 IPN YSEG Symposium 151 Bennett Judith Lubben Fred 2006 Context based Chemistry The Salters Approach In Interna tional Journal of Science Education 28 9 S 999 1015 Bell Tim Witten Ian H Fellows Mike 1998 Computer Science Unplugged off line activities and games for all ages
348. kzep tiert Im zweiten Modell pq_objects_a3_3 wird das Oval das die Botschaft repr sentieren soll wie ein Etikett an die Karaffe geheftet Dieses Modell hielten f nf der 23 beobachteten Personen 22 f r passend Abb 120 Modelle die der Semantik der Anweisung bottle empty widersprechen 7 Weitere Aspekte der intuitiven Modellierung 7 1 Intuitivit t als messbare Gr e Der Begriffs intuitiv wird in zwei Bedeutungsvarianten verwendet die sich in einer Nuance un terscheiden H ufig wird das Adjektiv intuitiv in einem idealistischen nicht steigerungsfahigen Sinn gebraucht Eine Vorstellung ist intuitiv oder sie ist es nicht Es gibt keinen Zwischenwert Ich halte eine gedankliche Vorstellung f r richtig oder ich habe Zweifel In der Praxis bewegen wir uns h ufig an der Grenze zur Gewissheit Insbesondere in kritischen Si tuationen Entscheidungen und Handlungen die schwerwiegende Konsequenzen haben vergewissert man sich in Gedanken der Richtigkeit der gedanklichen Konzepte die man z B f r eine Probleml sung verwendet Dieses sich Vergewissern kann fast unmerklich quasi zeitgleich mit dem Auftreten des Gedankens passieren oder aber es erfordert gr ere Anstrengung 330 Wenn wir von der Intuitivit t eines Modells reden dann gebrauchen wir den Begriff intuitiv in einem steigerungsf higen Sinn Demnach kann ein Modell mehr oder weniger intuitiv sein Der Hin tergrund ist dass Intuitivit t e
349. lation des Zustandes von Objekt b durch Objekt a 77 Abb 31 Funktion eigentlich statische Methode einer Klasse als Materialverarbeitungseinheit mit Ein und Ausgang Visualisierung der 17 jahrigen C 80 Abb 32 Funktion eigentlich Aufruf einer Methode als magischer Becher der Objekte verwandelt Visualisierung des 17 j hrigen Sch lers M 80 Abb 33 Visualisierung einer Prozedur als Box mit Ein und Ausgang 81 Abb 34 Eingabe tiber Sensoren PVS 81 Abb 35 Verkn pfung von Operatoren Funktionen und Objekten bei Logotron aus Lehotska 2006 82 Abb 36 Modelle mit unterschiedlichen Eingabemechanismen zur Visualisierung eines Funktionsaufrufs 83 Abb 37 Visuelle Modelle f r die R ckgabe einer Referenz auf ein Objekt 85 Abb 38 Vergleich zweier Zahlen als steuerndes Ereignis Screenshots aus dem Python Quiz Modeling a group 86 Abb 39 Modelle fiir Funktionen mit offener Systemgrenze 88 Abb 40 Offene und geschlossene Modelle zur Visualisierung der Ausf hrung einer rekursiven Funktion 88 Abb 41 Funktionen als Boxen mit Ein Ausgang und Seitent ren PVS 89 Abb 42 Visualisierung der Ausf hrung einer Sequenz durch konkurrente Prozesse 94 Abb 43 Visualisierung einer Iteration Screenshots aus dem Python Visual Iteration 97 Abb 44 Nassi Shneiderman Diagramm und Modell eines Steuerungsakteurs 98 Abb 45 Screenshot aus einer Sitzung mit Microworld EX 101 Abb 46 Darstellung von Zuweisungen mit unterschiedlich
350. lcher Erlebnisse kann man sich eigentlich niemals vollst ndig sicher sein 7 2 berst lpen des EVA Modells als Beispiel f r berstrukturierung Betrachten wir folgendes Programm a up b and down c atb print c Jesse 16 Jahre Virginia USA hat dieses Programm folgenderma en durch eine Flash Animation visualisiert Das Programm wurde durch eine Box dargestellt In diese Box wandern die beiden ersten Zeilen des obigen Programmtextes hinein und als Ausgabe kommt die konkatenierte Zeichenkette heraus Jesse hat die ersten beiden Zuweisungen als Eingabe interpretiert was sie formal nicht sind Man kann dies insofern als berstrukturierung deuten als hier dem Programm die Struktur Ein gabe Verarbeitung Ausgabe bergest lpt wurde Das Verwechseln von Zuweisung und Eingabe wurde von Samurcay 1989 beobachtet 331 Intuitive Modelle der Informatik sind gedankliche Vorstellungen ber informatische Konzepte die mit subjektiver Gewissheit verbunden sind Menschen verwenden sie wenn sie die Arbeitsweise von Computerprogrammen nachvollziehen oder anderen erkl ren logische Korrektheit pr fen oder in einem kreativen Prozess selbst Software entwickeln Diskutiert werden in diesem Buch intuitive Modelle f r grundlegende Aspekte einer Programmausf hrung etwa die Allokation von Aktivit t Benennung Daten Kontrollstrukturen und Verarbeitung Mit Hilfe eines Systems von Online Spielen der Python Visual Sandbox werd
351. leich von Modell bewertungen in Python Quiz Sitzungen wurde der zweiseitige exakte Fisher Test Summe kleiner p Werte angewendet Rechnungen wurden mit MS Excel x Test und SISA Uitenbroek 2000 durch gef hrt 56 5 Akteurmodelle Wenn man ber die Arbeitsweise eines Programms spricht unterscheidet man h ufig aktive und passive Entit ten Man stellt sich vor dass es sich um ein strukturiertes System handelt in dem ver schiedene Akteure am Werk sind die in irgendeiner Weise kooperieren und gemeinsam eine Aufgabe l sen Sichtbar werden Akteurkonzepte bei sprachlichen Formulierungen wie e An dieser Stelle macht der Computer dies und das e Das Objekt a schickt eine Botschaft an Objekt b e Funktion f ruft Funktion g auf e Die Funktion gibt den Wert x zur ck Betrachten wir folgendes Programm def quadrat n print n n zahl input quadrat zahl Ein Beispiel f r eine typische verbale Erkl rung ist folgender Text Das Programm wartet auf eine Eingabe Sobald der Benutzer ber die Tastatur eine Zahl eingege ben hat und lt ENTER gt gedr ckt hat wird die Funktion quadrat aufgerufen Sie berechnet das das Quadrat und gibt das Ergebnis auf dem Bildschirm aus Hier kann man zumindest drei Akteure erkennen die zum System geh ren e Ein Akteur wird als Programm bezeichnet Dieser Akteur wartet zun chst auf eine Eingabe und ruft sp ter eine Funktion auf e Die lt ENTER gt
352. lich an den Vorkenntnissen und Interes sen der Teilnehmer Thematische Schwerpunkte z B Rekursion Sortieren Modellieren mit Listen oder nur allgemeine Grundlagen der Programmierung wurden vorher mit den Verantwortlichen an der jeweils besuchten Bildungsinstitution abgesprochen Die Workshops waren in eine Spielsituation eingebunden Es galt in den bungen mit der PVS m glichst viele Punkte zu sammeln Die Person mit den meisten Punkten erhielt am Ende einen Preis Alle Workshops hatten folgende gemeinsame Struktur e Kurze Einf hrung in die Idee der PVS das Ziel und den Ablauf des Workshops e Registrierung der Teilnehmer e Vor jedem bungsblock mit der PVS wurden in einer Plenumsdiskussion kurz die relevanten As pekte der Python Syntax angesprochen um sicher zu stellen dass die Teilnehmer nicht v llig berfordert wurden e Vor der Nutzung einer PVS Applikation wurde das Handling pr sentiert und insbesondere darauf hingewiesen dass der Abbruch einer Session zu Punktverlust f hrt e bungen mit der PVS nahmen den gr ten Teil der Zeit ein e In den meisten Workshops wurden an einer Stelle die Ergebnisse von Python Visuals pr sentiert und diskutiert e Am Ende gab es die Preisvergabe und ein kurzes Debriefing bei dem die Teilnehmer allgemeine Anmerkungen und Kritik u ern konnten Generell konnte man bei den Workshops ein hohes Ma an Aktivit t und Kommunikation beo bachten Die meisten Teilnehmer arbeiteten a
353. liche Objekt als Eingabe und das ver nderte Objekt als Ausgabe vorstellen Die folgende Abbildung zeigt ein Datenfluss modell f r eine Prozedur die alle Elemente einer Liste von Zahlen quadriert Python def quadriereListe liste for i in range len liste liste i liste i 2 Abb 33 Visualisierung einer Prozedur als Box mit Ein und Ausgang 8 2 Dateneingabe ber Sensoren Zur Darstellung des Eingabemechanismus kann die Metapher eines Messger tes mit Sensoren he rangezogen werden Alltagsanalogien sind e Ein St ck Indikatorpapier das durch seine Farbe den pH Wert einer L sung anzeigt einstellige Funktion e Ein Spannungsmessger t das die Potenzialdifferenz zwischen zwei elektrisch geladenen Gegen st nden erfasst zweistellige Funktion e Ein Finger der die Temperatur eines Gegenstandes erf hlt einstellige Funktion Abb 34 Eingabe ber Sensoren PVS Der Eingabemechanismus dieses Modell verzichtet auf die Intuition eines Transports von Daten Eingabeobjekte bleiben au erhalb der Box ber einen Greifarm oder hnliches wird eine Verbindung 81 von der Funktion zum Objekt hergestellt Der Eingabemechanismus ist ein Sensor der einen Wert abtastet 8 3 bergabe von Referenzen bei der Eingabe Funktionen k nnen auf Objekte zugreifen ohne sie sich einzuverleiben Die Eingabeobjekte die in der Parameterliste aufgef hrt werden bleiben au erhalb der Box Sofern die Funktion e
354. ll entsteht bei jeder Zuweisung ein neuer Zeiger unter dem zuletzt hinzugef gten Zeiger Abb 47 rechts today Wednesday Monday Tuesday Wednes Abb 47 Sukzessive Zuweisungen ohne Vernichtung Die Bewertungsergebnisse aus Tab 16 zeigen dass nur eine Minderheit der beobachteten Schiile rinnen und Sch ler vernichtungsfreie Zuweisungsmodelle f r geeignet halten Dabei gibt es einen signifikanten Unterschied zwischen der Einsch tzung des Notizzettelmodells und des Zeigermodells p 0 028 den man darauf zur ckf hren k nnte dass die PVS Spieler mit dem Notizzettelmodell vertrauter sind vgl Umfrage zu Visualisierungen im Informatikunterricht Abschnitt 2 6 In mehreren Studien konnte beobachtet werden dass Sch ler glauben eine Variable k nne gleichzeitig mehre re Werte enthalten vgl Putnam et al 1989 Ben Ari 2001 107 n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw 1 Notizzettel 8s 10 67 s 40 26 0 8 38 3 08 pq_assign_a2_4 10 80 2 Beh lter 6s 7 92 s 54 35 1 8 70 2 94 pq_assign_a2_1 4 65 3 Zeiger 6s 11 38 s 59 38 3 8 81 2 84 pq_assign_a2_8 24 53 Tab 16 Beurteilung von Zuweisungsmodellen ohne Vernichtung Ber cksichtigt wurden die Antworten aus ersten Spiel durchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 10 2 3 Totale Vern
355. llein an einem Rechner diskutierten aber kritische Spiel situationen mit ihren Nachbarn Dies war im Hinblick auf den Lerneffekt erw nscht Die Frage ist inwieweit dadurch die Validit t der Beobachtungen beeintr chtigt wird Systematisches Mogeln z B indem man einfach die Ergebnisse von seinem Nachbarn bernimmt war nur selten zu beobachten Wegen der Vielfalt der Aufgaben die zudem von den Applikationen zum Teil in zuf lliger Reihen 55 folge angeboten werden und der hohen Geschwindigkeit der Spiele war zu einem Zeitpunkt jeder Teilnehmer gerade mit einer anderen Aufgabe besch ftigt Die meisten Diskussionen entstanden bei einem Python Quiz wenn das System ein Modell anders beurteilt hatte als der Spieler Es ging dann z B um die Frage was an dem betrachteten visuellen Modell falsch ist Eine solche Diskussion ist f r die Beteiligten lehrreich weil intuitive Modelle reflektiert werden im Hinblick auf die Validit t des Sessionprotokolls aber unsch dlich da sie nach der Entscheidung erfolgt ist 4 9 Systematisierung intuitiver Modelle der Informatik In den folgenden Kapiteln werden eine Reihe von intuitiven Modellen der Informatik inhaltlich be schrieben ihre Herkunft und Probleme Anwendungsgrenzen Konflikte mit anderen Modellen etc diskutiert und soweit m glich ihre psychische Realit t insbesondere bei Programmieranf ngern quantitativ eingesch tzt Dabei setzen wir den Fokus auf einfache grundl
356. llein physische Repr sentationen wie z B ein Bild das jemand in einer bestimmten Situation zeichnet um einem Gedanken Ausdruck zu verleihen Aus mehreren solcher u erungen schlie t ein Beobachter auf dahinter liegende Modellvorstellungen Wenn man auch analytisch zwischen Modell und seiner physischen Repr sentation unterscheiden kann so ist doch beides eng miteinander verwoben DiSessa 2001 weist auf die Materialit t von Intelligenz hin Ohne geeignete Ausdrucksmittel k nnen intuitive Modelle gar nicht entstehen Manchmal ist es schwierig die Grenze zwischen Repr sentation und Modell zu ziehen Ist ein konkre tes Beispiel nur eine Repr sentation eines Modells oder ist es bereits das Modell Es gibt verschiedene Dimensionen die man bei einer Untersuchung von Repr sentationsformen bedenken kann Kodierung Mit welcher Art von materialen Bedeutungstr gern werden intuitive Modelle darge stellt Alan Paivio unterscheidet verbale und imaginale Kodierung von Wissen Metaphorisierung Es muss eine geeignete der menschlichen Vorstellungskraft zug ngliche Do m ne gefunden werden aus der ein Modell stammt F r Auswahl der Dom ne ist ein wichtiges Krite rium wie gut man in ihr die gemeinten Modelle physisch repr sentieren kann Konkretisierung und Beispielbildung Exemplarisierung Die Repr sentation eines Modells ist immer konkret Aus einer im Prinzip unendlichen F lle von M glichkeiten m ssen eine oder mehrere repr sent
357. lopment and the acquisition of language New York Academic Press Rosch Eleonor 1975 Cognitive representations of semantic categories In Journal of Experimental Psychology 104 S 192 223 Rosnick Peter 1981 Some Misconceptions Concerning the Concept of Variable Are you careful about defining your variables In The Mathematics Teacher 74 6 September 1981 S 418 420 450 Samurgay R 1989 The concept of variable in programming Its meaning and use in problem solving by novice programmers In Soloway amp Spohrer 1989 S 161 178 Sanner M F Stoffler D Olson A J 2002 ViPEr a visual programming environment for Python In Proceedings of the 10 international Python Conference Februar 2002 S 103 115 Sasse Martina Angela 1997 Eliciting and Describing Users Models of Computer Systems Disser tation Birmingham University of Birmingham Schank R C Abelson R 1977 Scripts plans goals and understanding Hillsdale Sajaniemi Jorma 2002 Visualizing Roles of Variables to Novice Programmers In Kuljis J Bald win L Scoble R Hrsg Proc PPIG 14 Brunel University Sleeman D Putman D Baxter R T Kuspa L 1989 A summary of misconceptions of high school Basic programmers In Soloway amp Spohrer 1989 S 301 314 Schubert Sigrid Schwill Andreas 2004 Didaktik der Informatik Heidelberg Berlin Spektrum Schulmeister Rolf 2002 Grundlagen hypermedialer Lernsy
358. ls und Nummer der Aufgabe task smallint Nummer der Aufgabe game varchar 20 Fremdschl ssel Enth lt ID des Spiels description_pq zu dem diese Aufgabe geh rt program varchar 250 Programmtext oder verbale Beschreibung des Programmtextes der durch Mo delle interpretiert wird protocol_pq Tab 41 Tabelle description_pq Die Tabelle modelliert eine Session mit einer Python Quiz Applikation Es k nnen ein oder zwei Spieler teilnehmen Die Tabelle beschreibt allgemeine nicht aufgabenbezogene Daten der Session Diese Tabelle wird pq_startservice aktualisiert automatisch von den Dienstprogrammen pq _service py und Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt einen String folgenden Formats lt id des Spiels gt lt Zufallszahl gt game varchar 20 Fremdschl ssel Enth lt id der Spielbeschreibung time int 20 Zeitstempel Sekunden seit Beginn der Epoche f r Spielstart gametime smallint tats chliche Spieldauer in Sekunden points smallint erreichte Punkte 200 falls Session abgebrochen wurde players smallint Anzahl der Spieler 1 oder 2 playerl varchar 20 Fremdschl ssel Enth lt id des ersten Spielers player varchar 20 Fremdschl ssel Enth lt id des zweiten Spielers falls vorhanden Tab 42 Tabelle protocol_pq Zu Beginn einer Session wird ein Datensatz angelegt Am Ende der Session wird die Punktzahl ak tualisiert 208
359. lume Au Wasser Entferne Blatt Nr 2 von Blume GieBe Blume 3 1 2 Aufgabenblatt 2 Informatik visuell 2 bung 3 Die Java Klasse Math enth lt statische Methoden die aufgerufen werden k nnen ohne zuvor ein Objekt der Klasse zu instanzieren Der Aufruf Math sgrt liefert die Quadratwurzel einer Zahl als Gleitpunktzahl vom Typ double Beispiel Math sqrt 2 liefert 1 41421356237 Zeichnen Sie ein Storyboard aus mehreren Bildern das die Ausf hrung folgender Anweisungen veranschaulicht double a a Math sqrt 2 bung 4 Objekte der Klasse String beherrschen die Methode toUpperCase Der Aufruf a toUpperCase liefert einen String aus Gro buchstaben Beispiel Wenn w die Zeichenkette klein darstellt dann gibt w toUpperCase die Zei chenkette KLEIN zur ck Das Objekt w selbst bleibt dabei unver ndert Zeichnen Sie ein Storyboard aus mehreren Bildern das die Ausf hrung folgender Anweisungen veranschaulicht 200 String a String b a informatik b a toUpperCase 201 202 3 2 Aufbau der Datenbank der PVS 3 2 1 Allgemeine Tabellen person Die Relation person enth lt die Daten eines Spielers der Python Visual Sandbox Attribut Datentyp Erl uterung id varchar 20 Prim rschl ssel Er enth lt das Pseudonym Nickname das Personen bei der Registrierung angeben Damit wird sie oder er w hrend einer Session angeredet und es erscheint falls gew nscht in Hi
360. m pq_startservice py geschickt Es enth lt unter anderem die Passw rter der Spieler und hat folgendes Format lt log gt lt session game gameld id SessionID gt lt person id idi gt lt person id id2 gt lt log gt 240 Vom Serviceprogramm wird ein Datensatz Tupel der Relation protocol_pq f r die Beschrei bung der Session angelegt als Spieldauer 0 Sekunden und als erreichte Punktzahl 200 eingetragen Bei einem vorzeitigen Abbruch der Session erhalten somit die Spieler Minuspunkte und der Sessio nabbruch wird bestraft Am Ende einer Session wird ein XML Paket mit dem Sessionprotokoll an das Service Programm pq_service py geschickt Es ist folgenderma en aufgebaut lt log gt lt task id ID der Aufgabenbeschreibung gt lt model id ID des Modells watchtime Dauer der Betrachtung points gesetzte Punkte eval Bewertung 0 oder 1 gt lt task gt lt session id SessionID time Spieldauer in Sekunden points erreichte Punktzahl gt lt log gt F r jede gel ste Aufgabe gibt es einen task Knoten mit der ID der Aufgabenbeschreibung Prim r schl sselattribut der Relation description pq task als Attribut Er erh lt als Unterknoten Beschreibungen der Modelle und ihre Bewertung Der session Knoten enthalt Daten des Sitzungs protokolls die nach dem Spiel in der Relation protocol pq ge ndert werden m ssen 3 7 2 Auszug aus der automatisch erstellten Auswertung
361. m Gespr ch in die Augen sehen und so signalisieren dass die nun folgende Sprach u erung f r ihn bestimmt ist 2 Die Botschaft kennt den Adressaten und findet ihn selbstt tig Dieses Modell wird im Alltag verwen det wenn ein Brief von einem Boten transportiert wird 3 Die Botschaft wird wie eine Rundfunksendung ausgestrahlt Broadcasting Alle Objekte k nnen sie empfangen und m ssen selbst entscheiden ob sie f r sie selbst bestimmt ist Dies entspricht der bli chen Gespr chssituation mit mehreren Personen in einem Raum Jeder kann alles h ren und muss selbst an ihn gerichtete Botschaften erkennen In Animationen zur Visualisierung der Anweisung bottle fil1 0 4 werden diese unter schiedlichen Vorstellungen aufgegriffen Zwei Animationen verwenden das Modell der direkten Zustellung durch den Sender Im Modell pq_objects a4 3 wird zun chst ein Leitstrahl blaue Linie auf das Empf nger Objekt gerichtet ber diese Linie wandert anschlie end die Botschaft Abb 60 erstes Bild Im zweiten Modell bet tigt ein Manipulatorarm einen Knopf mit der Beschriftung fill auf einem Kasten der zur visuellen Repr sentation des Objektes bottle geh rt Offenbar w hlt die aufrufende Entit t zun chst die Metho de aus die ausgef hrt werden soll Durch diesen Akt des Anfassens wird das Objekt zum Empf n ger der Botschaft gemacht Im n chsten Schritt fliegt dann ein Zettel mit dem Parameter 0 4 zum an gesprochenen Objekt
362. m analysiert und eine R ckmeldung f r den Spieler generiert Insbesondere wird der Testlauf mit Punkten bewertet Solche Fl chtigkeitsfehler engl flaws dominieren sehr stark bei realen Programmentwicklungen und ihre Beseitigung kostet gerade Programmieranf ngern viel Zeit vgl z B Anderson amp Jeffries 1985 50 4 5 1 Dokumentation einer Session Zu Beginn einer Session wird ein XML Paket an das zugeh rige Serviceprogramm geschickt Es enth lt die IDs Passw rter der Spieler sowie Prim rschl ssel IDs f r das Spiel und die Session Vom Serviceprogramm wird ein Datensatz f r die Beschreibung der Session angelegt als Spieldauer 0 Sekunden und als erreichte Punktzahl 200 eingetragen Ein vorzeitiger Spielabbruch wird also durch Minuspunkte bestraft Damit soll vermieden werden dass ein Spieler bei einem schlechten Start sofort die Flinte ins Korn wirft F r die wissenschaftliche Auswertung sind gerade die ersten noch v llig unvoreingenommenen Spieldurchg nge interessant Am Ende einer Session wird ein XML Dokument mit dem Sessionprotokoll an das Service Programm geschickt Es enth lt globale Informationen ber die Session Spieler erreichte Punktzahl etc und zu jeder bearbeiteten Aufgabe folgende spezifischen Angaben e Bearbeitungsbeginn Bearbeitungszeit erreichte Punktzahl Anzahl der Testl ufe e F r jedes als Hinweis verwendete Modell Modell ID Zeitpunkt und Dauer der Betr
363. men f r Funktionen 84 10 Wahl verschiedener Modelle zur Veranschaulichung der Riickgabe einer Referenz 86 11 Beurteilung von Modellen fiir Testfunktionen deren Ausgabe als Signal interpretiert wird 87 12 Wahl verschiedener Modelle zur Veranschaulichung der Riickgabe einer Referenz 89 13 Wahl verschiedener Modelle zur Veranschaulichung einer rekursiven Funktion 90 14 Wahl verschiedener Modelle zur Veranschaulichung einer Iteration 97 15 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen 107 16 Beurteilung von Zuweisungsmodellen ohne Vernichtung 108 17 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen der Formb a 112 18 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen der Formb a 113 19 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen mit Zeigern 115 20 Beurteilung von Modellen f r Instanzierungen 123 21 Beurteilung von Modellen zur Ausf hrung eines Auftrags mit unterschiedlicher Gewichtung der Eigenaktivit t des Objekts 125 22 Beurteilung von Modellen zum Routing von Botschaften 127 23 Python Kurzreferenz von O Reilly 172 24 Verwendete Ausdrucksmittel bei Teach back Versuchen van der Veer 1994 172 25 Merkmale naher und entfernter Visualisierungen von Programmen 179 26 Ergebnis der Umfrage zur Verwendung von Visualisierungen 185 27 Anzahlen der ausprobierten Beispiele n 29 191 28 Tabelle person 203 29 Tabelle person_group 203 30 Tabelle pvsgroup 204 31 Tabelle coach
364. ment wickler gibt es einen reichhaltigen Fundus an Literatur in Form von Sprachreferenzen Cookbooks Pattern Sammlungen etc mit Hilfen zur Probleml sung Nun wird man dort niemals ein Beispiel fin den das haargenau auf das eigene aktuelle Programmieraufgabe passt All diese B cher und Websites enthalten letztlich paradigmatische Modelle die abstrakter sind als eine konkrete L sung Sie werden meist in Form von Programmbeispielen dargeboten Dieser Programmtext ist dann aber nicht als pra 39 xistaugliche L sung gemeint Vielmehr handelt es sich um ein mehr oder weniger gelungenes be wusst reduziertes verst ndliches und auf eine L sungsidee zugespitztes Beispiel 3 3 4 Entwurfsmuster Design Patterns Paradigmatische Modelle finden sich in der Informatik auf vielen Ebenen Auf hohem Abstrakti onsniveau versucht man strukturierte Sammlungen von so genannten Software Patterns oder Design Patterns anzulegen Gamma Helm Johnson Vlissides 1995 Patterns werden als Musterl sungen f r h ufig vorkommende Problemstellungen verstanden a solution to a recurring problem in a context Das Ziel ist die Wiederverwendung von Softwarel sungen zu erm glichen Riehle amp Z llighoven 1996 definieren den Begriff Pattern etwas abstrakter Patterns sind in ihrer Sichtweise nicht allein auf Programmtexte beschr nkt sondern k nnen auch der Analyse von Wirklichkeitsausschnitten die nen Ein Beispiel f r ein Pattern das sich z B in
365. message vase fill bottle empty is repre sented by two messages empty goes to the bottle it returns 0 4 then message fill 0 4 goes to the vase Time 9 seconds Concreteness 50 percent of names are used in the model Jy 305 Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence 7 62 3 75 standard deviation Average watch time standard deviation 9 14 seconds 6 78 Number and percentage of players who declared that the model is 14 players 66 67 percent appropriate good judgements Average confidence in good judgement standard deviation 8 57 3 06 Number and percentage of players who declared that the model is 7 players 33 33 percent not appropriate bad judgements Average confidence in bad judgement standard deviation 5 71 4 50 Judging Model pg_objects_a5_5 Associated program vase fill bottle empty Description The message vase fill bottle empty is not represented by an entity A manipulator presses but tons on the objects and initiates the execu tion of methods Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s 7 38 4 07 confidence standard deviation Average watch time standard deviation 11 33 seconds 11 46 Number and percentage of players
366. n Fischbein nennt solche intuitiven Vorstellungen die sich auf die Bedeutung eines Konzeptes beziehen semantische Intuitionen Fischbein 1987 S 59 ff Zum Beispiel gibt es f r das Konzept einer geraden Linie zwischen zwei Punkten verschiedene semantische Intuitionen e Geometrisches Modell Linie die man mit einem Lineal zwischen zwei Punkten zieht e Pragmatisches Modell k rzester Weg zwischen zwei Orten e Physikalisches Modell Lichtstrahl von einer Lichtquelle zu einem beleuchteten Objekt Nun werden in der Informatik Konzepte meist durch mehr oder weniger formale Texte definiert Typische Textdokumente f r Informatiker sind Programmaquelltexte Kommentare in Programmtexten Sprachreferenzen oder allgemeine Lehrtexte in denen grundlegenden Ideen der Informatik erkl rt werden Im Lernalltag eines Informatik Sch lers gibt es verschiedene Anl sse f r Verst ndnisgewin nung e Erkl rungen der Lehrperson etwa zur Arbeitsweise einer Funktion werden von Sch lern individu ell nachvollzogen Im Unterricht kann man beobachten dass Sch ler nach einem Informationsin put der Lehrperson beispielhafte Programmzeilen die z B an der Tafel stehen ausprobieren und abwandeln um das soeben Geh rte zu verarbeiten e In einer Diskussion des Programmierteams z B zum Entwurf eines Programms verwendet ein Kommunikationspartner einen Begriff der den anderen nicht ausreichend klar sind Die Diskussi on weicht nun von ihrer urspr nglichen Zielr
367. n das intern durch unterschiedli che konkretere Modelle repr sentiert wird vgl Abb 2 Probleml sen mit Hilfe von Metaphern l sst sich anscheinend eher als zweistufiger kognitiver Pro zess verstehen Prim r hat man eine abstrakte Idee parat die gleich durch ein ganzes B ndel von intui tiven Modellen aus verschiedenen Dom nen repr sentiert wird Erst im Nachhinein z B bei kniffli gen Detailfragen und wenn man jemandem etwas erkl ren muss vergewissert man sich der Brauchbarkeit und Angemessenheit der abstrakten Idee und repr sentiert sie durch Metaphern Ausl schen canceling Repr sentation f AN 1 N I 1 Schulden Kollision mit 1 i Sich umdrehen und L cher bezahlen Antimaterie i zur ck gehen f llen I i Anwendung der Intuition 1 5 8 Abb 2 Probleml sen mit dem p Prim Ausl schen Menschen greifen also innerhalb eines Kontextes auf unterschiedliche Vorstellungswelten zur ck Bei manchen bildhaften Darstellungen ist es sogar schwierig eine Dom ne zu benennen aus der sie stammen k nnten Ein Beispiel daf r ist ein Bild aus konzentrischen B gen das ein Sch ler gezeich net hat der die Summe einiger Zahlen der Folge 5 8 11 berechnen sollte Presmeg 1997 S 269 Die Zeichnung visualisiert die Formel summe n 2 s s Jeder Bogen stellt die konstante Summe zweier Folgenglieder s und Sn 1 i dar N 5 8 11 14 17 20 23 26 29 32 35 38 41 44 Abb 3 Visu
368. n die Explikation und Reflektion intuitiver Modelle in den Informatik unterricht einzubringen Darunter sind Visualisierungs bungen Rollenspiele und Aktivit ten mit neu en Medien wie Mikro und Nanowelten Das Grundmuster einer solchen Lerneinheit besteht aus den drei Schritten Hinf hrung Sch leraktivit t und Reflektion 15 4 1 Visualisierungs bungen In einer Visualisierungs bung erhalten Sch ler innen die Aufgabe ein Programmst ck zu visuali sieren In der Hinf hrungsphase wird klargestellt dass die Visualisierung anderen Personen die Ar beitsweise des Programms erkl ren soll Es geht also um Kommunikation Eventuell kann sogar die Zielgruppe spezifiziert werden Fachleute erwachsene Nichtfachleute wie z B Kunden in einem Softwareprojekt Kinder Hinsichtlich des geforderten Ergebnisses sind verschiedene Varianten denk bar e Storyboard mit Bleistift und Papier e Trickfilm z B mit Modellen aus Lego e Animationen z B mit Adobe Flash Mediator oder Pr sentationssoftware e Minidrama unter Verwendung eines Sets vorgegebener Requisiten Szenokasten wie z B Kar ten und Beh lter Die Unterst tzung probleml sender Aktivit ten durch Tipps wird z B im p dagogischen Ansatz des cognitive apprenticeship kultiviert Vgl dazu Collins et al 1989 146 In der Hinf hrungsphase sollte ein potentieller oder realer Anwendungskontext f r das Produkt umrissen werden Beispielsweise k nnte eine Animation Teil der S
369. n auf Lakoff und N ez 1997 beschreiben grundlegende Metaphern grounding metaphors oder conceptional me taphors f r die Mathematik Diese Metaphern schlagen eine Br cke zwischen vertrauten Vorstel lungswelten und mathematischen Dom nen Beispiele sind arithmetic is object collection oder arithmetic is object construction 2 Kennzeichnend f r diesen Ansatz ist dass eine Metapher als Abbildung A gt B von einer Quelle base source A auf ein Ziel target B dargestellt wird Man liest eine solche Abbildung B is A Jede Metapher besteht aus einer Sammlung von Unterabbildungen So geh ren zur Metapher A rithmetic Is Object Collection unter anderem folgende Zuordnungen e Zahlen sind Kollektionen von physischen Objekten gleicher Gr e e Arithmetische Operationen sind Akte des Bildens einer Kollektion von Objekten e Eine Addition ist das Zusammenlegen zweier Objektkollektionen zu einer gr eren Kollektion Das Beispiel zeigt dass die Quelle einer Metapher intuitiv sein muss wenn sie helfen soll die Zieldom ne z B Arithmetik zu verstehen Nur wenn man sich sicher ist dass beim Zusammenlegen von zwei Kollektionen keine Objekte verloren gehen und keine aus dem Nichts dazukommen kann Daneben gibt es auch verbindende Metaphern linking metaphors mit denen Konzepte aus verschiedenen Gebieten der Mathematik gekoppelt werden Lakoff und N ez 1997 S 34 25 man Additionen verstehen Intu
370. n blie be Merkmal dieses Metapherntyps ist dass die Konzepte der Quelldom ne intuitiv verst ndlich sind nicht aber die Konzepte der Zieldom ne In der didaktischen Literatur werden f r den Unterricht in verschiedenen F chern Vorstellungswel ten abgezirkelt in denen lehrreiche Aktivit ten stattfinden Dazu kann man auch die Dom nen der von Lakoff 1997 zusammengestellten Metaphern aus dem Bereich der Mathematik z hlen Nehmen wir als Beispiel arithmetic is motion along a line F r den Mathematikunterricht gibt es ausgearbeitete Unterrichtsreihen auf der Basis der Dom ne Bewegung entlang einer Linie Die Kinder verwenden einen Ausschnitt der Zahlengeraden mit dem Nullpunkt in der Mitte und f hren damit verschiedene Aktivit ten aus die Rechenoperationen mit ganzen Zahlen entsprechen z B eine gewisse Schrittzahl nach links gehen bedeutet subtrahieren Nach der Theorie der konzeptionellen Metaphern bleiben die Kinder zun chst ganz in der Welt der Bewegung entlang einer Linie und erwerben Konzepte die sie sp ter verwenden um arithmetische Operationen mit ganzen Zahlen zu verstehen Vorstellungswelten k nnen detailliert gestaltet und z B als multimediale Software oder mechani sches Spielzeug implementiert werden Man spricht dann von Mikrowelten microworlds Mikrowel ten sind explorative Lernumgebungen Schulmeister 2002 Es sind k nstliche Welten mit sehr einfa chen Regeln in denen die Benutzer sich frei bewe
371. n der Leistung Punkte gewinnen Der Reiz des Wettkampfes ergibt sich einmal aus dem Vergleich mit anderen Spielern und zweitens aus der M glichkeit die eigene Leistung zu beobachten und zu verbessern Jeder Spieler kann f r die Applikationen die sie oder er wenigstens einmal gespielt hat Highscore Listen anfordern die Punktzahl Nicknames der Spieler und Datum der 46 besten zehn Sessions enthalten Au erdem kann jeder Spieler einen Activity Report abrufen der seine erreichte Gesamtpunktzahl und Kurzbeschreibungen aller absolvierten Sessions auflistet Eine Sitzung mit einer PVS Applikation enth lt viele ungewisse Ereignisse Alea die eine gewis se Spannung hervorrufen In einem Python Puzzle kann ein Spieler niemals sicher sein ob sein Pro gramm korrekt ist bis er es getestet hat Auf der anderen Seite ist es oftmals berraschend dass ein kleines Programm nicht das vorhergesehene Verhalten zeigt Bei einem Python Quiz erlebt man die Ungewissheit wie das System die eigenen Antworten beurteilt Aktivit t und angeregte Spannung Ilnix wird durch die hohe Spielgeschwindigkeit gef rdert Python Puzzles haben eine maximale Spielzeit von zehn Minuten ein Python Quiz mit 20 bis 30 Ein zelaufgaben dauert im Schnitt acht bis neun Minuten Die PVS enth lt keine Fantasieelemente Die Mimicry Komponente fehlt fast v llig Hier besteht noch viel Entwicklungspotenzial Die Verlage rung von Aktivit ten in eine Fantasiewelt kann helfen eine e
372. n eines Workshops k nnen mit einem online verf gbaren Werkzeug ausgewertet werden Es liefert in einer HTML Seite zu jedem Modell folgende Informationen siehe Abb 11 e Einen Screenshot aus der Animation als Erinnerungshilfe e Zu jeder Frage den Anteil der Personen aus der betreffenden Gruppe die dieses Modell gew hlt haben numerisch und grafisch als farbigen Balken e Zeitliche Dauer der Animation und mittlere Betrachtungszeit in der Gruppe In Workshops mit der PVS wurden diese bersichten als Anlass f r eine Plenumsdiskussion ber die Modelle und ihre Schw chen verwendet Durch die Einbettung in einen sozialen Kontext sollte neben dem Lerneffekt auch eine gewisse Ernsthaftigkeit bei der Bearbeitung der Python Visuals bewirkt werden Teaching with the Python Visual Sandbox Evaluation of Changing lists All sessions of group PVS Seminar Diesel Gymnasium Augsburg Number of evaluated sessions 18 Model 1 Question 1 Question 2 Question 3 would you use to do you when you explain remember best imagine the execution of the script Fee m 11 percent 6 percent 11 percent duration 6 sec watched 27 sec Abb 11 Auszug aus der Evaluation der Antworten zum Python Visual Changing lists 4 5 Python Puzzle Bei einem Python Puzzle bauen die Spieler aus vorgegebenen Programmtext Zeilen Bausteine unter Zeitdruck ein lauff higes Python Skript zusammen Dabei k nnen sie Tipps abrufen die
373. n erdulden H ufig wird dies allerdings als schlech ter Programmierstil gesehen In Standardwerken der OOP z B Balzert 1999 wird h ufig empfohlen den direkten Zugriff auf Attribute zu verbieten und stattdessen spezielle ffentliche Methoden f r das Lesen und Schreiben zu definieren set und get Methoden Allerdings f hrt die Verwendung dieser Zugriffsmethoden zu komplexeren und deshalb weniger intuitiven mentalen Modellen Mit Python ist es m glich f r ein Objekt einer New Style Klasse so genannte Properties zu spezifizieren vgl Weigend 2006a Dabei werden f r Attribute die von au en erreichbar sein sollen Zugriffsmethoden definiert die bei einem scheinbar direkten Zugriff ausgef hrt werden Das hei t eine Zuweisung der Form objekt attribut neuerWert 329 wird vom Laufzeitsystem als Methodenaufruf uminterpretiert und bekommt damit den Charakter einer Botschaft Die Anderung selbst wird vom beauftragten Objekt gewisserma en in Eigenregie vollzogen Versetzen wir uns in die Situation eines Programmierers der eine solche Zuweisung im Rahmen ei ner Probleml sung formuliert Er oder sie verwendet zwei intuitive Modelle gleichzeitig Einerseits denkt er an eine Zuweisung also die unmittelbare Ver nderung des Zustandes eines passiven Objek tes Andererseits wei er oder sie um den Mechanismus der Interpretation von Zugriffen auf Properties und verwendet dabei die Intuition eines aktiven Objektes das a
374. n of Object Oriented Programming In Tauber M J Mahling D E Arefi F Hrsg Cognitive Aspects of Visual Languages and Visual Interfaces Amsterdam London New York Tokyo North Holland 1994 8 259 ff Thomas Marco 2003 Informatische Modelle zur Strukturierung von Anfangsunterricht In Peter Hubwieser Hrsg Informatische Fachkonzepte im Unterricht INFOS 2003 GI Fachtagung In formatik und Schule 17 19 September 2003 in Garching bei M nchen LNI 32 GI S 155 164 Tuzova Olga Katz Yekuda 2001 Logo Art Gallery http www geocities com CollegePark Lab 2276 2001 Zugriff am 1 Juli 2006 Ueno Naok 1993 Reconsidering P Prims Theory From the Viewpoint of Situated Cognition In Cognition and Instruction 10 3 S 239 ff Ueding Gert 2005 Klassische Rhetorik 4 Aufl M nchen Beck Uitenbroek Daan 2000 SISA Fisher Hilversum http home clara net sisa fisher htm Van der Veer Gerrit C 1994 Mental Models of Computer Systems Visual Languages in the Mind In Tauber M J Mahling D E Arefi F Hrsg Cognitive Aspects of Visual Languages and Visual Interfaces Amsterdam London New York Tokyo North Holland S 3 ff Vossenkuhl Wilhelm 1998 Verstehen verstehen In Kanitschneider amp Wetz Hrsg Hermeneu tik und Naturalismus T bingen Van Rossum Guido Yee Ka Ping 2001 terators PEP 234 30 1 2001 http www python org peps pep 0234 html Zugriff am 1 Mai 2006 Weigend
375. n sind schwierige intuitive Modelle Eine L sungsidee kann grunds tzlich f r eine direkte Implementierung ungeeignet sein Genauer gesagt sie kann Aspek te enthalten zu deren Implementierung der Person die programmiersprachlichen Konzepte fehlen Als Beispiel betrachten wir einen Ansatz zur L sung des Sortierproblems Als Einstieg in einer Unter richtsreihe k nnten Sch ler die Aufgabe erhalten sich der Gr e nach in einer Reihe an der Wand aufzustellen Eine intuitive L sungsgestalt Bubblesort ist Jeder sorgt daf r dass links neben ihm niemand steht der kleiner ist Fehlende Verbindungen von Programmkonstrukten und intuitiven Modellen in Probleml sungssituationen sollten eigentlich mit der PVS untersucht werden Manche Python Puzzles enthalten als Hilfesystem eine Reihe von visuellen Modellen die auf die Pr fung und Schaffung solcher Assoziationen abzielen Leider gab es in den bisherigen Workshops mit der PVS zu wenige Sitzungen mit Python Puzzles und darin eine zu geringe Nut zung der Hinweise um zu dieser Thematik irgendwelche Erkenntnisse zu gewinnen 140 Es ist unmittelbar einleuchtend dass eine Gruppe von Personen auf diese Weise nach der K rper gr e sortiert werden kann Angenommen jemand verwendet diese L sungsidee als paradigmatisches Modell f r die Sortierung einer Liste von Zahlen so stie e er oder sie auf massive Probleme Jede Zahl m sste durch einen eigenen Prozess repr sentiert werden
376. n und Beh ltern Die Zeiger n und a wandern ber den Listenbeh lter und zeigen nach und nach auf die Zettel in den F chern In der vierten Animation schlie lich wird eine Variante des Beh ltermodells f r Listen in Kombination mit Etiketten verwen ER za A A AT 4 ae n a personen YA s2reh 19 Anna 12 DZ je Sarah 9 Abb 23 Modelle f r eine Iteration ber eine Liste von Paaren Die Spieler sollten die Modelle als passend oder unpassend qualifizieren Tab 5 zeigt dass von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben die meisten alle vier Modelle akzeptierten Deutliche Bevorzugungen sind nicht zu beobachten Offenbar hat in diesem Beispiel die Konsistenz des Modells keinen Einfluss auf die Intuitivit t Das inkonsistente Modell 3 gibt eine typische Iteration im Alltag wieder Man durchsucht z B B cher im B cherregal Beh lter f r B cher indem man nacheinander einen Blick auf jedes Buch wirft Neuorientierung eines Zei gers ohne dabei irgendein Buch zu bewegen Bereits Grudin 1989 hat im Zusammenhang mit Benutzungsoberfl chen beobachtet dass es nicht immer auf die interne Konsistenz des konzeptuellen Modells ankommt Analogien zu Objekten der Realwelt sind h ufig wichtiger f r die Qualit t eines User Interfaces hinsichtlich Erlernbarkeit und intuitive Anwendbarkeit in neuen Situationen 65 n 68 Daue
377. n von Objekten arithmetic is manipulating objects Nat rliche Zahlen werden durch eine entsprechende Anzahl von Objekten repr sentiert negative ganze Zahlen durch L cher die man mit Objekten f llen ausl6schen kann oder Objekte aus Antimaterie 3 Soziale Transaktionen arithmetic is a social transaction Positive Zahlen stellt man sich als Besitz vor und negative Zahlen als Schulden Die Probanden u erten die Metaphern spontan Wenn im ersten Teil keine spontane Erkl rung kam sondern nur das Ergebnis genannt wurde fragte der Interviewer nur ein einziges Mal nach Be merkenswert sind folgende Ergebnisse Erwachsene verwendeten bei den Erkl rungen im zweiten Teil deutlich mehr Metaphern Mittel wert 7 0 Standardabweichung 2 7 als Kinder Mittelwert 2 25 Standardabweichung 0 35 Erwach sene verwendeten au erdem mehr unterschiedliche Metaphern und bevorzugten die beiden ersten Quelldom nen w hrend die Kinder fast ausschlie lich auf die Bewegungsdom ne zur ckgriffen Zur Erkl rung der Probleml sungen im ersten Teil der Untersuchung verwendeten genauer u er ten dagegen die Kinder mehr Metaphern Mittelwert 3 67 als Erwachsene Mittelwert 0 25 Die Verwendung multipler Intuitionen zeigte auch eine fr here Untersuchung von Chiu 1996 Er stellte 16 Sch lerinnen und Sch lern im Alter von 12 bis 14 Jahren die Aufgabe die L ngen verschie den geformter Wege zwischen zwei Punkten abzusch tzen E
378. n werden in Anhang 5 7 diskutiert 10 5 3 Modellierung von Zuweisungen durch Namenbewegungen Namenbewegungen finden statt wenn Daten als unver nderbare inerte Entit ten betrachtet wer den und bestimmte Datenentit ten durch Zuordnung eines neuen Namens markiert und damit in einen neuen Sinnzusammenhang gestellt werden Namenbewegungen erlauben einfache Modelle f r Iterationen ber Sequenzen und B umen Dabei wandert z B der Name des aktuellen Elementes ber die Entit ten der Kollektion Im Modell einer Suchoperation z B Suche nach einem Minimum in einer unsortierten Liste kann der most wanted holder bei einer Minimumsuche der kleinste bisher gefundene Wert vgl Sajaniemi 2002 durch einen weiteren beweglichen Namen gekennzeichnet werden Betrachten wir nun die Rolle von Namenbewegungen bei der Interpretation von Zuweisungen Abb 51 zeigt Screenshots aus Animationen der PVS die sich auf die beiden Anweisungen a 3 b a beziehen 1 Im ersten Modell pq_assign_al_9 schweben Karten mit Zahlen durch den Raum Ein Klebezettel mit Aufschrift a fliegt ins Bild bewegt sich zur Karte mit der Zahl 3 und bleibt an ihr kleben a 3 Ein zweiter Klebezettel mit Aufschrift b erscheint und heftet sich an den Zettel mit Aufschrift a Dieses Modell ist inkonsistent und wird vom System als ungeeignet bewertet weil einmal der Klebezettel als Name eines Datums 3 fungiert und das zweite Mal als Name eines Namen b als Name f
379. n zusammen Das gilt insbesondere f r das agile Programmieren z B Extreme Program ming Beck 1999 Hier f hlen sich Softwareentwickler Developers und Kunden Customers ge meinsam f r den Entwicklungsfortschritt verantwortlich Aufgrund der Heterogenit t der Gruppe spielt die Kommunikation intuitiver Modelle eine besondere Rolle In regelm igen Abst nden trifft sich das Team zu einem Planning Game Die Entwicklung beginnt mit einem einmaligen Release Planning Im ersten Schritt wird das Gesamtsystem durch ein einfaches intuitives Modell beschrieben Metapher genannt Dieses globale Modell wird nun entfaltet indem die Customers in sogenannten Stories umgangssprachlich die Aufgaben des Systems beschreiben Dabei zerlegen sie eine globale und diffuse Aufgabe in mehrere konkretere Teilaufgaben Dies ist insofern ein Probleml sungspro zess als die Summe der Teilaufgaben einen Weg zur L sung der Gesamtaufgabe darstellt Hinter jeder Story steckt ein intuitives Modell das innerhalb des Teams kommuniziert werden muss Dieses Mo dell wird in Gespr chen negotiations zwischen Kunden und Entwicklern gekl rt Ein wichtiger Punkt in diesen Verhandlungen ist die Sicherstellung der richtigen Komplexit t Eine Story muss einfach sein Man muss sie in wenigen Worten beschreiben k nnen Ist sie zu komplex wird sie gespalten F r jede Story spezifizieren die Kunden einen Set von Anwendungstests die das implementierte Pro grammfeature am End
380. n zwei Personen zusammen spielen entstehen eine objektive und zwei subjektive Sitzungen Allerdings wurden auf den Workshops mit der PVS in fast 90 der F lle Ein zelsitzungen beobachtet Nun kann ja eine Person eine PVS Applikation beliebig oft spielen In den Statistiken werden in der Regel nur die ersten subjektiven Sitzungen ausgewertet Insbesondere Python Quiz Applikationen wurden jedoch von einigen Sch lerinnen und Sch lern gerne mehrfach gespielt Des halb gibt es im Auswertungsdokument f r Python Quiz f r diese Vielspieler zus tzliche Statistiken die die Beobachtungen der ersten drei subjektiven Sitzungen darstellen 3 5 Python Visual 3 5 1 Dokumentation einer Session Die Merkmale eines Python Visuals IDs der Modelle Fragen zu den Modellen etc sind in der Datenbank gespeichert Relation description_pv In der Relation protocol_pv werden f r jede Session die Betrachtungszeiten der einzelnen Modelle festgehalten In der Relation protocol _ pv person sind f r jeden Spieler die Antworten niedergelegt Am Ende einer Session wird ein XML Paket an das Service Programm pv_service py ge schickt Es ist folgenderma en aufgebaut lt answers gt lt person a3 zahl3 a2 zahl2 al zahl1 id Nickname des Spielers gt lt times z5 zeit5 z4 zeit4 z3 zeit3 z2 40 z1 28 z0 21 gt lt game game pv mirror gt lt answers gt Beispiel lt answers gt lt person a3 1 a2 2 al
381. nd betrachtet ihn zweitens als benennbares geschlossenes Ganzes Jeder Plan ist mit einem Ziel verbunden Durch die Existenz eines Plans wird ein Ziel zum erreichba ren Ziel Hinter dem Plan steht ein intuitives Modell eine antizipatorische Intuition die eine L sungs idee repr sentiert also die L sung vorwegnimmt Man braucht einen Plan um berhaupt mit dem Programmieren anfangen zu k nnen Bei strukturierter Programmierweise wird h ufig eine verbale Bezeichnung eines Ziels oder Plans zur Benennung von Funktionen oder Klassen verwendet z B eine Funktion namens eingabe realisiert den Plan M glichkeiten zur interaktiven Eingabe von Daten zu schaffen GAP Trees sind ein Instrument der Analyse Sie geben aber nicht unbedingt den Probleml sungs prozess wieder Spohrer Soloway und Pope 1989 untersuchten die ersten lauff higen also syntak tisch korrekten Versionen von Programmen die Anf nger zu verschiedenen Aufgaben geschrieben haben Sie beobachteten dass die Teilnehmer zuerst vereinfachte Versionen schrieben und Teilziele weglie en Die fehlenden Elemente wurden als missing Fehler registriert Dies kann man so inter pretieren dass sie sich Gewissheit verschaffen wollten dass ihr als Ganzheit gedachter Plan reali sierbar ist Diese ersten Versuche kann man also als Teil einer Antizipation der L sung verbunden mit einer Reduktion auf gewisse essentielle Elemente sehen 3 3 3 Paradigmatische Modelle und Softw
382. nden das hei t mit der Tatsache dass ein Objekt in verschiedene soziale Kontexte eingebunden sein kann Im obigen Programmbeispiel wird ein Zahlenobjekt das zur Laufzeit ber die Tastatur eingegeben wird mit zwei unterschiedlichen Namen belegt Im Hauptprogramm repr sentiert es die Seitenl nge eines Quadrats Innerhalb der Definition der Funktion quadrat wird das gleiche Objekt durch den Namen n referenziert Hier wird das Objekt nicht mehr als Seitenl nge einer Fl che gesehen sondern als abstraktes mathematisches Objekt Es steht in einem anderen Kontext Man k nnte sagen es spielt eine andere Rolle Namensgebung ist mit der Spezifikation von Rollen verbunden und somit ein wichtiger Teil der Modellbildung siehe Abschnitt 13 1 Betrachtet man ein Programm als System von miteinander ver wobenen Minimodellen so wird ber Mehrfachbenennung ein und dasselbe Objekt zum Bestandteil mehrerer Minimodelle 6 6 Implizite Namen Unter impliziten Namen verstehen wir solche Namen die sich aus dem Kontext ergeben aber nicht explizit ausgesprochen werden Beispiele aus dem Alltag sind folgende e Eine Stecknadel auf einer Landkarte markiert einen Ort z B St dte die man schon einmal be sucht hat Tatorte von Bank berf llen im Zust ndigkeitsgebiet einer Kriminalkommission e Eine Unterstreichung markiert eine besonders wichtige Textstelle Abb 24 zeigt Screenshots verschiedener Animationen aus der Python Visual Sandbox die
383. nderson John R 1996 Kognitive Psychologie Heidelberg Berlin Oxford Spektrum Akademi scher Verlag Anderson John R 19962 ACT A Simple Theory of Complex Cognition In American Psycholo gist 51 4 S 355 365 Anderson John R Jeffries Robin 1985 Novice LISP Errors Undetected Losses of Information from Working Memory In Human Computer Interaction 1 S 107 131 Anderson John R Piroll Peter Farell Robert 1988 Learning to Program Recursive Functions In Chi M Glaser R Farr M Hrsg The Nature of Expertise Hilsdale USA S 153 184 Anderson John R Bothell Daniel Byrne Michael D 2004 An Integrated Theory of the Mind In Psychological Review 111 4 S 1036 1060 Anjaneyulu K S R Anderson John R 1992 The Advantages of Data Flow Diagrams for Begin ning Programming In Intelligent Tutoring Systems S 585 592 Arnheim Rudolph 1972 Anschauliches Denken K ln DuMont Schaumberg Anzai Y Uesato Y 1982 Learning Recursive Procedures by Middleschool Children In Proceed ings of the Fourth Annual Conference of the Cognitive Science Society Ann Arbor Michigan Aschwanden Christoph Crosby Martha 2006 Code Scanning Patterns in Program Comprehension In Symposium on Skilled Human Intelligent Agent Performance Mesurement Application and Symbiosis Hawaii International Conference on Systems Science Januar 2006 Kauai Hawaii Balzert Heide 1999 Lehrbuch der Obje
384. nds 5 92 seconds 4 10 seconds 10 61 3 96 2 34 Percentage of players who declared that the model is appropriate good judgements 65 85 percent 82 93 percent 75 61 percent Average confidence in good judgement standard deviation 9 26 1 81 8 68 3 09 9 19 2 61 Percentage of players who declared that the model is not appropriate bad judgements 34 15 percent 17 07 percent 24 39 percent Average confidence in bad judgement standard deviation 4 64 4 14 8 33 2 58 5 50 4 97 284 Judging Model pq_ assign a2 4 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a sheet with title representing the name As signments are visualized through writing words on it Time 8 seconds Concreteness 100 percent of names are used in the model today Monday Tuesday Wednes Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 70 2 96 Average watch time standard deviation 10 67 seconds 10 80 Number and percentage of players who declared that the model is appropriate good judgements 40 players 25 97 percent Average confidence in good judgement standard deviation 8 38 3 08 Number and percentage of players who declared that the model is not
385. nfidence in bad judgement standard deviation 7 22 3 92 7 63 3 86 8 10 3 88 276 Judging Model pq_assign_al_12 Associated program a 3 b a Description Variable a containing the value 3 is visualized by a pointer named a pointing to number 3 A second pointer b points to the ori gin of pointer a Time 5 seconds Concreteness 100 percent of names are used in the model b N DD DD D Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 86 2 46 Average watch time standard deviation 12 07 seconds 13 72 Number and percentage of players who declared that the model is appropriate good judgements 87 players 56 49 percent Average confidence in good judgement standard deviation 8 39 2 80 Number and percentage of players who declared that the model is not appropriate bad judgements 67 players 43 51 percent Average confidence in bad judgement standard 9 48 1 77 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 90 2 62 8 66 3 17 8 54 3 40 Average watch time standard deviation 13 90 seconds 19 10 5 00 seconds 2 58 4 16 seconds
386. ng der enthaltenen Elemente dargestellt Deren Zusammengeh rigkeit wird allein durch r umliche N he dargestellt Hier liegt der Fokus auf e L ckenlosigkeit Eine Liste hat keine Leerstellen Wenn ich ein Element entferne wird die entste hende L cke sofort geschlossen e Dynamische L nge Die L nge einer Liste kann sich w hrend der Verarbeitung ndern Die untere Darstellung betont dass bei Python die Liste ein nderbares Objekt ist F r ein und dasselbe Objekt k nnen mehrere Namen existieren Man beachte dass die Modelle eines Clusters in logischem Widerspruch zueinander stehen k nnen So kann in der Beh lterdarstellung der Liste sehr wohl eine L cke leeres Fach entstehen Clusterbildung tritt manchmal blitzschnell und kaum wahrnehmbar auf Ein Spezialfall von Clusterbildung ist die Verwendung von Kontrollmodellen Wenn man z B versucht sich die Arbeits weise eines Sortierprogramms klar zu machen zieht man in Gedanken viele Intuitionen heran und pr ft sie wechselseitig auf bereinstimmung und Widerspr chlichkeit e Die sortierte Liste muss genauso lang sein wie die unsortierte Liste e Das erste Element einer aufsteigend sortierten Liste ist immer das kleinste e Eine Liste mit einem Element ist immer sortiert Die Intuitionen eines Clusters brauchen nicht konsistent zu sein und sind es haufig auch nicht Di Sessa verwendet den Begriff scattered knowledge zur Beschreibung von Wissenstrukturen aus lo cke
387. ng hergestellt obwohl der Antworttext vorher schon existierte wie jemand mit freiem Text antwortet Ein Gegenstand der in einem Gesch ft ausgew hlt wurde kann durch diesen Akt zu einem Geburtstagsgeschenk also einer neuen Entit t werden 5 2 Vernichtungskonzepte im Alltag Im Alltag gibt es eine Reihe von Vorg ngen bei denen Information vernichtet wird 1 Als ung ltig markieren In einem Text kann man durch Einklammern oder Durchstreichen Passagen vernichten Ein Pass kann durch einen entsprechenden Stempelaufdruck f r ung ltig erkl rt werden Die Information bleibt aber immer noch lesbar 2 Vollst ndige Zerst rung ohne M glichkeit der Rekonstruktion Wenn man ein Schriftst ck verbrennt ist die gespeicherte Information endg ltig verloren sofern keine Kopien existieren 3 Verlust Daten werden von ihrem angestammten Platz an einen unbekannten Ort verschoben z B No tizzettel aus der Brieftasche herausnehmen und wegwerfen 4 L sen von Bez gen Dazu z hlt die Zerlegung eines informativen Aggregats in seine Teile z B Bl tter eines Manuskriptes durcheinander bringen als auch die Trennung eines Namens von der referierten In formationseinheit z B Herausfallen eines Lesezeichens aus einem Buch 5 Vergessen Vergessen ist die Vernichtung von Information ohne besondere mit der jeweiligen Infor mation zusammenh ngende Absicht Information wird vergessen wenn sie lange nicht mehr ver wendet worden
388. nge Generierung des Namens und Bestimmung des zugeh rigen Objektes durch eine andere Entit t Die PVS enth lt eine Applikation Python Visual What happens when a function returns so mething in der das Problem der R ckgabe einer Referenz thematisiert wird Gegeben ist ein Python Programm mit einer Multiliste Liste von Listen S 4 5 11 x min s x 0 10 print s Es liefert folgende Ausgabe auf dem Bildschirm 4 5 101 Das hei t die Funktion min gibt eine Referenz auf die kleinste Subliste letztes Element der in der zweiten Programmzeile der Name x zugeordnet wird In der dritten Zeile wird das erste und einzi ge Element dieser Liste berschrieben 84 Zur Erkl rung dieses Verhaltens und insbesondere des R ckgabemechanismus werden vier vi suelle Modelle angeboten In allen Modellen wird die Multiliste als Beh lter mit Beh ltern dargestellt Die Funktion stellen wir durch eine Box dar die die Liste mit Hilfe eines Sensors grauer Zeiger abtastet Die Modelle unterscheiden sich in der Art und Weise wie die Funktion ihr Ergebnis zu r ckgibt 1 Die Funktion holt aus ihrem Inneren eine Nadel mit einem Zettel der die Aufschrift x tr gt und setzt ihn auf den Beh lter der Unterliste mit dem kleinsten Inhalt Abb 37 oben links Das Modell ist in so fern unpassend als die Funktion den Namen x mit dem sie ein Objekt markiert ja gar nicht kennt 2 Die Funktion prod
389. nhalte umgef llt werden ist eine Analogie eine anschauliche Konkre tisierung des formalen Programmtextes Wie wir sp ter sehen werden kann es dabei vorkommen dass auf unzul ssige Weise Merkmale des modellierten Realit tsausschnitts in die Interpretation des Pro grammtextes einbezogen werden siehe Abschnitt 12 4 Alle Aufgaben verwenden diese Klassendefinition Bei den ersten drei Aufgaben soll der folgende Programmtext Zeile f r Zeile interpretiert werden bottle Container 0 7 bottle fill 0 4 bottle empty Bei der vierten und f nften Aufgabe geht es um die beiden letzten Zeilen des folgenden Pro gramms bottle Container 0 7 vase Container 1 5 bottle fill 0 4 vase fill bottle empty 122 Bei jeder Aufgabe ist ein St ck des Programmtextes mit einem gelben Hintergrund versehen und auf diese Weise optisch herausgehoben Die angebotenen visuellen Modelle sollen die Arbeitsweise dieser Programmpassage veranschaulichen Die nachfolgend verwendeten Daten zur Bewertung der Modelle als passend oder unpassend beziehen sich auf 23 erste Sitzungen im Rahmen von Workshops mit der PVS Teilnehmer waren 21 Sch ler ein Hochschulstudent und ein Lehrer darunter vier weib liche und 19 m nnliche Personen Das mittlere Alter betrug 18 4 Jahre und die w chentliche Zeit in der man sich mit Programmierung besch ftigte 3 2 Stunden weitere Details im Anhang 6 8 Wir vergleichen zun chst einige Modelle die die Insta
390. nis der Rechnung Mit A2 und B2 werden die Zellen refe riert die die Summanden enthalten Der Clou der Tabellenkalkulation ist nun dass die Namen A2 und B2 relative Adressen spezifizieren Gemeint sind eigentlich nicht die Zellen mit diesen Namen son dern die beiden Zellen links neben C2 also der Zelle mit der Formel Die Bedeutung der Formel ist eigentlich Addiere zum Inhalt der Zelle die sich in der gleichen Zeile und zwei Spalten links neben der aktu ellen Zelle befindet den Inhalt der Zelle die sich in der gleichen Zeile und eine Spalte links neben der aktuellen Zelle befindet Fahrtkosten Hotel Summe 100 39 75 00 175 391 25 3 120 00 145 30 45 69 56 20 101 89 Abb 70 Formel in einer Kalkulationstabelle Beim Kopieren wird diese abstrakte Version der Formel bertragen und dann in der Zielzelle wie der mit konkreten Referenzen wiedergegeben In der Zelle C3 erscheint z B A3 B3 Der entscheidende Punkt ist dass ein Anwender die Formel mit relativen Adressen nicht abstrakt sondern als Beispiel mit konkreten Zellennamen definiert Nun hat man bei jeder Beispielbildung im blichen Sinne die Freiheit aus mehreren eventuell unendlich vielen Konkretisierungsm glichkeiten eine auszuw hlen Im Fall der Tabellenkalkulation liegt die Freiheit allein darin aus der Menge von Zellen in denen eine gleichartige Rechnung ausgef hrt werden soll eine einzige f r die exemplari sche Formulierung der Formel a
391. nition handelt spielt nur ganz am Anfang eine Rolle wenn sie die Klausel class Geld notiert Beim eigentlichen Entwicklungsprozess hat sie immer ein konkretes Objekt vor Augen 6 7 Das Prototyp Konzept bei der Nutzung von Grafik Tools Das Prototyp Konzept wird auch bei der Arbeit mit vektororientierten Grafikwerkzeugen ange wendet Nehmen wir an Tom will eine Abbildung mit vielen Gesichtern anfertigen Dann zeichnet er zun chst ein Gesicht und f gt die Elementarobjekte Fl chen und Linien zu einer Gruppe zusammen Er hat damit einen Prototyp definiert Von diesem macht er viele Kopien und wandelt jede Kopie in Details ab Es entstehen viele Gesicht Objekte die zwar Familien hnlichkeit im Sinne Wittgensteins besitzen aber nicht Exemplare einer Klasse im aristotelischen Sinne mit gemeinsamen Eigenschaften sind Macromedia Flash ein System zur Definition visueller Applikationen ist zwar klassenorientiert unterst tzt aber auch und vor allem das Prototyp Konzept Ein Flash Film kann aus verschiedenen grafischen Objekten zusammengesetzt werden indem man sie aus einer Symbolbibliothek mit der Maus auf die Arbeitsfl che holt Technisch ist jedes Symbol eine Klasse und das Auf die 326 Arbeitsfl che holen kein Kopieren sondern die Instanzierung eines Objektes der Klasse Jede Instanz auf der Arbeitsfl che besitzt einen Instanznamen der z B von Bedeutung ist wenn man an das Objekt eine Botschaft schicken will Eine nachtr gliche V
392. niversity students 0 teachers 0 professors and 0 others Gender 2 female and 20 male persons Hours a week spent on programming standard de viation 4 23 hours 3 22 Roughly estimated experience in Python program ming standard deviation 83 59 days 110 33 Age standard deviation 17 36 years 1 43 Population of the town where the workshop took place Less than 100 000 10 100 000 to 500 000 7 more than 500 000 5 Country Germany 22 other country 0 220 Modell Description Function call is represented by an active element with grabs Only one recursive call is visualized Duration 22 seconds Concreteness 14 percent Average watchtime standard deviation 31 86 seconds 16 29 This model was evaluated in 22 first subjective sessions The following table shows the results Question votes percentage would you use to explain 3 13 64 represents the idea of a recursive function 2 9 09 most difficult to follow 8 36 36 Model 2 Description Function call is represented by an active element with grabs Full recursion depth Duration 38 seconds Concreteness 14 percent Average watchtime standard deviation 83 91 seconds 159 39 221 This model was evaluated in 22 first subjective sessions The following table shows the results Question votes percentage would you use to explain 7 31 8
393. nnen Wenn das zweite Element durch die Anweisung del s 1 gel scht wird bedeutet das z B nicht dass der zweite Zettel aus dem Beh lter entfernt wird Wer das intuitive Modell des Beh lters ange messen verwendet kennt also erstens das Modell und alle relevanten Situationen in denen man es nicht verwenden darf D h er oder sie kennt potentielle Fehlvorstellungen die mit dieser Intuition verbunden sind 22 2 Repr sentation intuitiver Modelle In diesem Kapitel richten wir das Augenmerk auf Fragen der Repr sentation eines intuitiven Mo dells Wir betrachten ein intuitives Modell als immateriales gedankliches Konzept das auf verschiede ne Weise repr sentiert werden kann Die Repr sentation ist physisch existent und der Wahrnehmung durch die Sinne zug nglich Sie kann aufgeschrieben gemalt gedruckt gefilmt d h in irgendeiner Form auf einem physischen Medium gespeichert werden Nur ber eine physische Repr sentation kann ein Modell externalisiert kommuniziert und archiviert werden vgl auch Ueno 1993 Es macht Sinn zwischen dem Modell und seiner physischen Repr sentation zu differenzieren weil letztere eine gewisse Beliebigkeit und Variabilit t aufweist w hrend das intuitive Modell dauerhaft ist Anders herum kann man auch sagen dass die Annahme einer dauerhaften Intuition allein die Schlussfolge rung eines Beobachters ist der im Verhalten einer Person gewisse Regelm igkeiten ber die Zeit feststellt Beobachtbar sind a
394. ns who played three times or more 2 persons Some general information about the players of this category who played the game at least once Professions 68 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 12 female and 56 male persons Hours a week spent on programming standard de viation 3 81 hours 5 96 Roughly estimated experience in Python program ming standard deviation 91 63 days 138 80 Age standard deviation 17 15 years 2 12 Population of the town where the workshop took place Less than 100 000 13 100 000 to 500 000 9 more than 500 000 46 Country Germany 41 other country 27 Some general information about the players of this category who played the game at least three times Professions 2 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 1 female and 1 male persons Hours a week spent on programming standard de viation 1 50 hours 2 12 Roughly estimated experience in Python program ming standard deviation 136 50 days 188 80 Age standard deviation 17 00 years 1 41 Population of the town where the workshop took place Less than 100 000 0 100 000 to 500 000 0 more than 500 000 2 Country Germany 1 other country 1 242 Task 1 Judging Model pq_list_al_1 Associated program result Descr
395. nspsychologie In der kognitiven Psychologie unterscheidet man im Zusammenhang mit der gedanklichen Repr sentation von Begriffen Exemplartheorien und Abstraktionstheorien Anderson 1996 S 160f Abstraktionstheorien orientieren sich am aristotelischen Kategorienkonzept nach dem Objekte auf der Basis gemeinsamer Merkmale zusammengefasst werden Zum Beispiel geh ren Lebewesen die zwei Beine Fl gel und einen Schnabel besitzen zur Kategorie V gel Aristoteles ging von der Annahme einer einzigen korrekten Taxonomie der Dinge aus Er glaubte es existierten universelle Regeln nach denen die Welt geordnet ist und die der Philosoph nur noch zu entdecken braucht Dies wurde erstmals im 19 Jahrhundert von den britischen Philosophen Whewell und Jevons ange zweifelt Sie betonten dass Klassifizierung kein mechanischer Prozess ist der sich an universellen Regeln orientiert sondern Kreativit t erfordert Taivalsaari 1997 In seinen ber hmten Philosophischen Untersuchungen im Jahre 1953 erstmals ver ffentlicht nannte Ludwig Wittgenstein Beispiele f r Ph nomene die man zwar durch einen Begriff aber nur schwierig oder gar nicht durch gemeinsame Eigenschaften charakterisieren kann Ein viel zitiertes Beispiel ist der Begriff Spiel H chst unterschiedliche Aktivit ten die teilweise nichts Gemeinsa mes haben werden als Spiel bezeichnet Wittgenstein definierte den Begriff Familien hnlichkeit Da nach wird die Zugeh rigkeit z
396. ntale Modelle wurden zum ersten Mal von dem schottischen Psychologen Kenneth Craik 1943 postuliert Johnson Laird 1983 erkl rt logisches Schlie en insbesondere die berpr fung der G l tigkeit kategorialer Syllogismen mit seiner Theorie mentaler Modelle Insbesondere im Zusammenhang mit Computern wird gelegentlich zwischen konzeptuellen Model len und mentalen Modellen differenziert W hrend ein mentales Modell eine eventuell unbewusste gedankliche Leistung eines Individuums ist z B die Vorstellung eines Computernutzers ber die Arbeitsweise eines Computers ist ein konzeptuelles Modell von Experten Lehrer Wissenschaftler Softwareentwickler etc bewusst gestaltet Es stellt eine fachlich akzeptable Repr sentation eines Zielsystems dar d h es ist Expertenwissen Dagegen k nnen mentale Modelle die Personen im Um gang mit Informatiksystemen heranziehen auch unangemessen sein und im Widerspruch zum Wis senstand der Fachgemeinschaft stehen Fehlvorstellung Konzeptuelle Modelle dienen als Grundlage f r das professionelle Design von Softwaresystemen oder die Gestaltung von Medien und Aktivit ten f r den Unterricht Wu et al 1998 Inhaltlich unterscheiden sich mentale Modelle und konzeptuelle Modelle nicht Im Unterricht oder in Handb chern verbreitete konzeptuelle Modelle werden oft von den Rezipienten bernommen und sind dann deren mentale Modelle Selbst Fehlvorstellungen k nnen von P dagogen expliziert und in L
397. nternet abgerufen werden und auf dem Client Rechner ausgef hrt werden e Dienstprogramme Python Skripte die auf einem zentralen Server laufen Client Server XML CGI Python Visual Python Puzzle Python Quiz Interaktive HTML Seiten Registrierung der Spieler Verwaltung von Gruppen Highscore Anfrage Python Skripte Login Verwaltung Protokollverarbeitung MySQL Datenbank statistische Auswertung Highscore Activity Report Abb 9 Aufbau der Python Visual Sandbox Ein weitergehende Diskussion der PVS als webbasiertes Spiel findet man in Weigend 2006c 47 Client Herzst ck der PVS ist eine Sammlung interaktiver multimedialer Spiele Python Visual Python Puzzle und Python Quiz die ber den Web Browser aufgerufen werden Diese Applikationen f hren ein Protokoll ber die Benutzeraktionen w hrend einer Sitzung und senden die Daten an ein Dienst programm auf dem Server das die jeweilige Session in der Datenbank dokumentiert Vor der ersten Nutzung der PVS muss sich ein Spieler auf einer HTML Seite mit Formular regist rieren Sie oder er spezifiziert einen Nickname ffentlich und ein Passwort geheim und macht fol gende Angaben zur Person Geschlecht Alter Beruf Zeit die sie oder er w chentlich mit Program mieren verbringt Die Webseite ist mit einem Service Skript verbunden das die Daten in die Datenbank eintr gt In einem zweiten Verwaltungsbereich HTML Seiten mit Formul
398. ntspannte Spielhaltung Scheuerl einzu nehmen 4 3 2 Lernen mit der PVS Empirische Untersuchungen in der Schule sind besser zu rechtfertigen wenn f r die beteiligten Sch lerinnen und Sch ler Profit in Form von Lernerfahrung herausspringt Deshalb wurde die PVS auch als Lernwerkzeug konzipiert das im Unterricht eingesetzt werden kann Lernziele betreffen na t rlich vor allem intuitive Modelle f r Konzepte der Informatik e Erweiterung des Repertoires an intuitiven Modellen und Metaphern und damit verbunden eine Verbesserung der Kommunikationsf higkeit e Unbewusste Intuitionen werden durch Visualisierungen expliziert und ins Bewusstsein gerufen e Intuitive Vorstellungen werden reflektiert und Fehlvorstellungen aufgedeckt Die Python Puzzles bieten zus tzlich die Gelegenheit metakognitive Kompetenzen zu ben die f r eine Softwareentwicklung und andere Bereiche des Lebens wichtig sind wie z B Zeitmanagement Selbstbeobachtung Verwendung visueller Modelle die eine L sungsidee repr sentieren und Strate gien des Probleml sens Unterrichtsmethodisch kann die PVS zum individuellen ben oder als Vorbereitung einer Ple numsdiskussion ber intuitive Modelle eingesetzt werden 4 3 3 berblick ber den technischen Aufbau der Python Visual Sandbox Die PVS ist ein Client Server System und besteht aus folgenden Komponenten siehe Abb 9 e Flash Applikationen und interaktive HTML Seiten die mit einem Web Browser ber das I
399. ntuitivit t verloren Man ist sich zwar sicher dass der Plan irgendwie realisierbar ist aber bei der Festlegung der Ziele wird man spezifischer und unsicher ob die aufgelisteten Ziele in ihrer Summe den bergeordneten Plan wirklich vollst ndig beschreiben Viel leicht hat man ein Detail vergessen Bonar und Solway 1985 beobachteten bei programmierenden Sch lern Explizierungsl cken Sie verwendeten bei Programmier bungen die Programmiersprache als w re sie nat rliche Sprache Ein Beispiel ist die Verwendung einer Anweisung der Art sum sum i in einer for Schleife als Realisierung der umgangssprachlichen Anweisung Addiere den nachsten Wert zur Summe Dabei wurde unterschlagen dass der n chste Wert erst noch gelesen werden 19 Moser 2003 beschreibt Workshops in denen ber eine Analyse von Metaphern wie z B Wissen als Biblio thek oder Wissen als umk mpfter Schatz in Gruppendiskussionen implizites unbewusstes Wissen der Teil nehmer ber eine Dom ne expliziert und bewusst gemacht wird 139 muss Die Variable i wird einfach als Beh lter f r den n chsten Wert gesehen Die umgangssprachli che Darstellung verk rzt das Procedere um das Einlesen Werfen wir einen genaueren Blick auf die kognitiven Prozesse bei der Analyse einer antizipatori schen L sungsidee Eine wesentliche Aktivit t ist dabei die Suche nach Elementen die man mit pro grammiersprachlichen Mitteln beschreiben kann Ein
400. nweisungen oder gar eine Prozedur schreibt die die Turtle ein Rechteck auf den Bildschirm zeichnen l sst bringt es damit ein mentales Modell eines Rechtecks zum Ausdruck Dieses Modell basiert auf Bewegung Ein Rechteck entsteht n mlich wenn man x Schritte vorw rts dann sich um 90 nach rechts dreht dann y Schritte vorw rts geht dann sich um 90 nach rechts dreht usw Kritische Punkte sind der Drehwinkel von 90 und die Tatsa che dass die erste und die dritte sowie die zweite und vierte Vorw rtsbewegung also die gegen ber liegenden Seiten gleich lang sein m ssen Sonst sieht das Ergebnis nicht wie ein Rechteck aus Wenn man dagegen ein Rechteck mit einem Geodreieck konstruiert verwendet man andere Intuitionen Hier ist vor allem von Bedeutung dass gegen ber liegende Seiten parallel sind 26 In manchen Details weicht die Turtle jedoch vom Objektkonzept ab Insbesondere das Dazulernen ist unty pisch f r Objekte im Sinne des OOP Hier sind Objekte in der Regel Instanzen von Klassen in denen die Metho den bereits vollst ndig beschrieben sind Balzert 1999 174 Als Beispiel einer Mikrowelt die prim r nicht computerbasiert ist sei auf die dynamischen Laby rinthe DL von Inge Schwank hingewiesen Schwank 2003 2005 Die Bezeichnung Labyrinth ist allerdings etwas irref hrend denn es gibt keine Wegegabelungen mit Entscheidungsfreiheit und man kann man sich nicht verlaufen Im Gegenteil Es ist sogar ein wichtiges St
401. nzierung eines Objektes der Klasse Contai ner in der Anweisung bottle Container 0 7 visualisieren 1 Das erste Modell pq_objects_al_2 visualisiert die Klasse Container als Tablett mit einem Vorrat an Flaschen unterschiedlicher Gr e dar Dem Klassenobjekt wird von oben ein Zettel mit Aufschrift 0 7 bergeben Ein Manipulatorarm ergreift diesen Zettel legt ihn ab sucht eine Karaffe passender Gr e heraus und gibt sie zur ck In diesem Modell produziert die Klasse also kein Objekt sondern die Instanzierung wird als Auswahl aus einem Vorrat dargestellt Abb 55 erstes Bild 2 Die zweite Animation pq_objects_al_3 verwendet die Fabrikmetapher und stellt die Klasse Contai ner als Box mit der Aufschrift Container dar Ein Zettel mit der Zahl 0 7 schwebt ins Bild aus der Box kommt ein Manipulatorarm und ergreift den Zettel Die Box generiert eine Flasche Objekt der Klasse Container die die Box verl sst und an die ein Zettel mit dem Namen bottle geheftet wird 3 Das dritte Modell pq_objects_al_6 basiert ebenfalls auf dem Herstellungskonzept Allerdings wird die Instanzierung eines Objektes als Ereignis durch einen Blitz mit Beschriftung Container dar gestellt Die Klasse selbst wird nicht als eigenst ndige Entit t veranschaulicht Ein Zettel mit Auf schrift 0 7 schwebt ins Bild Mit einem Blitz verschwindet der Zettel und stattdessen ist eine Glaska raffe zu sehen An sie wird ein Zettel mit dem Namen bottle gehefte
402. o nen ein 5 4 Allmachtige Steuerungsentit t monoaktive Systeme Manche intuitiven Modelle implizieren eine bergeordnete Entit t die willk rlich die anderen Objekte ver ndern kann Diese allm chtige Entit t ist dann der einzige Akteur die anderen Entit ten sind passiv und warten auf Manipulationen von oben Ein Beispiel f r eines solches Modell ist die Visualisierung der Auswertung eines arithmetischen Terms durch sukzessive Ersetzungen Zuerst sieht man einen komplexen Term in dem nach und nach Teile wie von Geisterhand ersetzt oder entfernt werden 2 1 4 S 4 3 4 12 In einer Animation kann die allm chtige Entit t auch explizit visualisiert werden etwa durch einen Greifer der von oben ins Bild kommt und Objekte manipuliert oder auch nur implizit enthalten sein 58 Im obigen Beispiel ist sie implizit vorhanden weil man die Ausl sung einer Ver nderung Ersatz ei nes Subtermes keinem anderen Objekt des Systems zuordnen kann Im Metaphernsystem von Lakoff und N nez gibt es f r jede Dom ne einen mathematical agent der alle Aktionen vornimmt Wenn zum Beispiel arithmetische Operationen als Manipulation von Objekten konzeptionalisiert werden ist der mathematical agent der Akteur der Objekte verschiebt F r die Addition 2 3 k nnte er z B zwei pfel und drei pfel zu einer Kollektion von f nf pfeln zusammenlegen Lakoff amp Nunez 1997 S 33 Monoaktiv sind auch die einfac
403. obleml sen n tzlich sein Wer wei dass man eine Zu weisung der Form x 2 auch als Markierung eines Objektes interpretieren kann dem sollte es leichter fallen ein abstrakteres intuitives Modell f r eine Iteration ber eine Liste das Markierungen verwendet springende Markierung auf einem Beh lter mit F chern aufzubrechen Diese Person kommt dann eher auf die Idee f r die Markierung eine Variable Name f r einen Listenindex einzu f hren Atomare Modelle auf gleichem Abstraktionsniveau wie das modellierte Konstrukt sind die Basis von didaktisch durchdachten Quelldom nen f r Metaphern die in der Mathematik bereits eine lange Tradition haben siehe Abschnitt 2 3 2 Automatische Visualisierungssysteme wie die Jeliot Familie Moreno amp Myller 2003 verwenden zusammenpassende Sets atomarer Modelle um die Arbeitsweise von Programmen zu veranschaulichen Ein Visualisierungssystem ist von Fachdidaktikern designt Den verwendeten Modellen liegt eine von der Fachgemeinschaft akzeptierte Interpretation von Kon strukten der Bezugs Programmiersprache zugrunde Typische Aktivit ten im Klassenraum sind 143 e Lernen neuer Sprachelemente Die Lehrperson demonstriert die Wirkungsweise eines neu einge f hrten Programmkonstrukts Die Ausf hrung des Programmtextes kann mit Hilfe des Modells nachvollzogen werden e Debugging Wenn ein Programm semantische Fehler enth lt kann eine kritische Passage Schritt f r Schritt n
404. odelliert der das Eti kett 1 tr gt und als Inhalt einen Zettel mit der Aufschrift x erh lt In Workshops mit der PVS zeigte sich dass manche Spieler nicht alle Systembewertungen die mit Punktverlust verbunden waren hinnahmen und in Einzelf llen sogar aggressiv reagierten Um das Risiko eines derartigen Abr ckens von einer gelassenen spielerischen Attit de im Sinne von Scheu erl zu verringern k nnte man bei zuk nftigen Entwicklungen weitere Fantasieelemente in Quiz hnliche Applikationen einbauen Beispielweise k nnte man die Figur eines Schiedsrichters integrie ren der zwar fehlbar ist aber dessen Entscheidungen man wie beim Fu ball dennoch akzeptieren muss 4 7 2 Dokumentation einer Session Wie bei Python Puzzle wird zu Beginn einer Session ein XML Paket an ein Service Programm ge schickt das einen Datensatz f r die Beschreibung der Session angelegt als Spieldauer 0 Sekunden und als erreichte Punktzahl 200 eintr gt um vorzeitigen Spielabbruch unattraktiv zu machen Am Ende einer Session wird ein XML Paket mit dem Sessionprotokoll Beurteilungen der gezeigten Modelle 54 gesetzte Punktzahl und Entscheidungszeiten an ein zweites Service Programm gesendet das die Da tenbank aktualisiert 4 7 3 Schlussfolgerungen zur Intuitivit t von Modellen Aus dem Verhalten der Spieler kann man ablesen in welchem Ma sie die dargestellten Modelle als intuitiv empfinden 1 Geschwindigkeit der
405. ogrammen sind h ufig kleine Beispielprogramml ufe die die algorithmi sche Idee repr sentieren Daten die von dem Programm verarbeitet werden sind austauschbar und kommen im zu interpretierenden Programmtext unter Umst nden gar nicht vor Eine M glichkeit die Intuitivit t eines Modells zu verbessern ist die Verwendung von vertrauten kognitiv gut zug nglichen Objekten zur Repr sentation von Daten Wir nennen sie fig rliche Ansich 73 ten Ein Beispiel ist wenn man zur Visualisierung eines Sortieralgorithmus Figuren unterschiedlicher Gr e als Platzhalter f r Zahlen Tupel oder andere Daten verwendet Abb 27 sl E J a amp Abb 27 Figuren als Platzhalter fiir Zahlen 7 4 Nichts Ein besonderes Thema im Zusammenhang mit der Repr sentation von Daten ist die Repr sentation des Nichts Leere Objekte k nnen in verschiedenen Zusammenh ngen eine wichtige Rolle spielen e Eine Prozedur kann als Funktion aufgefasst werden die ein leeres Objekt bei Python das Objekt None zur ckgibt Andererseits gibt eine Funktion die nicht terminiert auch nichts zur ck doch dieses Nichts kann nicht durch ein Objekt materialisiert werden e Leere Objekte z B Listen Dictionaries oder Mengen werden bei der Initialisierung eines Con tainers verwendet in dem z B in einer Iteration bestimmte Daten gesammelt werden e F r eine leere Zeichenkette gibt es keine eindeutige Ansicht Sie kann nur durch ein Literal z
406. ointer Successive assignments are visual ized by accumulated pointers fan pointing to several data objects Time 6 seconds Concreteness 100 percent of names are used in the model ram Tuesday Wednesday Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 8 47 3 10 Average watch time standard deviation 11 38 seconds 24 53 Number and percentage of players who declared that the model is appropriate good judgements 59 players 38 31 percent Average confidence in good judgement standard deviation Number and percentage of players who declared that the model is not appropriate bad judgements 8 81 2 84 95 players 61 69 percent Average confidence in bad judgement standard 8 26 3 24 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 56 4 05 8 88 2 65 8 54 3 40 Average watch time standard deviation 9 63 seconds 5 78 5 05 seconds 2 58 3 73 seconds 1 99 Percentage of players who declared that the model is appropriate good judgements 43 90 percent 19 51 percent 7 32 percent Average confidence in good judgement standard 7 78 4 28 7 50
407. oints 0 to 10 representing the player s confidence standard deviation 8 29 3 47 9 00 2 82 8 66 3 36 Average watch time standard deviation 7 44 seconds 4 98 5 80 seconds 3 87 4 44 seconds 5 62 Percentage of players who declared that the model 75 61 percent 90 24 percent 80 49 percent is appropriate good judgements Average confidence in good judgement standard 9 03 2 39 9 19 2 50 9 55 1 92 deviation Percentage of players who declared that the model is not appropriate bad judgements 24 39 percent 9 76 percent 19 51 percent Average confidence in bad judgement standard deviation 6 00 5 16 6 67 5 77 5 00 5 35 281 Judging Model pq_assign_a2_1 Associated program today Monday today Tuesday today Wednesday Description A Variable is represented by a container To visualize 3 successive assign ments 3 cards move into the container without destruction of former content Time 6 seconds Concreteness 100 percent of names are used in the model Wednesday Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 86 2 71 confidence standard deviation Average watch time standard deviation 7 92 seconds 4 65 Number and percentage of players who declared that the model is appropriate good judgements 54 players 35 06 percent
408. olle Steuerung 93 9 1 Handhabung von Kontrolle Kontrollfluss und Kontrolliibergabe 93 9 2 Anweisungssequenzen 93 9 3 Bedingte Anweisungen 94 9 3 1 Verzweigung des Kontrollflusses 94 9 3 2 Kontrolle von Datenfl ssen Datenweichen und Datensperren 95 9 3 3 Ereignismodell Steuersignale 95 9 4 Iterationen datengesteuerte Wiederholungen 95 9 5 Wiederholungen mit nicht antizipierbarem Ende 97 9 5 1 Kontrollierte Wiederholung einer holistischen Aktivit t 98 9 5 2 Schleifen 99 9 6 Rekursion 99 9 6 1 Rekursion als Schleife 100 9 6 2 Rekursion als Selbstaufforderung 100 9 6 3 Fehlerhafte Verwendung des Modells der Selbstaufforderung 101 9 6 4 Delegationsmodell 102 9 6 5 Protokoll Modelle f r rekursive Algorithmen 102 9 6 6 Schema einer rekursiven Funktion und Dedynamisierung 102 10 Verarbeitung 105 10 1 Entstehen 105 10 1 1 Entstehen von Daten 105 10 1 2 Entstehung von Namen 105 10 2 Vernichtung 105 10 2 1 Implizite Vernichtung bei Zuweisungen 105 10 2 2 Sukzessive Zuweisungen ohne Vernichtung 107 10 2 3 Totale Vernichtung 108 10 3 Ver nderung Metamorphose 108 10 3 1 Datenumwandlungen 109 10 4 Namenumwandlungen 109 10 5 Bewegen 110 10 5 1 Bewegung von Daten 110 10 5 2 Modellierung von Zuweisungen durch Datenbewegung 111 10 5 3 Modellierung von Zuweisungen durch Namenbewegungen 112 11 Klassen 117 11 1 Intuitive Modelle in der Objektorientierten Programmierung 117 9 11 2 Klassenbegriff 11 3 Klasse als Bauplan 11 4 Klass
409. on Visualisierungsexperimenten mit Sch lern bedacht werden Besser als ein einmaliger Individualtest wie bei van der Veer erscheint deshalb die 45 Integration derartiger Aktivit ten in den Unterricht und zwar so dass Dazulernen erm glicht wird Im Juni 2006 habe ich mit 73 Sch lerinnen und Sch lern einer Wittener Gesamtschule Grundkurse Informatik 11 2 und 12 2 eine Reihe von Visualisierungs bungen durchgef hrt Die Aufgabe war mit Bleistift und Papier ein Storyboard zu entwickeln das die Ausf hrung eines kurzen Java Programms visualisiert Die meisten der Sch ler haben dann sp ter auf der Basis ihrer Storyboards Flash Animationen erstellt Die Sch ler konnten an Gruppentischen zusammenarbeiten und Ideen austau schen Es sollte aber jeder seine eigene subjektive Vorstellung zu Papier bringen Wie in Arnheims bungen wurden die Sch ler au erdem ermuntert zu einer Aufgabe mehrere L sung zu zeichnen Aufgaben und Arbeitsbl tter finden sich in Anhang 3 1 4 3 Die Python Visual Sandbox Die Python Visual Sandbox PVS ist eine Sammlung von interaktiven Online Applikationen Spielen mit insgesamt etwa 150 Animationen die informatische Konzepte veranschaulichen Im Unterschied zu freien Visualisierungs bungen siehe voriger Abschnitt werden hier vorgefertigte Repr sentationen intuitiver Modelle vorgef hrt von denen vermutet wird dass sie Sch lerinnen und Sch lern bewusst oder unbewusst verwenden Die PVS setzt darauf
410. on als Anlass f r eine Plenumsdiskussion ber die dargestellten Modelle verwendet werden Typischerweise werden in einer solchen Diskussion folgen de Punkte angesprochen e Warum wird Modell X von den meisten abgelehnt Inwiefern ist dieses Modell X ungeeignet oder gar falsch e Die meisten w rden Modell X oder Modell Y verwenden um die Arbeitsweise des Programms zu erkl ren Vergleichen wir diese beiden Modelle Was unterscheidet sie Was spricht jeweils f r das eine oder das andere Modell e Warum k nnen sich die meisten an Modell X besonders gut erinnern Warum kann man sich be stimmte Modelle besonders gut merken In einer solchen Diskussion reflektieren die Teilnehmer die Verwendung intuitiver Modell zur Er kl rung und zum Verstehen von Programmtexten Teaching with the Python Visual Sandbox home Evaluation of Changing lists All sessions of group PVS Seminar Diesel Gymnasium Augsburg Number of evaluated sessions 18 Model 1 Question 1 Question 2 Question 3 would you use to do you when you explain remember best imagine the execution of the script E L E u 11 percent 6 percent 11 percent duration 6 sec watched 27 sec Abb 95 Gruppenbezogene Auswertung eines Python Visuals Ausschnitt 3 4 2 Wissenschaftliche Auswertung Zur statistischen Auswertung enth lt die PVS f r jeden Typ Python Visual Python Puzzle und Python Quiz ein Auswertungswerkzeug das ber das Internet erreichbar is
411. on and Discovering New Errors In ACM SIGCSE 2000 S 305 309 Gamma E Helm R Johnson R Vlissides J 1995 Design Patterns Elements of Resuable Ob Ject Oriented Software Reading MA Addison Wesley Ginat David 2001 Misleading Intuition in Algorithmic Problem Solving In ACM SIGCSE Bulletin 2001 S 21 25 G tschi Tina 2003 Mental Models of Recursion Masterarbeit an der Faculty of Science der Univer sity ofthe Witwatersrand Johannisburg Griffith A K Preston K P 1992 Grade 12 students misconceptions relating to fundamental char acteristics of atoms and Molecules In Journal of Research in Science Teaching 29 S 611 628 153 Greening Tony 1997 Examining Student Learning of Computer Science In ACM SIGCSE 1997 S 63 66 Grudin J 1989 The case against user interface consistency In Communications of the ACM 32 10 1989 S 1164 1173 Haberlandt Karl 1994 Cognitive Psychology Boston London Toronto Sydney Tokyo Singapore Allyn and Bacon Hammer David 1996 Misconceptions or P Prims How May Alternative Perspectives of Cognitive Structures Influence Instructional Perceptions and Intentions In Journal of the Learning Sci ences 5 2 S 97 128 Henriksen Poul K lling Michael 2004 Greenfoot Combining Object Visualization with Interac tion In Companion to the 19 annual ACM SIGPLAN conference on Object orented program ming systems languages and applications
412. onds 12 34 5 28 2 56 Percentage of players who declared that the model 80 49 percent 92 68 percent 85 37 percent is appropriate good judgements Average confidence in good judgement standard 8 33 2 70 8 95 2 37 8 86 2 99 deviation Percentage of players who declared that the model is not appropriate bad judgements 19 51 percent 7 32 percent 14 63 percent Average confidence in bad judgement standard deviation 6 88 4 58 5 00 5 00 7 50 4 18 269 Judging Model pg_assign_al_6 Associated program a 3 b a Description Variables are represented by containers containing cards A copy of the name sign a goes into container b Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 44 2 94 confidence standard deviation Average watch time standard deviation 10 50 seconds 7 75 Number and percentage of players who declared that the model is appropriate good judgements 98 players 63 64 percent Average confidence in good judgement standard deviation 8 72 2 41 Number and percentage of players who declared that the model is not appropriate bad judgements 56 players 36 36 percent Average confidence in bad judgement standard 7 95 3 67 deviation Total number of pers
413. onfidence in bad judgement standard deviation 5 00 3 54 Judging Model pq_ objects al 1 Associated program bottle Container 0 7 Description Inappropriate visualization of the instantiation of an object a bottle During the instantiation the class object has been detroyed Time 6 seconds Concreteness 100 percent of names are used in the model 293 Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 14 2 99 Average watch time standard deviation 21 67 seconds 35 51 Number and percentage of players who declared that the model is appropriate good judgements Average confidence in good judgement standard deviation 17 players 80 95 percent 6 76 3 03 Number and percentage of players who declared that the model is not appropriate bad judgements 4 players 19 05 percent Average confidence in bad judgement standard deviation 8 75 2 50 Task 2 Judging Model pq_objects_a2_1 Associated program bottle fi11 0 4 Description Visualization of the message bottle fill 0 4 using two entities for the method and argument The method is sent to the bottle and the argument to a filling device Time 14 seconds Concreteness 50 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 represen
414. ons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 17 3 31 8 29 3 28 8 41 3 25 Average watch time standard deviation 10 59 seconds 7 03 7 20 seconds 3 63 6 37 seconds 2 75 Percentage of players who declared that the model 51 22 percent 41 46 percent 24 39 percent is appropriate good judgements Average confidence in good judgement standard 8 81 2 18 7 94 3 56 9 00 2 11 deviation Percentage of players who declared that the model is not appropriate bad judgements 48 78 percent 58 54 percent 75 61 percent Average confidence in bad judgement standard deviation 7 50 4 14 8 54 3 12 8 23 3 55 270 Judging Model pq assign al_5 Associated program a 3 b a Description Variables are represented by containers containing cards A copy of the card in a migrates to b Time 6 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s 8 77 2 76 confidence standard deviation Average watch time standard deviation 9 06 seconds 7 39 Number and percentage of players who declared that the model is appropriate good judgements 133 players 86 36 perc
415. ons 15 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 3 female and 12 male persons Hours a week spent on programming standard de 2 33 hours 2 44 viation Roughly estimated experience in Python program 223 00 days 164 75 ming standard deviation Age standard deviation 18 20 years 1 21 Population of the town where the workshop took place Less than 100 000 4 100 000 to 500 000 8 more than 500 000 3 Country Germany 15 other country 0 Model 1 Description Sorting by straight selection and exchanging places actual elements of the list are marked by lifting Duration 23 seconds Concreteness 9 percent Average watchtime standard deviation 40 27 seconds 21 86 This model was evaluated in 15 first subjective sessions The following table shows the results Question votes percentage would you use to explain 9 60 00 do you remember best 5 33 33 when you imagine the execution of the script 7 46 67 215 Model 2 Description Sorting by straight selection and exchanging places actual elements of the list are marked by post its i j Duration 21 seconds Concreteness 27 percent Average watchtime standard deviation 31 53 seconds 43 67 This model was evaluated in 15 first subjective sessions The following table shows the results Question votes percentage
416. ood judgement standard deviation 7 29 3 90 Number and percentage of players who declared that the model is not appropriate bad judgements 33 players 48 53 percent Average confidence in bad judgement standard 7 88 3 76 deviation Judging Model pq list a2 5 n a _ Associated program for n a in persons Description Visualization of an iteration pe using a pointer model for the list and the itera tion variable The pointer of the iteration vari able moves Concreteness 100 percent of names are used in the model ne a Time 4 seconds 249 Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 03 4 19 Average watch time standard deviation Number and percentage of players who declared that the model is appropriate good judgements 27 22 seconds 93 78 42 players 61 76 percent Average confidence in good judgement standard deviation 6 19 4 25 Number and percentage of players who declared that the model is not appropriate bad judgements 26 players 38 24 percent Average confidence in bad judgement standard deviation 5 77 4 17 Judging Model pq list a2 4 Associated program for n a in persons Description Visualization of an iteration using a container model for the list and the iteration variable Copies of cards with tupl
417. opriate visualization of the message bottle empty by an oval moving to a bottle When it hits the bottle both vanish Time 5 seconds Concreteness 100 percent of names are used in the model 299 Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 9 05 2 56 Average watch time standard deviation Number and percentage of players who declared that the model is appropriate good judgements 8 95 seconds 7 63 4 players 19 05 percent Average confidence in good judgement standard deviation 10 00 0 00 Number and percentage of players who declared that the model is not appropriate bad judgements 17 players 80 95 percent Average confidence in bad judgement standard deviation 8 82 2 81 Task 4 Judging Model pq_objects_a4_2 Associated program bottle fi11 0 4 Description An oval representing the mes sage bottle fill 0 4 moves to a vase and then to a bottle triggering a flash and the filling of the bottle with fluid Time 8 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 6 90 4 32 Average watch time standard deviation 12 05 seconds 12 84 Number and percentage of players who declared that the model
418. origer Abschnitt liegt darin das hier das Szenario pro fessionell gestaltet ist und die Aktivit ten durch Regeln und Rollenbeschreibungen weitgehend festge legt sind Es geht hier nicht um die spontane Kreation von Darstellungsformen und Externalisierung interner mentaler Modelle sondern um das Nachvollziehen vorgegebenen Gedankenguts und k rperli ches Erleben mit allen Sinnen Ben Ari 1997 beschreibt mehrere bungen bei denen die Sch ler Roboter spielen und umgangssprachlich formulierte rekursive Algorithmen nachspielen z B Scho kolade essen Adrianoff amp Levine 2002 schlagen ein Spiel vor bei dem Sch ler sich in die Rolle eines Akrobaten Objekt der Klasse Akrobat versetzen der auf Zuruf bestimmte Dinge tut Wenn ein Akrobat z B die Botschaft Clap gefolgt von einer ganzen Zahl n erh lt soll er n Mal in die H nde klatschen Wichtig ist dass diese Aktivit ten tats chlich physisch ausgef hrt werden und so das Rollenspiel zu einem Erlebnis wird das man nicht vergisst In der Reflektionsphase Debrie fing geht nach Empfehlung von Adrianoff amp Levine 2002 die Lehrperson einen vorgegebenen Katalog von informatischen Konzepten durch Objekt Klasse Botschaft Parameter usw auf die das Rollenspiel zugeschnitten ist und kl rt mit den Teilnehmern wie diese Konzepte im Spiel zum Aus druck gekommen sind und wo die Grenzen und Schw chen dieser Modellierung lagen 15 4 3 Gestaltete Medien und Mikro
419. origins uses and interactions of students intuitions In Jour nal for Research in Mathematical Education 27 S 478 504 Chiu Ming Ming 2000 Metaphoric Reasoning Origins uses development and interactions in mathematics In Educational Journal 28 1 S 13 46 Chiu Ming Ming 2001 Using Metaphors to understand and solve arithmetic problems Novices and experts working with negative numbers In Mathematical Thinking and Learning 3 3 S 93 124 Clement John 1982 Students preconceptions in introductory mechanics In American Journal of Physics 50 S 60 71 Clement John Lochhead John Monk George 1981 Translation difficulties in Learning Mathemat ics American Mathematical Monthly 88 April 1981 S 286 290 Close John Dicheva Darina 1997 Misconceptions in Recursion Diagnostic Teaching In Pro ceedngs of the Sixth Eurologo Conference Learning and Exploring with Logo Budapest Un garn 1997 S 132 140 Coenen Hans Georg 2002 Analogie und Metapher Grundlegung einer Theorie der bildlichen Rede Berlin New York Walter de Gruyter Collins A M amp Qulian M R 1969 Retrieval time from semantic memory In Journal of verbal Learning and Verbal Behaviour 8 S 240 247 Collins A Brown J S Newman S E 1989 Cognitive apprenticeship Teaching the crafts of read ing writing and mathematics In Resnick L B Hrsg Knowing learning and instruction Es says in honor of Robert Glaser
420. otschaft zu seinem Wert die Zahl 1 zu addieren Zur ckgegeben wird ein Objekt das die Summe repr sentiert Das ist ein sehr komplexer Gedanke Cluster von intuitiven Modellen zur Er kl rung eines Programmtextes sind deshalb h ufig inkonsistent um einfach zu bleiben Ein gro er Teil der intuitiven Modellierkunst besteht darin Inkonsistenzen zu handhaben Dazu geh rt sich ihrer bewusst zu sein um Fehlvorstellungen zu vermeiden 137 138 14 Von der Intuition zum Programm Im Zusammenhang mit Programmierung kann man zwischen zwei Typen von Probleml sungen unterscheiden e Bei Probleml sungen erster Art ist allein die Problemstellung bekannt Das Subjekt verwendet einen gro en Teil seiner Aktivit t darauf zun chst eine unformale intuitive L sung zu finden von deren Korrektheit er oder sie berzeugt ist Im zweiten Schritt wird die intuitive L sung zu einem lauff higen Programm formalisiert e Bei einer Probleml sung zweiter Art ist die intuitive L sung bereits bestens bekannt Die Haupt aktivit t liegt in der Programmierung Das hei t mit bekannten oder zu recherchierenden syntakti schen Mitteln der Programmiersprache wird das intuitive Modell nachgebildet und ein lauff higes und korrektes Programm generiert Beispiele f r Probleme die zu Probleml sungen zweiter Art f hren sind e Nimm alle roten Gummib rchen aus der T te e Suche im Telefonbuch die Nummer von Monika e Sortiere Karten mit N
421. players who declared that the model is appropriate good judgements 78 players 50 65 percent Average confidence in good judgement standard deviation 7 37 3 09 Number and percentage of players who declared that the model is not appropriate bad judgements 76 players 49 35 percent Average confidence in bad judgement standard 8 29 3 01 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 7 56 3 38 9 39 2 00 8 90 3 06 Average watch time standard deviation 8 98 seconds 4 61 7 20 seconds 4 59 4 85 seconds 3 18 Percentage of players who declared that the model 34 15 percent 17 07 percent 9 76 percent is appropriate good judgements Average confidence in good judgement standard 6 43 3 06 9 29 1 89 10 00 0 00 deviation Percentage of players who declared that the model 65 85 percent 82 93 percent 90 24 percent is not appropriate bad judgements Average confidence in bad judgement standard 8 15 3 44 9 41 2 05 8 78 3 21 deviation 267 Judging Model pq assign al 8 Associated program a b a Description Names are represented by post its A post it a is attached to a floating card with number 3 A second post
422. presenting the player s confidence standard deviation 8 93 2 62 Average watch time standard deviation 8 12 seconds 6 71 Number and percentage of players who declared that the model is appropriate good judgements 102 players 66 23 percent Average confidence in good judgement standard deviation 9 17 2 34 Number and percentage of players who declared that the model is not appropriate bad judgements 52 players 33 77 percent Average confidence in bad judgement standard 8 46 3 06 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 8 17 3 31 8 90 2 37 9 02 3 00 Average watch time standard deviation 8 90 seconds 8 45 4 37 seconds 1 89 3 73 seconds 2 37 Percentage of players who declared that the model 75 61 percent 80 49 percent 75 61 percent is appropriate good judgements Average confidence in good judgement standard 8 71 2 88 9 09 2 32 10 00 0 00 deviation Percentage of players who declared that the model is not appropriate bad judgements 24 39 percent 19 51 percent 24 39 percent Average confidence in bad judgement standard deviation 6 50 4 12 8 12 2 59 6 00 5 16 286
423. punkte War die Entscheidung falsch wird die dreifache Punktzahl abgezogen Entscheidungen nach dem Zufallsprinzip werden also drastisch be straft Es ist strategisch g nstiger null Punkte zu setzen wenn man die Antwort nicht wei Schnelle Entscheidungen Zeitbedarf weniger als 10 Sekunden f hren zu einer Verdoppelung der erhaltenen Plus oder Minuspunkte Somit ist die gesetzte Punktzahl ein Ma daf r wie sicher der Spieler ist die richtige Entscheidung getroffen zu haben Bei 10 gesetzten Punkten kann man als zweites Ma f r die subjektive Sicherheit die Zeit betrachten die f r die Entscheidung ben tigt wurde om ou ww Ibet Opoints 5 points The model is Leoa gt bad ES Abb 14 Screenshot aus einem Python Quiz 4 7 1 Bewertung der Antworten Eine Animation kann unterschiedlich interpretiert werden Strukturelle Abweichungen des Modells vom Original k nnen als Fehler oder als Vereinfachung gesehen werden Generell reagiert das System sehr tolerant Nur eindeutig falsche Bewertungen werden mit Minuspunkten bestraft Die strittigen F lle werden immer zu Gunsten des Spielers bepunktet Merkmale eines eindeutig falschen Modells sind e Es enth lt symbolische Bezeichnungen die mit dem Programmtext nicht bereinstimmen z B statt e Es enth lt strukturelle Abweichungen vom Programmtext die nicht als Vereinfachung interpretiert werden k nnen Beispiel Die Zuweisung x 1 wird durch einen Beh lter m
424. r meneutik seit Heidegger nicht als blo e Methode sondern als Grundzug des Mensch Seins beschrie ben Capurro 1989 S 16 Der Mensch ist hinsichtlich seiner Verhaltensm glichkeiten offen die Grundlage jedes Handels ist das Verstehen der Welt in der er sich bewegt Der hermeneutische Zirkel ein Konzept das aus der antiken Rhetorik stammt beschreibt die Auslegung eines Textes als im Prinzip unendlichen Prozess der Auseinandersetzung mit einem Text Capurro 1989 Das Ganze eines Textes wird aus den Einzelheiten und die Bedeutung der Einzelhei ten aus dem Ganzen erfasst Verst ndnis bleibt immer vorl ufig und wird bei jedem Durchlauf des Zirkels in Frage gestellt Der Begriff Text ist hier im weitesten Sinne zu verstehen Auch formale und grafische Darstel lungen in denen mathematische oder grafische Symbole verwendet werden z hlen dazu Das ent scheidende Merkmal des Textes ist dass er berliefert wird Er ist intersubjektiv verst ndlich und bei fachlichen Texten Teil der Kultur der Fachgemeinschaft in der sich das lesende Subjekt befindet In gewissem Sinne ist das Verst ndniskonzept der Hermeneutik dem Intuitionsbegriff von Fisch bein entgegengesetzt Die Hermeneutik betont die Unsicherheit des Verstehens Die Auseinanderset zung mit dem Text ist niemals abgeschlossen Dagegen ist eine intuitive Vorstellung von Selbstevi denz und subjektiver Gewissheit gepr gt Ein zweiter Unterschied betrifft die
425. r als als Kasten dargestellt der ber Sensoren die Inhalte zweier Variablen abfragt Das Signal wird durch ein Schild in diesem Fall mit der Aufschrift True visualisiert das aus dem Kasten herauskommt f r kurze Zeit sichtbar ist und dann wieder verschwin det Boxmodell mit Sensoren und Signalausgabe 122 PRm 20 t 19 12 group 19 gt 7 cw Ce m z Lf caved Abb 38 Vergleich zweier Zahlen als steuerndes Ereignis Screenshots aus Python Quiz Modeling a group Die zweite Animation zeigt die Funktionsausf hrung als Ereignis Blitz bei dem aus Kopien der Inhalte der Variablen a und age eine Karte mit einem Wahrheitswert entsteht Das dritte Bild zeigt ein Boxmodell mit Ein und Ausgang Bei den letzten beiden Modellen wird das ausgegebene Objekt eine Karte mit einem Wahrheitswert zu keiner Entit t weitergeleitet son dern bleibt eine kurze Weile sichtbar und verschwindet wieder Es hat damit den Charakter eines Sig nals Tab 11 zeigt dass Sch lerinnen und Sch ler alle drei Modelle in etwa mit gleicher H ufigkeit als passend beurteilen Insbesondere kann man vorsichtig den Schluss ziehen dass die explizite Model lierung eines Signals wie im ersten Modell keinen kognitiven Vorteil gegen ber Funktionsmodellen 86 bietet die ein Objekt ausgeben das im Prinzip auch an einen Akteur zur Verarbeitung weitergegeben werden kann also per se kein Signal darstellt n 68 Dauer
426. r der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw 1 Nur Zeiger 4s 19 4 s 65 9 s 57 84 75 39 pq_list_a2_3 2 Nur Beh lter mit Kopien 10s 11 2 s 10 5 s 49 72 75 40 pq_list_a2_6 3 Zeiger und Beh lter Ts 10 3 s 11 1 s 54 76 0 80 33 pq_list_a2_8 4 Etiketten und Beh lter 9s 12 4 s 17 7 s 54 79 76 36 pq_list_a2_7 Tab 5 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 6 5 Namen als Bezeichnungen f r Rollentr ger Namen haben Bedeutungen und sie werden in guten Programmen so gew hlt dass die Bedeutung erkennbar ist In einem Funktionsaufruf k nnen als Argumente Positionsargumente andere Namen verwendet werden als in der Liste der formalen Parameter in der Funktionsdefinition def quadrat n return n n seitenlaenge input flaeche quadrat seitenlaenge Mehrfache Namen kommen auch im Alltag vor Die selbe Person besitzt neben ihrem Namen der im Personalausweis eingetragen ist Spitznamen von Freunden und weitere Namen die nur in be stimmten sozialen Kontexten verwendet werden Verschiedene Namen f r ein Objekt bringen meist zum Ausdruck dass ein und dasselbe Objekt verschiedene Rollen spielt Das Konzept des Namens ist eng mit dem Rollenkonzept verbu
427. r interviewte sie w hrend der Probleml sung und registrierte die Intuitionen die sie in ihren Erkl rungen verwendeten Es zeigte sich dass eine Person im Schnitt 2 63 unterschiedliche Intuitionen erw hnte Insgesamt verwendete sie 5 31 intuitive Vorstellungen Vielfalt und H ufigkeiten sanken nur unwesentlich nachdem der Person ein Algorithmus zur L sung der Aufgabe beigebracht worden ist 4 94 u erungen 2 18 verschiedenen Intuitionen 1 2 Repr sentation von Sprachkonzepten durch eine Beispielkollektion die Python Kurzreferenz von O Reilly Tab 23 zeigt einen Auszug aus einer Kurzreferenz f r Python von O Reilly die auf ein Lesezei chen passt Jedes Beispiel verdeutlicht unterschiedliche Aspekte von Tupeln Kurzreferenzen dienen in der Regel als Erinnerungshilfe fiir Leute die die Programmiersprache bereits beherrschen Aber auch gt Eine systematische bersicht ber Metaphern f r arithmetische Operationen findet man in La koff et al 1997 171 erfahrene Programmierer die die betreffende Sprache nicht kennen gewinnen bereits einen Einblick Beides deutet darauf hin dass Menschen auch intern Programmiersprachenkonzepte durch Beispiel kollektionen repr sentieren k nnen Operation Interpretation An empty tuple tl 0 A one item tuple not an expression EQS Or VN La SY A four item tuple t i Indexing t i j Slicing Tab 23 In der Python Kurzreferenz von O Reilly wird all
428. r verbundenen Ideen Sein Ansatz des knowledge in pieces 1988 ist gewisserma en eine Ge genposition zu Theorien die von einer konsistenten in sich widerspruchsfreien kognitiven Struktur ausgehen Die Animationen der PVS repr sentieren in der Regel nicht einzelne geschlossene Intuitio nen sondern jeweils Cluster F r ein einzelnes intuitives Modell sind sie h ufig zu komplex In ein und derselben Animation k nnen z B unterschiedliche Modelle f r die Benennung von Objekten vor kommen 133 13 6 berstrukturierung berstrukturierung liegt vor wenn ein gegebenes System feiner strukturiert wird als es eigentlich notwendig oder zul ssig ist Durch berstrukturierung k nnen z B logische Implikationen atomarer Programmelemente verdeutlicht werden So kann eine Animation mit einem Beh ltermodell f r Variablen den atomaren Vorgang einer Zu weisung der Art x 2 in die Zerst rung des vorigen Inhalt und das Einf llen eines neuen Inhalts aufteilen Mit der visuellen Explizierung der Zerst rung z B durch eine Explosion wird hervorgeho ben dass jede Zuweisung den Verlust der vorigen Variablenbelegung impliziert Dies ist eine rein logische berlegung die nichts mit der technischen Realisierung in einem realen Computer zu tun hat Ein Funktionsaufruf innerhalb einer Zuweisung der Form x f y kann folgenderma en visualisiert werden Zuerst wird ein Name x generiert der f r ein neues Objekt bestimmt ist wartender
429. rade das Modell Anfas sen welches als einziges die Botschaft nicht als eigene Entit t modelliert besonders h ufig als pas send beurteilt akzeptiert wurde n 23 Dauer der Ani Entscheidungs Als passend beur Konfidenz mation zeit Stdabw teilt von Stdabw Leitstrahl 7s 11 3 s 12 8 14 61 78 32 pq_objects_a4 3 Anfassen 7s 12 7 s 10 8 19 82 79 25 pq_objects_a4 4 Eigenst ndige Suche 8s 11 6 s 12 4 17 74 91 26 pq_objects_a4 2 Broadcasting 8s 9 6 s 6 8 9 39 78 36 pq_objects_a4 1 Tab 22 Beurteilung von Modellen zum Routing von Botschaften Berticksichtigt wurden die Antworten aus ersten Spiel durchg ngen von 23 Personen darunter 21 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 12 6 Schlussfolgerungen Ziehen wir mit angemessener Vorsicht einige Schlussfolgerungen aus den Beobachtungen mit der PVS Anscheinend spielt das Botschaftskonzept in der Vorstellungswelt von Menschen die ob jektorientierte Programme zu verstehen versuchen keine gro e Rolle Veranschaulichende Modelle der PVS wurden von den Spielern vor allem dahingehend beurteilt ob der Effekt den die Ausf hrung der Programmanweisungen auf den Zustand der Objekte hat in der Visualisierung richtig wieder ge geben wird Aber der Weg zum Ziel die im Paradigma der OOP festgelegte Mechanik des Entsen dens von Botschaften und deren Interpr
430. radigmatischer Visualisierungen einzulassen und in einen Lernprozess einzusteigen 4 6 Python Puzzle assert Python Puzzle Assert ist eine Variante von Python Puzzle Hier ist ein fertiger Programmtext vor gegeben in den noch Zusicherungen assert Anweisungen durch Verschieben mit der Maus eingebaut werden k nnen Eine assert Anweisung hat folgenden Aufbau assert Bedingung Wenn die Bedingung nicht erf llt ist wird die Ausf hrung des Programms mit einer Fehlermel dung abgebrochen Mit assert Statements kann man die logische Korrektheit eines Programms absi chern Hinter jeder Zusicherung steht eine kontrollierende Intuition Je mehr Assert Statements einge baut worden sind desto mehr Punkte gibt es sofern jedes assert Statement logisch sinnvoll ist F r jedes Programm stehen mehrere assert Statements zur Verf gung Sie befinden sich am rechten Bildschirmrand und k nnen mit der Maus zwischen beliebige Zeilen des Programmtextes geschoben werden Manchmal wird in einem Spiel der gleiche Programmtext mehrfach verwendet aber jeweils unterschiedliche Sets von assert Statements angeboten F r jedes Programm das mit Zusicherungen logisch abgesichert werden soll gibt es drei Testl ufe Das ist ein Unterschied zu Python Puzzle Somit kann ein Spieler z B zun chst nur ein assert Statement ausprobieren und bei sp teren Testl u fen weitere hinzuf gen Das System verlangt dass mindestens eine Zusicherung eingebaut worden ist bevor es
431. ragebogen zur Verwendung von Visualisierungen 3 Abb 85 Verteilung der gew hlten Beispiele f r regul re Ausdr cke und ihre Sprachen n 29 Abb 86 H ufigkeitsverteilung der ausprobierten vollst ndigen Beispiele n 29 Abb 87 H ufigkeitsverteilung der insgesamt ausprobierten Beispiele n 29 Abb 88 Regul rer Ausdruck als Sieb das bestimmte Zeichenketten ausfiltert Abb 89 Regul rer Ausdruck als Produzent von Zeichenketten Abb 90 Regul rer Ausdruck als Muster das auf bestimmte Zeichenketten passt Abb 91 Programmflussgraph f r die Quicksort Funktion Abb 92 Dialogseite f r Coaches Abb 93 Actvity Report der Testentit t test_hans Abb 94 Auszug aus einem Highscore Bericht Abb 95 Gruppenbezogene Auswertung eines Python Visuals Ausschnitt Abb 96 Problemkontext links und Editorseite rechts 113 114 114 115 123 124 124 125 126 126 131 132 133 135 210 210 211 236 Abb 97 Feedback zu einem Testlauf des Programms links und Kurzreferenz zur den vorkommenden Python Sprachelementen 164 236 Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb 98 Ein datenflussorientiertes visuelles Programm mit DRLP 309 99 Fetch execute Schleife eines interaktiven Systems Nach Sommerville 1997 S 287 310 100 Visualisierung der Arbeitsweise rekursiver Funktionen 313 101 Zuweisung mit totaler V
432. ragte in einer internationalen Studie 1312 Manager aus neun L ndern zur Bedeutung von Intuition bei ihren t glichen Entscheidungen Die Befragten beschrieben Intuition vor allem als kogni tiven Prozess der rationalem und logischem Denken antithetisch gegen bersteht Weitere dominieren de Attribute mit denen Intuition charakterisiert wurde waren innere Wahrnehmung unerkl rliches Verst ndnis Gef hl das von Innen kommt Integration vorheriger Erfahrung Entscheidung ohne vollst ndige Datenbasis sechster Sinn und spontane Vision Parikh 1994 S 57 Bemer kenswert ist dass nur 38 9 der befragten Manager angaben sich bei Entscheidungen mehr auf rati onale berlegungen zu verlassen als auf Intuition Parikh 1994 S 57 Anderson betont dass prozedurales Wissen unbewusst sein kann d h eine Person beherrscht be stimmte Probleml sungstechniken ohne die Regeln angeben zu k nnen die sie verwendet Eine ver sierte Schreibkraft kann zwar mit hoher Geschwindigkeit eine Tastatur fehlerfrei bedienen aber es gelingt ihr in der Regel nicht aus dem Ged chtnis anzugeben an welcher Stelle sich welche Taste befindet In einem Experiment von Berry und Broadbent 1984 sollten Studenten in einem Simulati onsprogramm die Produktion einer hypothetischen Zuckerfabrik steuern Dieses gelang den Probanden auch nach einigen Versuchen Aber keiner konnte eine Regel angeben nach der er oder sie vorging Die Vers
433. rammierexperten f r kurze Zeit entweder 2 Sekunden oder 10 Sekunden lang kleine C Programme und stellte anschlie end Verst ndnisfragen Im Fall der Zwei Sekunden Pr sentationen schienen die Experten einen Schwer punkt auf die Erkennung der Funktionalit t zu legen Sie konnten signifikant mehr Fragen zur Funkti onalit t 54 als zu Kontroll und Datenfluss 26 bzw 23 beantworten Novizen dagegen hatten eher Schwierigkeiten 13 10 Exhaurierung In der Wissenschaftstheorie versteht man unter Exhaustion folgendes Wenn sich mit einer Hypo these Beobachtungen nicht erkl ren lassen verwirft man sie nicht sofort sondern sch pft sie aus 136 exhauriert sie indem man versucht mit geeigneten Zusatzannahmen die widersprechenden Daten hypothesengem zu deuten Dingler 1913 Ein bekanntes Beispiel f r die Anwendung dieses Ver fahrens stammt aus der Fr hzeit der Chemie Der deutsche Alchemist Georg Ernst Stahl stellte zu Beginn des 18 Jahrhunderts die Phlogistonhypothese zur Erkl rung von Verbrennungsvorg ngen auf Str ker 1967 S 115 ff Danach ist die Verbrennung ein Vorgang bei dem der Brennstoff einen Feuerstoff abgibt den Stahl Phlogiston nannte Nach dieser Hypothese mussten alle brennbaren Stoffe Phlogiston enthalten Nun konnte man aber beobachten dass die Verbrennungsprodukte Oxi de schwerer waren als die Ausgangsstoffe der Verbrennung Die Exhaustion der Phlogistonhypothese bestand darin dass Stahl
434. ramms dar In Python Visual und Python Quiz beziehen sie sich auf gegebene Programme oder Programmfragmente 178 Ein u erliches Merkmal einer Visualisierung in der PVS ist die N he zum Bezugsprogrammtext Eine programmnahe Visualisierung enth lt viele explizite Bez ge zum Programmtext Tab 25 f hrt einige Merkmale auf Kriterium nah fern Daten Die konkreten Daten des Programms Daten werden abstrakt dargestellt z B z B Zahlen tauchen auch in der zu sortierende Objekte durch K sten Visualisierung auf z B Zettel mit oder gegenst ndliche Objekte Zahlen Namen Namen aus dem Programmtextes z B Namen aus dem Programmtextes tau Variablennamen werden auch in der chen nicht auf Visualisierung verwendet z B Etiket ten Struktur Die Visualisierung hat die gleiche Die Visualisierung stellt nur die Kern Struktur wie das Programm idee des Programms dar und l sst unwichtige Details weg Tab 25 Merkmale naher und entfernter Visualisierungen von Programmen Als Ma f r die Entfernung verwenden wir in der Dokumentation der Modelle den Anteil an Na men aus dem Bezugsprogramm in Prozent Zu den Namen werden Namen von Funktionen ein schlie lich Operatorsymbole Klassen Objekten Variablen gez hlt nicht aber Schl sselw rter wie if else oder Literale 1 8 3 Grafische Elemente der Python Visual Sandbox Nun sind die M glichkeiten einen Sachverhalt bildhaft darzustellen praktisch unbegrenzt w
435. rcent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 7 60 3 58 Average watch time standard deviation 13 35 seconds 13 77 Number and percentage of players who declared that the model is appropriate good judgements 70 players 45 45 percent Average confidence in good judgement standard deviation 7 21 3 77 Number and percentage of players who declared that the model is not appropriate bad judgements 84 players 54 55 percent Average confidence in bad judgement standard 7 92 3 40 deviation Total number of persons who played this game at 41 least three times First session Second session Third session Average bet points 0 to 10 representing the player s confidence standard deviation 6 34 4 33 8 05 3 69 8 41 3 61 Average watch time standard deviation 18 10 seconds 6 56 seconds 5 02 seconds 18 67 3 29 4 85 Percentage of players who declared that the model 56 10 percent 53 66 percent 29 27 percent is appropriate good judgements Average confidence in good judgement standard 5 65 4 60 8 41 3 58 9 17 2 89 deviation Percentage of players who declared that the model is not appropriate bad judgements 43 90 percent 46 34 percent 70 73 percent Average co
436. rkettung von Zeigern in Modell 2 entspricht der bereits diskutierten Verkettung von Namen Abschnitt 6 8 und ist unpassend Dennoch wurde es von mehr als der H lfte der Sch lerinnen und Sch ler 87 von 154 akzeptiert Im Unterschied zum inversen Zeigermodell konnte man aber eine steile Lernkurve beobachten Bereits in der zweiten Sitzung bewerten 85 der Vielspieler das Modell als unpassend Konfidenz 90 Dies kann man so deuten dass an diesem Modell der Denkfehler einer Namensverkettung besonders leicht erkannt wird Modell 3 ist ein von der Fachgemeinschaft allgemein akzeptiertes Modell und wurde von den Sch lern in der ersten Sitzung gegen ber den beiden anderen den beiden anderen Zeigermodellen signifikant h ufiger akzeptiert n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Zeiger vom Objekt zum Namen 5s 13 35 s 70 45 5 76 0 35 8 pq_assign_al_ 13 13 77 Zeigerkette 5s 12 07 s 87 56 49 88 6 24 6 pq_assign_al 12 13 75 Zwei Zeiger zur Zahl 6s 13 36 s 119 77 27 83 1 pq_assign_al_11 11 38 29 8 Tab 19 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen mit Zeigern Beriicksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben 100 00 100 00 80 00 80 00 t als unpassend 60 00 beurteilt 60
437. robieren der Beispiele mit unbekanntem Ergebnis W1 bis W11 vorgingen Ein sinnvolles Verfahren ist sicherlich folgendes Zuerst versucht man das Ergebnis eines Funktionsaufrufs in Gedanken zu ermitteln und dann pr ft man durch ein Experiment am Computer nach ob man mit der Vermutung richtig liegt Das Entwickeln einer L sung in Gedanken kann als Beispiel einer Textinterpretation gesehen werden Denn es geschieht vor dem Hintergrund erkl render Texte zu regul ren Ausdr cken und hat das Ziel das eigene Textverst ndnis zu pr fen Habe ich richtig verstanden was der Sternoperator bedeu tet Derartiges fragendes Experimentieren ist etwas anderes als Probleml sen auf das wir sp ter zu sprechen kommen Beim echten Probleml sen steht ein reales als relevant betrachtetes Problem im Vordergrund Welchen Weg man beschreitet um das Problem zu l sen z B welche Programmierkon zepte man verwendet ist zu Beginn des Probleml sungsprozesses v llig offen Hier jedoch sind die Aufgabenstellungen der Beispiele von der inhaltlichen Thematik her irrelevant und austauschbar Ziel ist ein Konzept regul re Ausdr cke zu verstehen Die Zahlen in Tab 27 belegen dass es den Sch lern mehr um das direkte und schnelle Ausprobieren einfacher Funktionsaufrufe w1 bis W11 mit regul ren Ausdr cken ging im Mittel wurden 7 37 von 11 Beispielen ausgef hrt Die beiden Skripte die praxisnahe Anwendungen also echte Probleml sungen d
438. rototyp Metapher verwen det wurde Die Klasse Tier wird durch ein konkretes Exemplar eine Kuh repr sentiert die ersten drei Bilder in der Klammer Die Definition der Methode gruesse wird als eine Art Schulung des zun chst dummen Prototypen dargestellt Die Kuh lernt auf die Botschaft mit einem Gru zu ant 323 worten Der Text des Gru es ist zun chst unbestimmt und wird erst bei der Instanzierung eines Objek tes letztes Bild festgelegt Abb 114 Illustration einer Klassendefinition und Instanzierung eines Objektes 17 j hrige Sch lerin J 6 3 Klasse als Entit t Die Fabrikmetapher und die Toolbox Metapher betrachten eine Klasse wie ein Objekt als eigen st ndige Entit t in der Maschinerie eines laufenden Programms Dieses Bild wird durch einige Fea tures von Programmiersprachen unterst tzt e Introspektive Klassenattribute enthalten Information ber eine Klasse wie z B Basisklassen von denen die Klasse abgeleitet ist bei Python bases__ oder die verwendete method resolution order d h die Reihenfolge nach der in Oberklassen nach Methoden gesucht wird bei Python __mro__ Hier wird nicht ein Mengenkonzept verwendet Klassenattribute als gemeinsame Ei genschaften aller Objekte sondern die Klasse selbst als Entit t betrachtet e Eine statische Methode kann aufgerufen werden indem man eine Botschaft an die Klasse und nicht an ein Objekt der Klasse sendet 6 4 Prototyptheorien in der Kognitio
439. rsives Spiegeln eines Wortes 30 Spieler darunter 22 Sch ler und 4 Studenten 24 der Spieler haben an Workshops mit der PVS teilgenommen Die meisten Teilnehmer der PVS bevorzugten f r Erkl rungen die l ngeren und komplexeren A nimationen die die Rekursion vollst ndig bis zum Elementarfall nachvollziehen 5 Erg nzungen zu Verarbeitungsmodellen 5 1 Entstehungsprozesse im Alltag Es gibt unterschiedliche Konzepte um die Entstehung einer Sache zu beschreiben Dazu geh ren 1 die spontane Manifestation aus dem Nichts z B Entstehung einer Wolke am Himmel ohne expli ziten Produzenten 2 Erschaffung einer Sache durch einen Produzenten z B Nebel aus einer Nebelmaschine 3 das Zusammensetzen eines Objekte aus vorhandenen Teilen z B Bau eines Autos oder 4 die Auswahl eines Objektes aus einem Reservoir vorhandener Objekte z B W rfeln einer Zu fallszahl Spontane Entstehung aus dem Nichts kommt in der materiellen Realwelt zumindest bei den Vor g ngen die wir in unserem Alltag erleben nicht wirklich vor Das verbieten die Erhaltungss tze der Naturwissenschaften Energieerhaltungsgesetz Massenerhaltungsgesetz In der Gedankenwelt der Informatik ist dagegen spontane Entstehung ein zul ssiges Konzept Bei einer Auswahl wird eine bereits existierende Sache in einen neuen Zusammenhang gestellt und mit neuen Qualit ten verbunden Wer bei einer Multiple Choice Aufgabe eine M glichkeit ankreuzt hat ebenso eine L su
440. rt werden 15 2 2 Fokus und Grenzen wahrnehmen Intuitive Modelle der Informatik sind in der Regel ungenau und geben ein informatisches Konzept nur unzureichend wieder Sie fokussieren auf bestimmte Features des modellierten Konzeptes und lassen andere au er Acht In der Fokussierung und der damit verbundenen Einfachheit liegt die Ein g ngigkeit und Ausdrucksst rke eines Modells Wer dies nicht w rdigt und deshalb keinen Mut zur Vereinfachung hat ist nicht in der Lage selbst Modelle f r Erkl rungen zu erfinden Andererseits muss man sich der mit der Fokussierung verbundenen Grenzen der Anwendbarkeit bewusst sein und sie auch explizieren k nnen z B wenn man das Modell in einer Diskussion verwen det Das impliziert zweierlei Die Grenze der Anwendbarkeit eines Modells kennt man nur wenn man Kontexte benennen kann in denen es untauglich ist Zum zweiten kann man das fokussierende Modell trotz aller Ungenauigkeiten nur dann als tauglich akzeptieren wenn man es als Teil eines Clusters von Modellen zur gleichen Thematik sieht Man muss sich klar machen dass die Genauigkeit und Sch rfe einer Erkl rung sich erst aus der Zusammenschau mehrerer Modelle ergibt 15 2 3 Medien und Kommunikationskompetenz Intuitive Modelle m ssen in irgendeiner Weise verbal oder visuell dokumentiert materialisiert sein um sie sich selbst ins Bewusstsein zu rufen und anderen mitzuteilen Solche Repr sentationen sind also Medien und spielen eine zentr
441. rufsjahren als Lehrer und Dozent interessiert mich die Frage wie sich Menschen kognitiven Zugang zu den schwierigen abstrakten Konzepten der Informatik verschaffen Nach vier Jahren der Forschung glaube ich einige Facetten dieses R tsels etwas besser zu verstehen Die Ergeb nisse sind in der vorliegenden Dissertation dokumentiert Mein Dank gilt Prof Dr Andreas Schwill Universit t Potsdam f r die vielen Ermunterungen An regungen und wissenschaftlichen Stellungnahmen zu meiner Arbeit Meine Vortr ge in Potsdam w h rend den letzten Jahre waren immer eine Quelle f r Motivation Inspiration und Erkenntnisgewinn nicht zuletzt auf Grund scharfsinniger Anmerkungen von Ralf Romeike und anderen Mitarbeitern und G sten des Instituts f r Didaktik der Informatik Die empirischen Erhebungen w ren nicht m glich gewesen ohne die Kooperation der vielen Lehre rinnen und Lehrer Sch lerinnen und Sch ler Studentinnen und Studenten die an Visualisierungs bungen und Workshops mit der Python Visual Sandbox teilgenommen haben und mir hoffentlich verzeihen dass ich an dieser Stelle nur ihre Schulen bzw Universit ten erw hnen kann Arlington County School Arlington Virginia USA Rudolf Diesel Gymnasium Augsburg Ernst Abbe Gymnasium Eisenach Kopernikus Gymnasium Wissen Gustav Heinemann Oberschule Berlin Humboldt Gymnasium Berlin International American Highschool Hongkong International Ger man and Swiss Highschool Hongkong
442. rukturmerkmal dass der Weg von Start zum Ziel determiniert ist In einem DL werden verschiedene informatische Intuitionen verwendet Abb 67 Dynamisches Labyrinth Schwank 2005 das eine Subtraktion 6 4 repr sentiert Quelle www ikm uni osnabrueck de aktivitaeten dl dynamische labyrinthe htm Abb 67 stellt eine Maschine dar die von einer gr eren Zahl eine kleinere abziehen kann Ihre Ar beitsweise kann durch folgendes Python Programm beschrieben werden x 6 y 4 while y gt 0 y 1 x 1 print x Zuerst stellt der Spieler an den beiden Z hlern die Operanden der Subtraktion ein Das Display des oberen Z hlers zeigt den Wert des Subtrahenden x und das Display des unteren Z hlers den Subtrak tor Dann setzt er oder sie einen Stab auf die Startposition und f hrt ihn solange stets in der gleichen Richtung durch die Rinne bis das Ziel erreicht ist Die runden Nuten und Federn der Rinnenbaustei ne sind als Richtungspfeile zu interpretieren Immer wenn der Stab einen Z hler passiert wird er um eins herabgesetzt Die Z hler sind mit einer Weiche gekoppelt Sie wird nach links gestellt wenn der zugeh rige Z hler auf null steht In diesem Fall durchl uft der F hrungsstab eine Schleife bis y gleich null ist und gelangt dann zum Ziel Dieses DL repr sentiert eine Reihe von intuitiven Modellen der Informatik Am augenf lligsten ist die Bahn die zusammen mit der Weiche die Intuition des Kontrollflusses eines Progr
443. rwissenschaftsdidaktik ist seit Mitte der 1980iger Jahre ein Unterrichtsmodell entwi ckelt worden das unter dem Namen Science in Context oder Salters Approach bekannt geworden ist vgl z B Bennet et al 2002 Bennet amp Lubben 2006 Huntemann et al 1999 Kontexte sind all tagsrelevante und lebensweltbezogene Fragestellungen die Sachstrukturen erkennen lassen und fach wissenschaftliche Inhalte in einen f r Sch ler einsichtigen Sinnzusammenhang stellen Kontexte f r die Chemie der Kohlenwasserstoffe fachliches Konzept sind z B die Gegenst nde Autokraftstoffe oder Fleckenentferner In Lehrb chern und Kurscurricula die diesem Ansatz folgen sind Kontexte mit zugeh rigen systematisch eingef hrten fachwissenschaftlichen Konzepten verbunden Alltagsrelevante Kontexte in der Informatik sind aber nicht nur Anwendungsbereiche f r abstrakte Konzepte sondern auch Quelldom nen f r intuitive Modelle Wer etwa in einem Programmierprojekt sich mit der Modellierung von Sitzbelegungen in einem Auto besch ftigt verwendet diesen Wirklich keitsausschnitt als Dom ne f r metaphorische intuitive Vorstellungen zum informatischen Konzept der Liste Beispiel Ein Auto mit drei Sitzreihen in dem sich nur Susanne als Fahrerin befindet l sst sich durch die Multiliste Susanne modellieren Eine leere Sitzreihe wird hier durch eine leere Liste modelliert Das ist etwas anderes als eine nicht vorhandene Liste Sitzreihe
444. rzer Schrift wiedergegeben Sie bewegen sich manchmal von alleine oder werden durch Greifarme transportiert Abb 74 Beschriftete Zettel repr sentieren Daten Ovale f r Botschaften Beschriftete Ovale repr sentieren Botschaften die an Objekte geschickt werden und Aktionen aus l sen Im Unterschied zu Zetteln enthalten sie zumindest die Angabe der Methode die vom Empf n ger ausgef hrt werden soll Abb 75 Bewegliches Oval das eine Botschaft an das Objekt bot tle repr sentiert Namenszettel Namen f r Objekte werden gelegentlich durch Klebezettel Zettel mit einem St ck Klebeband an die benannten Objekte geheftet Bei dieser Zuordnung eines Namens zu einem Objekt fehlt dann kom plett der Beh lter Es kommt aber auch vor dass ein Namenszettel an einen Beh lter f r ein Objekt geklebt wird Inkonsistent ist wenn ein Namenszettel an einem anderen Namenszettel befestigt wird Denn ein Name ist kein Objekt a gp Po Abb 76 Haftzettel als Namen f r Objekte Stecknadeln Iterationen werden manchmal in der Weise visualisiert dass eine Stecknadel von Fach zu Fach ei nes Beh lters mit mehreren F chern fliegt Die Stecknadel markiert dann das aktuelle Element der 180 Iteration ber eine Sequenz Stecknadeln repr sentieren also Namen f r Objekte Manchmal h ngt an ihnen ein kleiner Zettel mit einer konkreten Namensbezeichnung z B i oder person az DR m i o 1 2 3 Bi i u 5 Abb 77 Steckn
445. s 2 tasks I n each task the player has to judge several models whether or not they are appropriate to explain the execution of some program statement Task 1 a 3 b a Task 2 today Monday today Tuesday today Wednesday 263 The following table provides some general information about the usage ofthis game pq_assign Number of objective sessions not taking into account that there are sometimes two players working together 332 sessions Number of subjective sessions taking into account that there are sometimes two players working together 388 sessions Number of subjective uncanceled sessions taking into account that there are sometimes two players working together 313 sessions Number of subjective first uncanceled sessions taking into account that there are sometimes two players working together and some people play this game several times 154 sessions Number of persons who played three times or more 41 persons Some general information about the players of this category who played the game at least once Professions 154 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 34 female and 120 male persons Hours a week spent on programming standard de viation 3 23 hours 3 23 Roughly estimated experience in Python program ming standard deviation 94 95 days 130 39 Age standard de
446. s Objektes 17 j hrige Sch lerin J 324 115 Abspalten einer Botschaft aus einer verschachtelten Botschaft pq_objects_a5_3 328 116 Vermischen von passivem und aktivem Modell f r Objekte pq_objects_a5_3 328 117 Aufl sung einer verschachtelten Botschaft durch das Laufzeitsystem pq_objects_a5_6 328 118 Unplausibles Modell mit pq_objects_a5_1 329 119 Verschachtelte Botschaft als eigener Akteur der Botschaften senden kann 329 120 Modelle die der Semantik der Anweisung bottle empty widersprechen 330 165 166 Tabellenverzeichnis Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab 1 Zusicherungen f r eine Implementierung von Quicksort 43 2 Verwendung korrekter Programmzeilen in Python Puzzle Modeling a group 51 3 Verwendung falscher Programmzeilen in Python Puzzle Modeling a group 52 4 Wahl verschiedener Modelle zur Veranschaulichung eines Programms 64 5 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen 66 6 Wahl verschiedener Modelle zur Veranschaulichung eines Programms 68 7 Beurteilung von Modellen zur Darstellung einer leeren Liste 75 8 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen 76 9 Beurteilung von Modellen mit unterschiedlichen Eingabemechanis
447. s abs trakte Intuitionen und k nnen deshalb in vielen unterschiedlichen Situationen angewendet werden DiSessa weist darauf hin dass diese Basisintuitionen nur sehr schwer in Worte gekleidet werden k n nen Im Zusammenhang mit der Erkl rung von zusammengesetzten Bewegungen identifiziert diSessa drei relevante p Prims Verst rkung reinforcement Kompromiss compromise und gegenseitige Ausl schung canceling diSessa 2001 S 190ff Die Intuition canceling spielt zum Beispiel eine Rolle wenn man die Bewegung einer Person die in einem langsam fahrenden Zug gegen die Fahrt richtung l uft beschreibt Die gleiche Intuition wird aber auch verwendet wenn man Additionen mit negativen Zahlen ver stehen will Chiu 1996 2001 hat in mehreren Untersuchungen festgestellt dass Kinder und Erwach sene bei mathematischen Probleml sungen in ein und demselben Kontext mehrere unterschiedliche Metaphern quasi parallel verwenden Dabei verf gen Erwachsene ber ein reichhaltigeres Repertoire an Metaphern als Kinder u ern diese aber nicht spontan w hrend des Probleml sens sondern erst bei Interviews wenn sie veranlasst werden einen mathematischen Zusammenhang zu erkl ren 26 Was veranlasst Menschen zwischen unterschiedlichen Dom nen hin und her zu springen Warum u ern Erwachsene bei einer Probleml sung spontan fast keine intuitiven Modelle Eine Erkl rung ist dass sie eigentlich ein einheitliches abstraktes Konzept im Sinn habe
448. s muss der Folgezustand die Rotphase sein alles andere w re sinnlos In einem Ampel Objekt kann die Folge der durchlaufenen Zust nde durch eine Liste also ein einziges Attribut dargestellt werden Hier wird das holistische Zustandskonzept verwendet Alternativ k nnte ein Ampelobjekt f r jede der drei Leuchten rot gelb gr n ein eigenes Attribut besitzen das mit den booleschen Werten True oder False belegt ist je nachdem ob die Leuchte ein oder ausgeschaltet ist Diese Modellierung orien tiert sich st rker am technischen Aufbau einer realen Verkehrsampel h here Strukturtreue Es sind nun aber auch Zust nde m glich die in der Realit t nicht vorkommen und denen keine Semantik zu geordnet ist z B gleichzeitiges Aufleuchten von Rot und Gr n Das holistische Konzept der Befindlichkeit wird in der zustandsorientierten Modellierung Hub wieser 1999 2004 und insbesondere in Zustands bergangsgraphen f r endliche Automaten verwen det Albert amp Ottmann 1983 Hier repr sentiert man einen Zustand durch einen Knoten in einem ge richteten Graphen Ein Zustand wird als Ort im Raum und ein Zustandwechsel als Bewegung zu einem anderen Ort ber eine Kante des Graphen visualisiert Ein Ort ist eine geschlossene Gestalt Eine Entit t kann nicht an mehreren Orten gleichzeitig sein Sie kann sich nicht mit einem Aspekt ihres Seins an dem einen und mit einem anderen Aspekt an dem anderen Ort befinden Im Unterschied zum Modell des
449. s wird durch Nichtdeterminismus ersetzt Beispielsweise kann man manchmal die exakte Sequenzialit t von Ereignissen vernachl ssigen und Aktionen die nach dem Programmtext eigentlich nacheinander erfolgen m ssten als nebenl ufige Prozesse darstellen vgl Abschnitt 92 BB o nodd Abb 61 Verwendung von Auslassungen bei der Darstellung einer langen Liste 13 3 Gestaltbildung Ein intuitives Modell ist eine Gestalt ein einfaches in sich geschlossenes Ganzes Die gedankliche Nachbildung eines Programms bei der intuitiven Modellierung schlie t deshalb auch das Streben nach einer Gestalt ein Damit verbunden ist oftmals auch das Weglassen von Details dennoch ist Gestalt bildung nicht das gleiche wie Abstraktion Ein wichtiger Aspekt einer Intuition als Gestalt ist die ge dankliche Vertrautheit H ufig verwendet man Analogien aus dem Alltag z B Gegenst nde oder Ar rangements von Gegenst nden deren Funktionsweise oder Gebrauchsm glichkeiten wohl bekannt sind Eine Analogie f r ein Array ist z B ein Kasten mit mehreren F chern in den sich beschriftete Zettel befinden Mit diesem materiellen Arrangement sind eine Reihe von m glichen Operationen verbunden Man kann Zettel nacheinander herausnehmen sie lesen oder neu beschreiben etc Alles zusammen ergibt eine koh rente Gestalt Das Modell des Kastens ist komplexer und besitzt einen ge ringeren Abstraktionsgrad als z B ein Arrangement von nebeneinander liegenden Zetteln Es hat aber e
450. sammenhang gebracht der z B in einem UML Klassendiagramm dokumentiert wird 117 11 4 Klasse als Fabrik f r Objekte Bei der Fabrik Metapher stellt man sich eine Klasse als Akteur vor der Objekte bestimmter Art produzieren kann Im Unterschied zur Bauplan Metapher wird das Augenmerk auf die Instanzierung von Objekten also die Produktion gelegt Die Programmiersprache Python unterst tzt die Fabrik Metapher da Klassen so wie Funktionen aufrufbare Objekte callable objects sind die ein Objekt generieren und zur ckgeben 11 5 Klasse als Menge von Objekten Eine Klasse kann als Menge von Objekten eines bestimmten Typs vorstellen In der Philosophie spricht man von der Extension einer Kategorie So verbindet man h ufig mit numerischen Klassen wie int oder float Python den Gedanken an die Menge der ganzen Zahlen oder die Menge der Gleitkommazahlen Das Mengenkonzept wird auch im Zusammenhang mit Klassenattributen verwen det Ein Klassenattribut kann als gemeinsames Attribut aller denkbaren aber unter Umst nden noch gar nicht existierenden Objekte der Klasse gesehen werden 11 6 Klasse als Prototyp Im Prototyp Modell stellt man sich eine Klasse durch ein konkretes Objekt vor das gewisserma en als Stellvertreter f r alle Inkarnationen der Klasse fungiert Im Grunde gibt es zwei Konzepte f r Pro totypen n mlich die Vorstellung eines typischen oder eines unfertigen Objektes In der Begriffspsy chologie
451. samten Spieldauer und der insgesamt erreichten Punktzahl Beispiel f r ein XML Dokument lt log gt lt task id 1 time 50 gt lt model id groupl taski time 46 watchtime 1 eval 2 gt lt model id groupl taski time 44 watchtime 1 eval 3 gt lt correct time 28 gt return result lt correct gt lt correct time 37 gt result lt correct gt lt correct time 32 gt result append person 0 lt correct gt lt correct time 34 gt for person in persons lt correct gt lt time gt 25 lt time gt lt points gt 60 lt points gt lt runs gt 1 lt runs gt lt task gt lt session id pp group1508063 game pp groupl time 600 points 60 gt lt log gt 237 3 6 3 Beispiel f r eine automatisch generierte statistische Auswertung Kontext Der nachfolgende Auszug aus dem Bericht des Auswertungsdienstes f r Python Puzzles zeigt die Ergebnisse f r Aufgabe 1 aus dem Puzzle Modeling a group Der Aufgabenkontext lautet Wir modellieren eine Personengruppe durch eine Liste von Listen Beispiel p Anna 22 Tim 21 Sarah 19 Definieren Sie verschiedene Funktionen in denen eine solche Liste verarbeitet wird In Aufgabe 1 soll eine Funktion definiert werden die eine Liste mit den Namen der Gruppenmit glieder liefert Zu dieser Funktionsdefinition ist nur der Funktionskopf vorgegeben def getNames persons Die Anweisungen des Funktionsk rpers m ssen eingef g
452. schung und Aus sprache 1 S 39 60 Wittgenstein Ludwig 1953 Philosophische Untersuchungen 3 Auflage Frankfurt a M 1982 zu erst erschienen 1953 Wu Cheng Chih Dale Neil B Bethel Lowell J 1998 Conceptual Models and Cognitive Learning Styles in Teaching Recursion In Proceedings of the 29 SIGCSE technical symposium on com puter science education Atlanta Georgia USA S 223 227 Zachary Joseph L 1997 The Gestalt of Scientific Programming Problem Model Method Imple mentation Assessment In ACM SIGCSE 1997 S 238 242 Zietsman Aletta Clement John 1997 The Role of Extreme Case Reasoning in Instruction for Con ceptual Change In Journal of the Learning Sciences 6 1 S 61 89 159 160 Anhang 161 162 Abbildungsverzeichnis Abb 1 Gestalt eines Quadrats 21 Abb 2 Probleml sen mit dem p Prim Ausl schen 27 Abb 3 Visualisierung der Idee eines Rechenalgorithmus zur Berechnung der Summe von Gliedern einer Zahlenfolge 27 Abb 4 Entscheidungsbaum f r die bin re Suche 31 Abb 5 Ergebnis einer Umfrage zur H ufigkeit der Verwendung von Visualisierungen im Informatikunterricht n 20 31 Abb 6 Intuitive Modellierung einer Iteration ber eine Liste durch Entnahme von Items 36 Abb 7 Suchbaum und geschachtelte antizipatorische Intuitionen 38 Abb 8 Aufbau eine GAP Trees und eines L sungsbaums dunkel 39 Abb 9 Aufbau der Python Visual Sandbox 47 Abb 10 Screenshots aus dem Python
453. sel mit ID der Person group_id varchar 20 Fremdschliissel mit ID der Gruppe in der sich die Person befindet Das Feld bleibt leer falls die Person zu keiner Gruppe geh rt Tab 29 Tabelle person group pvsgroup Die Tabelle modelliert eine Gruppen z B Informatikkurse mit Gruppenleiter Coach Sie enth lt gruppenbezogene Daten mit denen die Validit t von Daten der Tabelle person in gewissen Gren zen gepr ft werden kann Attribut Datentyp Erl uterung id varchar 20 ID der Gruppe date int 20 Datum der Registrierung als Anzahl der Sekunden seit Beginn der Epoche 1 1 1970 coach id varchar 20 ID des Coaches minage smallint Mindestalter 203 maxage smallint H chstalter experience smallint Tage Programmiererfahrung mit Python lessons smallint Unterrichtsstunden pro Woche female smallint Anzahl weiblicher Personen country varchar 10 K rzel f r das Land institution varchar 10 Art der Institution university school other description varchar 250 Kurzbeschreibung der Gruppe townsize smallint Gr e der Stadt in der die Gruppe unterrichtet wird Einwohnerzahl bis 10 000 50 000 100 000 500 000 1000 000 mehr Tab 30 Tabelle pvsgroup Die Daten einer Gruppe werden in einem Online Fragebogen erfasst den der Gruppenleiter coach ausf llen muss coach Die Tabelle enth lt die Daten von Gruppenleitern z B Informatiklehrer in
454. siert Abb 100 zeigt Screenshots jeweils aus den l ngeren Varianten ak o t ee a u a Takt t Leis 4 3 2 fako faktni Abb 100 Visualisierung der Arbeitsweise rekursiver Funktionen Fakult t Execution Frames und Termersetzungen und Spiegeln eines Wortes nicht geschachtelte Akteure geschachtelte Execution Frames Die Spieler sollten u a angeben welches Modell sie verwenden w rden wenn sie jemandem die Arbeitsweise der rekursiven Funktion erkl ren m ssten Tab 45 zeigt die Verteilung der Wahlen Die letzte Spalte gibt das Signifkanzniveau des y Tests bei Vergleich der beobachteten Wahlen mit einer Gleichverteilung wieder 313 ein Schritt volle Rekursion p Berechnung der Fakult t Execution Frames 5 13 0 05934645 Berechnung der Fakult t Termersetzen 2 16 0 00096743 Wort spiegeln nicht geschachtelt 3 12 0 02013675 Wort spiegeln geschachtelt 4 11 0 07070116 Tab 45 Ergebnisse von ersten Sessions zweier Python Visuals Die Zahlen in Spalte 2 und 3 geben an wie viele Perso nen das jeweilige Modell zur Erkl rung der Arbeitsweise der Funktion verwenden w rden Erste und zweite Zeile Rekursive Berechnung der Fakult t 36 Spieler darunter 29 Sch ler und 5 Studenten 31 der Spieler haben an Workshops mit der PVS teilgenommen Dritte und vierte Zeile Reku
455. sive Funktion ist eine Funktion die sich selbst aufruft Doch ist dieses Modell nur f r den Spezialfall endrekursiver Prozeduren geeignet Wenn der rekursive Aufruf nicht die letzte Aktivit t ist kann er nicht als Wiederholung eines ansons ten abgeschlossenen Vorgangs betrachtet werden Man spricht dann von eingebetteter Rekursion Un tersuchungen von Dicheva und Close 1996 belegen dass Sch ler bei der Interpretation von Logo Programmen das Modell der Selbstaufforderung auch f r eingebettete Rekursion verwenden Details in Anhang 4 4 101 9 6 4 Delegationsmodell Im Delegationsmodell wird deutlich zwischen der Definition und Ausf hrung einer Funktion diffe renziert Eine Funktion wird nur einmal definiert kann aber durch mehrere Akteure die Prozesse rep r sentieren und sich zu einem Zeitpunkt in unterschiedlichen Zust nden befinden ausgef hrt werden Beim Aufruf einer Funktion durch einen Akteur wird eine Aufgabe an einen anderen Akteur dele giert der entweder schon existiert oder in diesem Moment erzeugt wird Das Delegationsmodell ist nicht nur auf rekursive Aufrufe beschr nkt sondern kann f r jede Art von Funktionsaufruf verwendet werden Bei einem rekursiven Aufruf ist allein die Besonderheit dass der neue Akteur gem dersel ben einmaligen Funktionsdefinition arbeitet wie der aufrufende Akteur Das Konzept der Wiederho lung spielt hier keine Rolle Der aufrufende Akteur Prozess wartet bis die delegierte Aufga
456. sogar Prozesse mit beliebig vielen Wiederholungen Das hei t innerhalb des Systemde signs gibt es keinen Grund die Aktivit t abzubrechen Im Alltag gibt es viele Beispiele f r rekursive Selbstaufforderungen e L sen einer Mathematikaufgabe L se die Gleichung und mache die Probe Wenn sich die L sung als falsch erweist l se die die Aufgabe noch einmal 100 e Brennen einer CD Nachdem die CD gebrannt ist fragt das System ob man noch eine weitere CD mit dem gleichen Inhalt beschreiben m chte Wenn man eine neue CD einlegt und den entspre chenden Button anklickt wird der Vorgang wiederholt e Sich zum Bahnhof durchfragen Frage jemanden nach dem Weg zum Bahnhof und folge den An weisungen Wenn du dann noch nicht am Bahnhof bist z B weil die Beschreibung unvollst ndig oder teilweise falsch war frage dich weiter durch Zu beachten ist dass das Modell der rekursiven Selbstaufforderung nur bei endrekursiven Algo rithmen Sinn macht weil es nur hier eine Gestalt der zu wiederholenden Aktivit t gibt Bei eingebette ter Rekursion gibt es zumindest zwei Bl cke einer vor und einer nach dem rekursiven Aufruf Ein Beispiel f r eine endrekursive Prozedur ist das Logo Programm aus Abb 45 Es wurde mit Microworld EX www microworlds com einer modernen Variante der Logo Turtle Mikrowelt er stellt Backpack for t1 on pagel to draw n repeat 4 fd n right 90 if in gt 2 draw n 2 end
457. ss die Funktion wie ein Werkzeug zu einer zu bearbeitenden Daten Entit t gebracht wird 10 5 1 Bewegung von Daten Wenn Daten Entit ten mit einem Aufenthaltsort assoziiert werden k nnen Verarbeitungsprozesse durch Bewegungen also Ortswechsel der Daten dargestellt werden e In einem Venn Diagramm wird die Zugeh rigkeit zu einer Menge dadurch festgelegt dass ein Element sich innerhalb eines z B durch eine geschlossene Linie markierten Bereichs aufh lt Beispielsweise kann das Entfernen eines Elementes Daten Entit t aus der Menge dann so darge stellt werden dass es aus diesem Bereich herausgeholt wird e Modelle von Listen oder Arrays bei denen Items nebeneinander liegen oder in einem Beh lter mit mehreren F chern aufbewahrt werden k nnen sortiert werden indem die Elemente die Pl tze wechseln e Eine Funktion wird aufgerufen indem eine Daten Entit t in eine Box wandert die die Funktion genauer den Prozess der beim Aufruf einer Funktion generiert wird repr sentiert Datenfluss modell e Eine Zuweisung der Form b a kann durch Bewegung einer Daten Entit t oder einer Kopie von Beh lter a nach Beh lter b visualisiert werden e Ein Baum in dem die Eltern Kind Beziehung durch r umliche N he der Knoten dargestellt wird kann durch Verschieben der Knoten umstrukturiert werden Obwohl Graphen r umliche Darstellungen sind k nnen sie nur in Ausnahmef llen durch alleini ge Bewegung der Knoten ver ndert
458. ss es eine geeignete Veranschaulichung ist Tab 18 Allerdings schnitt es signifikant schlechter ab als das Beh ltermodell Abb 50 Mitte bei dem die Zuweisung b a durch Transport einer Kopie des Inhalts von a nach b visualisiert wurde Fisher Test p 0 04 Betrachten wir nun die beiden ersten Animationen die ungeeignete Namenbewegungen mit Ket tenbildung enthalten Beide Modelle wurden von den meisten der 154 Sch lerinnen und Sch ler posi tiv bewertet Doch zeigte sich dass das falsche Beh ltermodell pq_assign al 6 eher als richtig ak zeptiert wurde 63 6 als das falsche beh lterfreie Modell pq assign al 9 mit 50 7 Der Unterschied ist signifikant p 0 029 Bei Vielspielern konnte zudem beim beh lterfreien Modell ein h herer Lerneffekt beobachtet wer den Abb 52 links Im dritten Spiel haben 90 der 41 Sch ler dieses Modell als ungeeignet einge stuft im Vergleich zu nur 76 beim Beh ltermodell 113 100 00 7 100 00 80 00 80 00 t als unpassend beurteilt 60 00 Konfidenz 40 00 60 00 40 00 20 00 20 00 BE 0 00 Abb 52 Beurteilung unpassender Modelle mit Namenbewegungen f r Zuweisungen Lernkurven bei Vielspielern n 41 f r ein beh lterfreies Modell pq_assign_al_9 links und ein Modell mit Beh lter pq_assign_al_6 rechts Das Beh ltermodell mit falschen Namenbewegungen ist persistenter als das beh lterfreie Modell Trotz Feedback Reflektion und in
459. st ndnis dienen zielen auf eine globale Sicht Das Konzept muss ins gesamt richtig verstanden werden Beim Erkl ren ist h ufig das gezielte Ausgrenzen bestimmter aus gew hlter Aspekte wichtig Fokussierung Entsprechend k nnen Erkl rungsmodelle sehr spezifisch sein Das Bem hen um Verstehen geht in alle Richtungen Neue Konzepte werden m glichst vielf ltig mit bekannten Konzepten vernetzt und haben zudem Auswirkungen auf die vorhandenen mentalen Vorstellungen Die Hermeneutik spricht von einer Horizonterweiterung des Subjekts Erkl ren dage gen ist gerichtet Es geht darum gezielt bestimmte Aspekte durch geeignete Intuitionen darzustellen Anlass einer Erkl rung kann eine Frage sein die von au en kommt und die es zu beantworten gilt Dagegen ist Verstehen das immer vorl ufige Ergebnis einer selbstgesteuerten Auseinandersetzung Erkl rungen k nnen Teil einer Verst ndnisgewinnung sein In diesem Fall ist der Adressat der Er kl rung die eigene Person Man macht sich dann selbst einen Zusammenhang klar und versucht Ge wissheit zu erlangen Typische Anl sse f r Erkl rungen mit intuitiven Modellen im Klassenraum sind e Darstellung der Arbeitsweise eines Programmst cks in einem Kommentar oder im Rahmen von Diskussionen des Programmierteams e Bei der Suche nach einem semantischen Fehler muss erkl rt werden warum das Programm eine bestimmte nicht korrekte Ausgabe liefert e Erkl rungen in einer Bedienungsanleitung zu
460. st container move Time 10 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 7 35 3 91 Average watch time standard deviation 11 18 seconds 10 50 Number and percentage of players who declared that the model is appropriate good judgements 49 players 72 06 percent Average confidence in good judgement standard deviation 7 45 3 97 Number and percentage of players who declared that the model is not appropriate bad judgements 19 players 27 94 percent Average confidence in bad judgement standard deviation 7 11 3 84 252 Task 3 Judging Model pq_list_a3 4 Associated program a gt age Description Visualization of a greater than function by a box with sensors for the input values Time 8 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 68 Average bet points 0 to 10 representing the player s 7 13 3 70 confidence standard deviation Average watch time standard deviation 10 65 seconds 7 18 Number and percentage of players who declared that 58 players 85 29 percent the model is appropriate good judgements Average confidence in good judgement standard 7 41 3 66 deviation Number and percentage o
461. st es anonym und hat keinen expliziten Namen Dagegen kann ein Be h lter auch leer sein Insofern unterst tzen dynamische Programmiersprachen wie z B Python die ohne Variablendeklarationen auskommen eher das Namensmodell Denn erst mit einer Zuweisung wird ein neuer Name eingef hrt Dagegen kann man sich eine Variablendeklaration bei Java oder Pas cal so vorstellen dass ein zun chst leerer Beh lter bereitgestellt wird der erst sp ter mit einem Objekt gef llt wird Gravierende Konsequenzen werden sichtbar wenn man folgende Anweisungsfolge inter pretiert x 1 MI e Im Namenmodell erh lt das Objekt 1 nun einen zweiten Namen n mlich y Das entspricht voll kommen dem Alltagsgebrauch von Namen F r ein und dasselbe Objekt werden h ufig verschiedene Namen verwendet Wendet man das Beh ltermodell korrekt an so ergibt sich folgende Interpretation Der Inhalt der Variablen x wird kopiert und in der Variablen y gespeichert 61 Abb 16 Modelle f r Mehrfachnamen Bei Programmieraufgaben deutet die Bevorzugung des Beh ltermodells f r Variablen und der In terpretation einer Zuweisung als Kopiervorgang auf eine Tendenz zur Vermeidung von Mehrfachna men hin Man arbeitet manchmal lieber mit doppelten Datenentit ten als mit doppelten Namen f r ein und dasselbe Objekt 6 2 Erscheinungsmodelle Bei unver nderbaren Objekten wie z B Zahlen ist das Beh ltermodell unproblematisch Schwierig wird es wenn es sich um nderbare Obj
462. ste mit zwei Namen Erscheinungsmodell 3 Die dritte Animation stellt Liste s als Beh lter dar der ein Schild mit der Aufschrift s tr gt Es er scheint ein zweites Schild mit der Aufschrift t das neben dem alten Schild an dem Kasten befestigt wird Dem Listenobjekt wird also ein neuer zweiter Name zugeordnet Abb 19 Abb 19 Modell einer Liste mit zwei Namen 4 Die vierte Animation schlie lich visualisiert das Programm mit einem Zeigermodell Abb 20 Die Liste s wird durch ein Brett mit drei Zeigern dargestellt die auf einen einzigen Zettel mit der Zahl 1 zeigen Ein Pfeil mit der Beschriftung s zeigt auf das Brett Die Zuweisung t s wird dadurch visu alisiert dass ein zweiter Pfeil mit der Beschriftung t erscheint der auf dasselbe Brett verweist Schlie lich erscheint ein neuer Zettel mit Aufschrift 5 Der erste Pfeil auf dem Brett das die Liste dar stellt l st sich von dem Zettel mit der 1 und zeigt auf die 5 Abb 20 Konsistentes Zeigermodell f r die Ver nderung einer Liste mit zwei Namen In dem Python Visual wurden folgende Fragen gestellt e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funk tioniert e An welche Animation k nnen Sie sich am besten erinnern e An welche Animation denken Sie wenn Sie sich die Ausf hrung des Skriptes vorstellen Tab 4 zeigt die Antworten von 70 Sch lerinnen und Sch lern die an einem PVS Workshop teil genommen haben Die Ver
463. steme Oldenbourg Verlag M nchen u a Schwank Inge 2003 Einf hrung in pr dikatives und funktionales Denken In Zeitschrift f r Didak tik der Mathematik 35 3 S 70 78 Schwank Inge 2005 Maschinenintelligenz ein Ergebnis der Mathematisierung von Vorg ngen Zur Idee und Geschichte der Dynamischen Labyrinthe In C Kaune I Schwank amp J Sjuts Ma thematikdidaktik im Wissenschaftsgef ge Zum Verstehen und Unterrichten mathematischen Den kens Osnabr ck Forschungsinstitut f r Mathematikdidaktik Schwill Andreas 1993 Fundamentale Ideen der Informatik In Zentralblatt der Mathematik 20 1993 S 20 31 Schwill Andreas 2001 Ab wann kann man mit Kindern Informatik machen Eine Studie ber in formatische F higkeiten von Kindern In Reinhard Keil Slawik Johannes Magenheim Hrsg In formatikunterricht und Medienbildung INFOS 2001 9 GI Fachtagung Informatik und Schule 17 20 September 2001 in Paderborn LNI 8 GI 2001 S 13 30 Smith John P diSessa Andrea A Roschelle Jeremy 1994 Misconceptions Reconceived A Con structivist Analysis of Knowledge in Transition In Journal of the Learning Sciences Vol 3 1993 94 Nr 2 Soloway E Spohrer J C 1989 Hrsg Studying the novice programmer Hilsdale Lawrence Erl baum Associates Sommerville Ian 1997 Software Engineerung 5 Auflage Harlow England Addison Wesley 157 Spohrer James C Soloway Elliot Pope Edgar 1989 A
464. t bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 7 Aktive Entit ten z B Sch ler in einem Rollenspiel die etwas in Empfang nehmen und oder einem anderen Akteur geben k nnen bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o pral tisch immer wenn es zum aktuellen Unterrichtsstoff passt 8 Bewegliche Zettel auf denen etwas geschrieben steht zur Darstellung von Datenfl ssen bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 9 Bewegliche Zettel zur Visualisierung von Botschaften bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 10 Haftzettel Zettel mit Klebestreifen Postits etc auf denen ein Name steht und die an ein Objekt geklebt werden um es zu benennen bisher noch nie bisher insgesamt ein oder zwei Mal gelegentlich o h ufig aber nicht immer wenn es passen k nnte o praktisch immer wenn es zum aktuellen Unterrichtsstoff passt 183 Abb 83 Fragebogen
465. t Anklicken einer ver steckten Stelle auf der PVS Startseite und Eingabe eines Passworts Diese Programme liefern jeweils eine Webseite mit statistischen Daten die folgenderma en aufgebaut ist F r jede der folgenden Personengruppen gibt es getrennt einen statistischen berblick e Alle Teilnehmer e Alle Teilnehmer die an einem Workshop mit der PVS teilgenommen haben e Sch lerinnen und Sch ler die an einem Workshop teilgenommen haben 211 Art und Darstellung der Daten zu der jeweiligen Personengruppe h ngen von der PVS Applikation ab Bei Python Visuals werden Betrachtungszeiten f r die Modelle und die Verteilung der Antworten auf die Fragen wiedergegeben Besonders komplex ist die Auswertung der Python Puzzles Hier wird die mittlere Reihenfolge in der richtige und falsche Puzzlest cke verwendet worden sind dargestellt Au erdem enth lt das Auswertungsdokument Angaben ber die Benutzung und Bewertung der visuel len Modelle die als Hilfe angeboten worden sind Die Auswertung der Python Quiz Sitzungen kon zentriert sich auf Entscheidungszeiten Bewertung und Konfidenz der Bewertung von visuellen Mo dellen Jedes Spiel der PVS kann von einer oder zwei Personen gespielt werden Damit wird die bliche Ausstattung von Rechnerr umen an Schulen ber cksichtigt die h ufig nur einen Computer f r zwei Personen vorsehen In der statistischen Auswertung wird deshalb zwischen subjektiven und objektiven Sitzungen unterschieden Wen
466. t Die Instanzierung wird also auf die Verarbeitung eines Zahlenwertes Metamorphose reduziert Co ntah r Abb 55 Screenshots aus Animationen zur Veranschaulichung von Instanzierungen aus Python Quiz Objects Tab 20 kann man entnehmen dass alle drei Modelle tiberwiegend als passend beurteilt wurden Es l sst sich keine signifikante Bevorzugung des einen oder anderen Modells feststellen n 23 Dauer der Ani Entscheidungs Als passend beur Konfidenz mation zeit Stdabw teilt von Stdabw 1 Auswahl 6s 25 s 28 17 74 74 40 pq_objects_al_ 2 2 Fabrik 12s 15s 11 18 78 80 35 pq_objects_al_ 3 3 Metamorphose 6s 11s 12 18 78 83 24 pq_objects_al_ 6 Tab 20 Beurteilung von Modellen f r Instanzierungen Ber cksichtigt wurden die Antworten aus ersten Spieldurchg n gen von 23 Personen darunter 21 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenommen haben Eine weitere Animation pq_objects_al_5 ist eine Variante des oben beschriebenen Fabrikmo dells Wiederum wird die Klasse Container durch eine Box dargestellt Der Unterschied zu Mo dell pq_objects al_3 ist dass sie neben einem Zettel mit Aufschrift 0 7 noch einen zweiten Zettel mit dem Objektnamen bottle als Eingabe erh lt Anschlie end verl sst eine Karaffe Objekt mit 123 Klebezettel bottle die Box Hier wird die Instanzierung so interpretiert dass die Klasse benannte Obj
467. t Sonne sun Die Reihenfolge der Schl ssel Wert Paare in einem Dictionary ist irrelevant Angenommen wir wollen in einer Iteration samtliche Werte eines Dictionaries ausgeben Bei dieser Aufgabenstellung ist die Reihenfolge mit der die Eintr ge des Dictionarys bearbeitet werden v llig unerheblich Hauptsa che es werden tats chlich alle Elemente erfasst Nun haben wir zwei M glichkeiten e Iteration ber die Liste aller Schl ssel Diese Liste wird von der Methode keys geliefert Technisch verwendet das Python Laufzeitsystem dann den Iterator des Listenobjektes das die Schl ssel enth lt 195 e Iteration mit Hilfe des Iterators des Dictionary Objektes Hier wird also keine Liste oder sonstige Sequenz verwendet Im folgenden Skript Beispiel werden die beiden M glichkeiten realisiert dict Sonne sun Mond moon Erde earth for key in dict keys Iteration ueber Liste print dict key for key in dict Iteration ueber Dictionary print dict key Das Iterator Pattern hat folgende Vorteile vgl van Rossum Yee 2001 e K rzere und besser lesbare Programmtexte Auf intermedi re Listen die eigens f r die Iteration erstellt werden z B mit der keys Methode bei Dictionaries kann verzichtet werden e Bessere Performanz Durch die Verwendung des abstrakteren Iterators werden berfl ssige Verar beitungsprozesse vermieden Es wird sozusagen nur das notwendigste getan Wenn eine
468. t ten und Bezie hungen zwischen ihnen darstellt Beispiele sind UML Objekt und Klassendiagramme Flussdiagram me oder Gesch ftsprozessdiagramme In dynamischen Visualisierungen werden Beziehungen zwi schen Entit ten in Form kleiner Dramen durch typische Aktivit ten Interaktionen veranschaulicht Eine strukturorientierte Repr sentation einer rekursiven Funktion ist z B eine Animation auf der Basis von Execution Frames die durch K sten visualisiert werden Mit jedem rekursiven Aufruf der Funk tion erscheint ein neuer Kasten Er ist eine aktive Entit t die mit anderen Entit ten interagiert Sobald er seine Aufgabe erledigt hat verschwindet er wieder Das Beispiel deutet an dass strukturorientierte Repr sentationen von Programml ufen schnell komplex werden k nnen und dann schlecht memoriert werden k nnen Was man sich merken kann ist die Grundstruktur oder ein Grundprinzip aus dem man bei Bedarf in Gedanken oder mit Bleistift und Papier eine detailreichere Version rekonstruieren kann In der Standardliteratur zu Algorithmik z B Horowitz amp Sahni 1981 Wirth 1986 werden zur Veranschaulichung der Arbeitsweise und Komplexit t von Algorithmen h ufig Abbildungen ver wendet die keine Struktur aus Entit ten und Beziehungen wiedergeben sondern in irgendeiner Form ein Protokoll der Ausf hrung des Algorithmus darstellen Solche Repr sentationen nennen wir ablauf orientiert Abb 4 zeigt einen Entscheidungsbaum f r die bin re
469. t bei Java for i Startwert Bedingung die f r i erf llt sein muss Berechnungsvorschrift f r den Nachfolger von i Anweisungsfolge Bei der Ausf hrung einer for Anweisung wird ein impliziter Iterator verwendet der das jeweils ak tuelle Element der Kollektion liefert Im Python Visual Analogies for Iterations wurde die Arbeits weise des Iterators in folgendem Python Programm durch verschiedene intuitive Modelle beschrie ben Se Ay 2l FOr 3 1n Ss print i i 1 Im ersten Modell Abb 43 links werden aus einem Beh lter mit F chern nach und nach Items Karten mit Zahlen entnommen und verarbeitet Entnahme Modell Das Modell l sst sich f r alle Arten von Kollektionen verwenden Im Falle einer Sequenz wie hier in der die Items eine bestimmte Reihen folge haben ist das n chste Element dasjenige das im Beh lter am weitesten links steht Durch die Entnahme wird garantiert dass jedes Item der Kollektion nur ein Mal verarbeitet wird Wenn der Be h lter leer ist ist die Iteration beendet Das Entnahme Modell ist das einfachste und pr gnanteste der hier betrachteten Iterationsmodelle Es wird im Alltag in vielen Situationen verwendet etwa beim Aus r umen einer Sp lmaschine oder wenn man alle Pralinen aus einer Schachtel nimmt und aufisst Aller dings impliziert das Entnahmemodell dass die Liste w hrend der Iteration ver ndert wird was nicht der realen Arbeitsweise des Programms entspricht Gleichwohl ist das En
470. t ist bei informatischen Probleml sungen z B bei einer Programmentwicklung von besonderer Bedeutung Denn mit jeder Programmzeile investiert man Arbeit in das Projekt und geht das Risiko eines semantischen Fehlers ein der sp ter nur mit gro er M he lokalisiert und beseitigt werden kann wenn er denn berhaupt gefunden wird Ein Programmentwickler der eine Programm zeile formuliert verl sst sich also auf seine Intuition Ohne subjektive Gewissheit dass die gew hlte Formulierung richtig ist w rde er oder sie leichtfertig die Korrektheit des Gesamtsystems gef hrden und sich potenziell erhebliche Mehrarbeit also Zusatzkosten beim Debuggen aufb rden Persistenz und Zwanghaftigkeit Fischbein 1987 ist der Auffassung dass intuitive Modelle niemals vergessen werden sondern als stilles Wissen erhalten bleiben und mehr oder weniger unbewusst das Denken eines Menschen ein Leben lang beeinflussen auch wenn er oder sie inzwischen andere unter Umst nden geeignetere Konzepte gelernt hat Diese Zwanghaftigkeit und Persistenz intuitiver Modelle wurde oft im Zusam menhang mit Fehlvorstellungen beobachtet Ein viel diskutiertes Beispiel aus der Physik ist das Schwungmodell das Kraft als Ursache von Bewegung beschreibt Nakamura 1974 Clement 1982 Fischbein 1987 S 171 S 176 ff Dabei handelt es sich um die Vorstellung dass ein sich bewegender K rper immer langsamer wird und schlie lich zum Stillstand kommt wenn man ni
471. t three times First session Second session Third session Average bet points 0 to 10 representing the 7 07 3 70 8 75 2 94 8 05 3 69 player s confidence standard deviation Average watch time standard deviation 9 39 seconds 6 80 seconds 3 95 seconds 6 30 4 91 2 86 Percentage of players who declared that the model 60 98 percent 51 22 percent 29 27 percent is appropriate good judgements Average confidence in good judgement standard 8 20 3 19 7 86 3 73 7 92 3 96 deviation Percentage of players who declared that the model 39 02 percent is not appropriate bad judgements 48 78 percent 70 73 percent Average confidence in bad judgement standard 5 31 3 86 deviation 9 74 1 15 8 10 3 64 288 Modeling messages in an object oriented program This game contains 5 tasks In each task the player has to judge several models whether or not they are appropriate to explain the execution of some program statement Task 1 bottle Container 0 7 Task 2 bottle fill 0 4 Task 3 bottle empty Task 4 bottle fill 0 4 Task 5 vase fill bottle empty The following table provides some general information about the usage of this game pq_objects Number of objective sessions not taking into account that there are sometimes two players working together 28 sessions Number of subjective
472. t werden Angeboten werden Puzzlest cke mit korrekten und falschen Anweisungen Die korrekte L sung lautet def getNames persons result for person in persons result append person 0 return result Zu dieser Aufgabe wurde nur eine einzige Animation angeboten die auch als nonverbale Beschrei bung der erwarteten Funktionalit t gesehen werden kann Auszug aus der automatisch erstellten Auswertung Modeling a group pp_group1 Maximal time 600 seconds Objective number of sessions 54 sessions Subjective number of sessions 69 sessions taking into accout that there are sometimes two players working together Average number oftimes canceled and uncanceled 1 23 sessions 0 50 sessions a player played this game standard deviation Average number of players in all objective sessions 1 28 0 45 players standard deviation Objective number of uncancelled sessions includ 33 sessions ing sessions in which no task was solved Subjective number of uncancelled sessions includ 40 sessions ing sessions in which no task was solved Average number of points in all objective uncan 84 94 94 68 points celed sessions standard deviation 238 Task 1 Successful solutions Number of successful subjective solutions of task 24 solutions Average number of test runs standard deviation 3 30 runs 3 21 Average solution time standard deviation 3
473. te Verwendung des Modells der Selbstaufforderung bei eingebetteter Rekursion Dicheva und Close 1996 haben Sch ler befragt welche Bildschirmausgabe die Logo Prozedur aus Tab 44 mit einem eingebetteten rekursiven Aufruf liefert initialer Aufruf pattern3 LEGO Die Tabelle zeigt die korrekte und eine falsche L sung Logo Programm Korrekte L sung Falsche L sung Beispiel to pattern3 w EGO EGO if empty w stop EGO EGO print w GO GO pattern3 bf w print w end GO EGO EGO Tab 44 Rekursive Logo Prozedur mit einer korrekten und zwei falschen Bildschirmausgaben beim Aufruf von pattern3 LEGO Die richtige L sung kann man nur finden wenn man annimmt dass beim rekursiven Aufruf ein neuer Prozess Akteur entsteht der eine Kopie des Strings w ohne das letzte Zeichen einer eigenen internen Variablen w zuordnet und verarbeitet Delegationsmodell siehe n chster Abschnitt Auf die falsche L sung Tab 44 rechts kommt man wenn man von der Annahme eines einzigen Akteurs ausgeht Das Tracing kann z B folgenderma en erkl rt werden Zuerst wird die Zeichenkette LEGO auf den Bildschirm geschrieben Beim rekursiven Aufruf wird die Ausf hrung der Aktionssequenz abgebrochen und von neuem begonnen gleicher Akteur Aller dings wird diesmal die Zeichenkette ohne den ersten Buchstaben bf w verwendet In der gleichen Weise wird fortgefahren bis der String nur aus einem
474. teckende Idee zu beschreiben Damit sollte eine Elaboration des Materials angeregt wer den Sp ter sollten die Teilnehmer angeben welche Animation ihre pers nliche Vorstellung von ei nem regul ren Ausdruck am besten wiedergibt Die Abbildungen Abb 88 bis Abb 90 zeigen Screens hots der Flash Filme Die erste Animation visualisiert einen regul ren Ausdruck als Sieb das aus herunterfallenden Kar ten mit Zeichenketten diejenigen herausfiltert die auf den regul ren Ausdruck passen also zu L re geh ren Nicht passende Strings gehen durch das Sieb hindurch Hier wird also allein der Aspekt des Herausfilterns der Trennung von passenden und unpassenden Strings thematisiert Wie diese Tren nung funktioniert oder funktionieren k nnte wird nicht beschrieben 192 Abb 88 Regul rer Ausdruck als Sieb das bestimmte Zeichenketten ausfiltert Der zweite Film veranschaulicht einen regul ren Ausdruck als Maschine die Zettel mit passenden Zeichenketten produziert Hier wird also die formale Definition der Semantik eines regul ren Aus drucks re ber seine Sprache L re visualisiert Abb 89 Regul rer Ausdruck als Produzent von Zeichenketten Die dritte Animation verwendet die Metapher des Schloss Schl ssel Prinzips Man sieht man Kar ten mit aufgedruckten Zeichenketten die ber den Bildschirm wandern Jede Karte besitzt an der Oberkante ein markantes Profil Es ist der Form der Buchstaben der Zeichenke
475. teilung weicht signifikant von einer Gleichverteilung ab p 0 000 die bei zuf lligem Antworten zu erwarten w re Die Sch lerinnen und Sch ler bevorzugten das Erschei nungsmodell Modell 2 Dagegen wird das konzeptionell einfachere Zeigermodell abgelehnt und sogar von weniger Personen gew hlt als das falsche Modell 1 63 Wie in Abschnitt 13 10 erl utert wird kann die Annahme von Erscheinungen als Exhaurierung des Beh ltermodells gesehen werden Wenn dieses Konzept trotz seiner unn tigen Komplexit t von Anf ngern zur Interpretation von Programmen verwendet wird ist das ein Indiz f r die hohe Intuitivi t t des Beh ltermodells n 70 Falsch Erscheinung Zweites Schild Zeiger Erklaren 15 40 11 4 Sich erinnern 12 23 16 19 Sich vorstellen 10 34 17 9 Summe 37 97 44 32 Tab 4 Wahl verschiedener Modelle zur Veranschaulichung eines Programms Ergebnisse von 70 ersten Sitzungen wah rend Workshops mit der PVS Teilnehmer 56 Sch ler und 14 Sch lerinnen aus Deutschland sie besch ftigten sich im Schnitt 3 9 Stunden pro Woche mit Programmierung und hatten ein Durchschnittsalter von 17 0 Jahren 6 3 Wem geh rt ein Name Zeiger versus Etiketten Wenn ich bei einem Abendessen am Tisch einen Menschen mit seinem Namen anspreche um ihm eine Botschaft zukommen zu lassen gehe ich davon aus dass die Angesprochene den Namen kennt Der Name der im Personalausweis steht wird als Eigentum des Benannt
476. tellungen z B In Wirklichkeit ver ndert sich die Liste nicht zu verwenden 5 8 Namenbewegung bei Iterationen In einigen Animationen der PVS Applikation Python Quiz List wird die Programmzeile for n a in persons durch Namenbewegungen veranschaulicht siehe Abb 111 Dabei werden Namen durch bewegliche Etiketten z B Klebezettel oder Zeiger repr sentiert 1 In der ersten Animation wird konsequent das Zeigermodell f r Namen verwendet Zeiger mit den Na men n und a markieren die beiden Items des aktuellen Tupels das selbst ein Element der Liste persons ist Die Zeiger bewegen sich von Tupel zu Tupel 2 Das zweite Modell stellt die Liste durch eine Variante eines Beh ltermodells dar Brett mit grauen Bereichen f r die Elemente Die Namen n und a werden durch Klebezettel repr sentiert die sich von Wert zu Wert bewegen 3 Im dritten Modell sind ein Beh ltermodell f r die Liste und Zeigermodelle f r die Laufvariablen n und a kombiniert persons Abb 111 Modelle mit Namenbewegung zur Visualisierung einer Iteration Konsequentes Zeigermodell pq_assign_al_9 Transport der Kopie eines Namens pq_assign_al_6 und Zeiger ber Beh lter pq_assign_al_8 Die Ergebnisse in Tab 49 zeigen dass alle drei Modelle etwa von vier F nftel der Sch ler als pas send gew hlt wurden bei etwa gleicher Konfidenz Es konnte keine berlegenheit des einen oder anderen Modells festgestellt werden
477. tente und korrekte Visualisie rung von Zuweisungen durch Namenbewegungen Der Name b bewegt sich zun chst in Richtung Kle 112 bezettel a und heftet sich dann an die gleiche Datenentit t Karte mit der Zahl 3 an der sich bereits der Name a befindet Pr sg Abb 51 Modelle mit Namenbewegung zur Visualisierung einer Zuweisung Namenskette pq_assign_al_9 Transport der Kopie eines Namens pq_assign_al_6 zweiter Name f r Beh lter pq_assign_10 und zweiter Name f r Datum pq_assign_al_ 8 n 154 Dauer der Entscheidungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Namenskette pq_assign_al_ 9 9s 13 75 s 78 50 7 78 2 30 7 11 58 Transport der Kopie eines Namen 6s 10 50 s 98 63 6 87 2 24 1 pq_assign_al_6 7 75 Zweiter Name f r Beh lter 6s 17 31 s 103 66 9 77 6 pq_assign_al_10 18 40 31 3 Zweiter Name pq_assign_al_8 9s 14 05 s 119 77 27 82 1 31 1 12 56 Tab 18 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen der Form b a Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 154 Sch lerinnen und Sch lern die an Workshops mit der PVS teilgenom men haben Am unproblematischsten gibt das vierte Modell Zuweisungen durch Namensbewegungen wieder Fast vier F nftel 119 der 154 Sch ler die Python Visual Assign gespielt haben waren bereits beim ersten Spieldurchgang berzeugt da
478. ter Linie Sinnschaffung annehmen Nackter Programmtext wird als sinnvolles Modell gedeutet modellieren Ausschnitt programmieren aus Programm Realwelt R ckmodellieren vermuteter Ausschnitt aus Realwelt Abb 66 R ckmodellieren R ckmodellierung hei t zu einem gegebenen Programm die Funktionalit t herauszufinden Wozu dient das Programm Was leistet es Bei diesen Fragen verwendet man den Funktionsbegriff der Sys temtheorie betrachtet das Programm als System und sucht nach dem Nutzen im Hinblick auf Ziele die selbst au erhalb des Systems liegen Wer die Funktion im Sinne eines Zwecks eines gegebenen Programms beschreibt muss deshalb kreativ werden und einen Kontext erfinden innerhalb dessen es sinnvoll verwendet werden k nnte Nach der Theorie von Pennington 1987 ist die Suche nach Funktionalit t neben der Auseinan dersetzung mit Kontrollmechanismen Datenfl ssen und den Zust nden die bei der Ausf hrung des Programms durchlaufen werden einer von mehreren kognitiven Prozessen Abstraktionen die zum Verstehen eines Programmtextes f hren Beim funktionalen Verstehen werden Programmst cke Zie len zugeordnet Es entsteht ein Baum mit dem globalen Ziel des gesamten Programms als Wurzel und darunter immer weiter ausdifferenzierten Teilzielen Nach den Ergebnissen von Davies 2000 ist das schnelle Erkennen von Funktionalit t mit Experti se verbunden In einem Experiment zeigte er 16 Anf ngern und 16 Prog
479. tiert alle drei Modelle als geeignet wobei das dritte Modell gegen ber den anderen signifikant bevorzugt wird n 68 Dauer der Entscheiungs Als passend Konfidenz Animation zeit Stdabw beurteilt von Stdabw Naive Bewegung pq_list_a2_6 10s 9 78 s 35 51 7 75 7 38 1 5 97 Bewegung ohne Kopien 10s 8 81 s 40 58 8 77 2 38 1 pq_list_a2_2 6 22 Bewegung von Kopien pq_list_a2_1 10s 11 18 s 49 72 06 73 5 39 7 10 50 Tab 48 Beurteilung von Modellen zur Veranschaulichung von Zuweisungen im Rahmen einer Iteration Ber cksichtigt wurden die Antworten aus ersten Spieldurchg ngen von 68 Sch lerinnen und Sch lern die an Workshops mit der PVS teil genommen haben Die beiden ersten Modelle k nnen als Fehlvorstellung interpretiert werden weil im zugeh rigen Programm die Liste nicht ver ndert wird und in den Variablen a und n keine Daten gesammelt wer den Es kann aber auch sein dass einem Bef rworter dieser Modelle klar ist welche Vereinfachungen bzw Abweichungen in ihnen stecken und dass sie gewisserma en gr eren Abstand zum Programm text haben Die drei Modelle weisen in der oben dargestellten Reihenfolge wachsende strukturelle 321 Komplexit t und damit sinkenden Gestaltcharakter auf Das Modell der naiven Bewegung ist struk turell am einfachsten und insofern das intuitivste Es kann denk konomisch sein ein solches Modell in Kombination mit einschr nkenden Vors
480. tiert wird Operationen anwenden f r die der urspr ngliche Datentyp nicht geeignet war in unserem Beispiel etwa Divisionen oder Wurzelberechnungen 5 5 Umbenennungen bei der der Ausf hrung von Funktionen Den Prozess der beim Aufruf einer Funktion entsteht kann man als besonderen Bereich darstellen der von der Au enwelt abgetrennt ist Man kann sich vorstellen dass eine Daten repr sentierende Entit t die einen solchen Bereich betritt einen neuen Namen annimmt Er ist in der formalen Parame terliste spezifiziert und bringt bei gutem Programmierstil die Rolle des Objektes im neuen Kontext zum Ausdruck Abb 107 Umbenennungen bei der Ausf hrung einer Funktion Sechs Screenshots aus einer Animation der PVS Python Puzzle Assert First Steps 21 Wikipedia Stichwort Typumwandlung www wikipedia de Zugriff am 1 9 2006 318 Abb 107 zeigt einige Screenshots aus einer Animation die die Ausf hrung der folgenden rekursi ven Funktion veranschaulicht Python und Umbenennungen an den Grenzen des Execution Frames enth lt def sum n if n 0 return 0 else result n sum n 1 return result Aufgerufen wird sum 6 Der Ablauf ist folgender Als erstes entsteht ein Brett mit der Aufschrift sum das einen Execu tion Frame der Funktion sum repr sentiert Ein Zettel mit der Aufschrift 6 Datenentit t ohne Na men fliegt ins Bild erstes Bild Sobald er in den Bereich des Execution Frames eintritt zweites
481. tifizieren durch den der Platzhalter bei der Interpretation ersetzt wird Beispiel Python gt gt gt text2 S name s geht nach stadt s vars gt gt gt print text2 Axel geht nach Berlin 75 Es gibt auch Platzhalter ohne explizite Namen Im ersten Beispiel dieses Abschnitts ist die Position des Platzhalters im Dokument entscheidend f r die Wertzuweisung Eine Verwechslung von Platzhaltern mit Namen liegt vor wenn jemand glaubt bei einer Zuwei sung werde ein Name durch einen Wert ersetzt oder bei einer Neuzuweisung werde erst ein Objekt einschlie lich seines Namens vernichtet siehe Abschnitt 10 2 3 7 6 Daten als Entitaten oder Zust nde von Objekten Ein Datum Wert kann man als eigene Entit t begreifen Entit t Modell oder als Zustand eines Objektes Zustand Modell Abb 29 zeigt Screenshots aus drei Animationen der PVS die die Ausf h rung der beiden Zuweisungen a 3 b a veranschaulichen Im ersten Modell wird der Wert 3 der Variablen a durch einen beschrifteten Zettel repr sentiert Bei die Zuweisung b a entsteht eine Kopie des Zettels in Beh lter a und fliegt in den Beh lter b der kurz zuvor ins Bild gekommen ist Hier sind Daten separate Entit ten die wie materielle Dinge kopiert und bewegt werden k nnen In den beiden anderen Modellen wird ein Wert als Zustand eines Objektes dargestellt Im mittleren Modell pq_assign al 1 wird der Wert 3 durch die Position einer Drehschreibe an den
482. ting the player s confidence standard deviation 8 57 2 80 Average watch time standard deviation 11 38 seconds 7 77 Number and percentage of players who declared that the model is appropriate good judgements 14 players 66 67 percent Average confidence in good judgement standard deviation 9 64 1 34 Number and percentage of players who declared that the model is not appropriate bad judgements 7 players 33 33 percent Average confidence in bad judgement standard deviation 6 43 3 78 294 Judging Model pq_objects_a2_2 Associated program bottle fi11 0 4 Description Visualization of the message bottle fill 0 4 using two entities for the method and argument Both are sent to a bot tle which moves to a filling device Time 13 seconds Concreteness 50 percent of names are used in the model Total number of first judgements 21 Average bet points 0 to 10 representing the player s confidence standard deviation 7 62 3 75 Average watch time standard deviation 12 10 seconds 8 99 Number and percentage of players who declared that the model is appropriate good judgements 18 players 85 71 percent Average confidence in good judgement standard deviation 8 89 2 14 Number and percentage of players who declared that the model is not appropriate bad judgements 3 players 14 29 percent
483. tion Ergebnisse von 66 ersten Sessions in Workshops mit der PVS Teilnehmer 66 Sch lerinnen und Sch ler davon 52 aus Deutschland 12 weiblich und 54 m nnlich sie besch ftigten sich im Schnitt 5 05 Stunden pro Woche mit Programmierung und hatten ein Durchschnittsalter von 16 64 Jahren 9 5 Wiederholungen mit nicht antizipierbarem Ende Neben Iterationen gibt es noch einen zweiten Typus von Wiederholungen der in Programmierspra chen wie C Pascal Java oder Python durch eine whi le Anweisung implementiert wird Sie hat im Falle von Python folgendes Format while bedingung Anweisungsblock Hier geht die Steuerung vom Test einer Bedingung aus Solange sie erf llt wahr ist wird der An weisungsblock ausgef hrt Dabei ist im Unterschied zur Iteration ohne tiefgehende Analyse der Semantik des Programms nicht vorhersehbar ob und wann die Bedingung nicht mehr erf llt ist und die Wiederholung abgebrochen wird 97 Eine programmtechnische Variante sind repeat until oder do while Anweisungen die von einigen Programmiersprachen angeboten werden Der Unterschied ist marginal und liegt allein darin dass der Test der Bedingung nach Ausf hrung des Anweisungsblocks im Innern erfolgt Wir beschr nken unsere Betrachtungen hier auf den zuerst genannten Fall von whi le Anweisungen Die steuernde Bedingung der while Anweisung ist formal eine Aussage die wahr oder falsch sein kann F r die intuitive Modellierung ist jedoch die Be
484. tion der PVS Python Puzzle As sert First Steps Hier bewegt sich ein Zettel mit der Zahl 4 Datenentit t auf den mit result etikettierten Zettel zu Bei der Ber hrung ereignet sich die Umwandlung visualisiert durch einen Blitz der mit einem Plus Zeichen beschriftet ist Die Entit ten vereinigen sich hnlich wie bei einer chemischen Reaktion zu einer einzigen Entit t mit der Summe Sie leben gewisserma en als Teil der Summe weiter Offen sichtlicher ist diese Kontinuit t der Existenz noch bei Visualisierungen die die Konkatenation von Sequenzen Listen Zeichenketten darstellen Abb 104 316 Abb 104 Konkatenation von Listen Drei Screenshots aus einer Animation der PVS Python Puzzle Multilists Zerlegungen von Sequenzen z B Listen oder Zeichenketten stellt man sich h ufig so vor dass ein Materialst ck z B ein Papierstreifen zerschnitten wird siehe Abb 105 Begriffe aus dem Fach jargon oder sogar Funktions und Methodenbezeichner aus der Programmiersprachensyntax unterst t zen diese Vorstellung z B slicing f r das Herausl sen eines St cks aus einer Sequenz Die Beson derheit gegen ber dem Entfernen von Elementen aus einer Sequenz ist dass hier die Erhaltung der Identit t aufgegeben wird Aus einer Entit t entstehen mehrere neue Entit ten mit eigenen Identit ten Dennoch gibt es auch hier eine Kontinuit t der Existenz die man als Erhaltung der Masse beschrei ben k nnte Be
485. tleren Konfidenz von 81 100 00 100 00 80 00 80 00 i i als unpassend t als passen 60 00 beurteilt 60 00 beurteilt 40 00 a Konfidenz 40 00 s Konfidenz 20 00 20 00 0 00 4 0 00 1 2 3 1 2 3 Abb 102 Beurteilung eines Zuweisungsmodells mit totaler Vernichtung Lernkurve links und Antilernkurve rechts bei Vielspielern n 41 Dieses Ergebnis zeigt dass Anf nger h ufig nicht deutlich zwischen dem Namen und dem Wert einer Variablen differenzieren sondern beides als eine Einheit sehen Es k nnte sich auch um eine spezifische Schw che des Notizzettelmodells handeln Im Alltag verwendet man Notizzettel h ufig nur einmal und wirft sie weg wenn die gespeicherte Information berholt ist Leider wurde in der PVS nicht gepr ft ob die Vorstellung einer totalen Vernichtung beim Beh ltermodell oder Zeigermodell seltener auftritt Eine zweite Erkl rung ist eine bertriebene Betonung des Zerst rungsaspektes bei sukzessiven Zuweisungen Dies k nnte man als Halo Effekt bezeichnen den man auch in anderen Zusammenh n gen beobachten kann Der Vernichtungsgedanke strahlt aus auf andere eigentlich nicht betroffene Bereiche 5 4 Beispiele f r Datenumwandlungen Abb 103 zeigt eine Visualisierung der Anweisung Python result result 4 result ps Ea result 10 Abb 103 Verschmelzen von zwei Datenentit ten Drei Screenshots aus einer Anima
486. tnahmemodell nicht als Fehl vorstellung zu werten wenn es im Rahmen eines Modellclusters verwendet wird und man sich gleich zeitig bewusst macht dass beim modellierten Programmlauf tats chlich die Liste erhalten bleibt 2 Im zweiten Modell Abb 37 zweites Bild wird der Iterator berhaupt nicht expliziert Der Betrachter muss selbst in Gedanken Buch f hren welches Item als n chstes verarbeitet wird Die Liste wird w h rend der Iteration nicht ver ndert Es entstehen nach und nach Kopien der Karten im Beh lter die dann verarbeitet werden 3 Im dritten Modell Markierungsmodell zeigt ein roter Punkt das aktuelle Item an Er wandert durch die Liste und repr sentiert den Namen i im Programmtext Wiederum wird die Liste als Beh lter mit Karten dargestellt Abb 37 drittes Bild 4 Das vierte Modell schlie lich verwendet eine andere Metapher f r die Liste Sie wird als Zahlenko lumne auf einem Blatt Papier dargestellt Von den Zahlen werden nach und nach Kopien auf Karten angefertigt und verarbeitet Jede bereits verarbeitete Zahl wird durch einen Haken markiert Dieses Modell der Markierung bereits verwendeter Elemente Abhaken wird h ufig bei Iterationen im All 96 tag benutzt zum Beispiel beim Einkauf mit einer Einkaufsliste Im Unterschied zur wandernden Mar kierung im dritten Modell hat das Abhaken keine Entsprechung im Programmtext Abb 43 Visualisierung einer Iteration Screenshots aus dem
487. tspricht der elektrischen Spannung der Wasserfluss d h die Wassermenge die pro Zeiteinheit einen Rohrabschnitt passiert entspricht der Stromst rke Zu bedenken ist dass nur Systeme gleicher Komplexit t wirklich analog sein k nnen Bei intuiti ven Modellen in der Informatik spielt aber h ufig gerade die Reduktion von Komplexit t eine Rolle Zum Beispiel haben intuitive Modelle die die Idee eines Algorithmus zum Ausdruck bringen oft eine andere einfachere Struktur als das zugeh rige Programm Eine Programmentwicklung auf der Basis einer intuitiven algorithmischen Idee ist somit strenggenommen kein analoges Denken Betrachten wir die folgende Iteration Python s Monika Tim Sandra For P INCO ala 2 print s i Die Ausf hrung kann man sich anschaulich so vorstellen Ein Beh lter mit drei F chern enth lt mit Namen beschriftete Zettel Eine Stecknadel springt von Fach zu Fach Der Text auf dem Zettel in dem mit der Nadel markierten Fach wird auf ein Blatt Papier geschrieben Dieses intuitive Modell ist keine strukturgleiche Analogie f r das Programm Es ist einfacher und enth lt zum Beispiel keine Entit t die der Indexliste 0 1 2 entspricht Gleichwohl kann die wandernde Stecknadel als Metapher f r einen Namen des aktuellen auszudruckenden Items s i betrachtet werden 2 3 3 Metaphern als Bilder f r intuitive Modelle Intuitive Modelle k nnen mehr oder weniger abstrakt sein DiSessas p Prims sind besonder
488. tte nachgebildet siehe Abb 90 Der regul re Ausdruck ist durch ein Gegenprofil visualisiert das genau auf die Karten mit Strings aus L re passt hnlich wie ein Magnetkran holt nun der regul re Ausdruck alle passenden Strings aus dem vorbeiziehen Strom von Karten heraus Wie bei der ersten Animation Sieb wird also das Konzept der Trennung passender und nicht passender Strings zus tzlich aber auch das Konzept des Passens Schloss Schl ssel Prinzip quasi als Wirkungsmechanismus veranschaulicht football Abb 90 Regul rer Ausdruck als Muster das auf bestimmte Zeichenketten passt Sch ler der Jahrgangsstufe 12 wurden gefragt welche der drei Animationen am ehesten ihre Vor stellung von der Idee eines regul ren Ausdrucks wiedergibt Von den 27 Personen die zu diesem Punkt Angaben machten nannten jeweils 12 die erste Sieb und dritte Animation Magnetkran Nur drei Personen fanden dass die zweite Animation W rter produzierende Maschine ihre Vorstellung am treffendsten wiedergab 193 Vermutlich haben die Sch ler vorzugsweise solche intuitiven Modelle gew hlt die in ihrer Vor stellungswelt bereits fest verankert sind Das Prinzip der Trennung mit einem Sieb d rfte seit dem Kindergartenalter Spielen im Sandkasten vertraut sein Sand von Kieselsteinen mit einem Sieb tren nen Auch das Schloss Schl ssel Prinzip geh rt zum Alltag Ein Schl ssel erkennt aufgrund seiner Form bestimmte Schl sser
489. ttung eines Modells in ein Kontrollsystem von einfachen intuitiven Modellen kann man als Verstehensprozess auffassen Je mehr Kontrollmodelle ich verwende desto besser ist das Erlernte verankert Im Zusammenhang von Programmierprojekten verwendet man Kontrollmodelle bei der Suche nach semantischen Fehlern Debuggen Testen und beim Einbau von Zusicherungen in den Programmtext Wir gehen im folgenden Abschnitt auf intuitive Modelle zur Formulierung von Zusicherungen ein 3 4 1 Zusicherungen Bei einer Softwareentwicklung werden intuitive Kontrollmodelle verwendet wenn man in einen Programmtext Zusicherungen einbaut Das sind Bedingungen die w hrend des Programmlaufs auf G ltigkeit gepr ft werden Falls die Bedingung nicht gilt wird das Programm mit einer Fehlermel dung abgebrochen Mit Zusicherungen kann ein Programm logisch sicher gemacht werden Die Technik hnelt der Kontrolle einer Maschine durch Sensoren und Messger te die etwaige St rungen anzeigen So findet man auf dem Armaturenbrett eines Autos Warnleuchten die z B lmangel eine angezogene Handbremse oder berh hte Temperatur signalisieren Bei Python werden Zusicherungen durch assert Statements realisiert die folgende Syntax haben assert Bedingung Die Bedingung ergibt sich aus einem intuitiven Modell das einen Teilaspekt des Gesamtmodells das hinter dem Programm steht pointiert Als Beispiel betrachten wir die Definition einer rekursiven Funktion Python
490. u einer Kategorie nicht durch gemeinsame Eigenschaften sondern durch wechselseitige hnlichkeit bestimmt Wittgenstein 1982 Mit Eleonor Rosch 1973 1975 hielt diese Sichtweise Einzug in die kognitive Psychologie Sie lie Personen die Typikalit t verschiedener Exemplare einer Kategorie durch Werte zwischen 1 sehr typisch und 7 sehr untypisch einsch tzen Beispielsweise f r die Kategorie Gem se erhielt M hre einen Wert von 1 1 wurde also als sehr typisch angesehen w hrend Petersilie nur mit 3 8 bewertet wurde Rosch 1973 In den in der Folgezeit aufkommenden Prototyp oder Exemplartheorien z B Lakoff 1987 wird angenommen dass Menschen sich zu einem abstrakten Schema ein typisches Ex 324 emplar als Prototyp merken Wenn beurteilt werden soll ob ein Objekt zu dieser Kategorie geh rt wird es mit diesem Prototyp verglichen und bei gen gend gro er hnlichkeit der Kategorie zugeord net 6 5 Prototyporientierte Programmiersprachen Im Hinblick auf die Eignung als Werkzeug zur Modellierung der Welt hat die OOP gewisse Schwachen Taivalsaari 1997 Lakoff 1987 e Manche Konzepte und Ph nomene lassen sich nicht auf der Basis gemeinsamer Eigenschaften modellieren e Es gibt in der Begriffsbildung graduelle Zugeh rigkeiten zu Klassen und unscharfe Grenzen zwi schen Klassen e Kategorien sind nicht in einfachen Taxonomien aus Ober und Unterbegriffen organisiert Ent sprechend gibt es keine optimalen Klassenhierarchien
491. ualisierung des 17 j hrigen Sch lers M Man verwendet sie z B in folgenden sprachlichen u erungen e Der Funktion quadrat wird die Zahl 3 bergeben sie liefert als Ergebnis die Zahl 9 e Beim Aufruf 3 erh lt die Funktion den Wert 3 e Die Funktion random liefert eine Zufallszahl zwischen 0 und 1 wenn sie ohne Argument aufgerufen wird Es gibt eine Reihe von Alltagsanalogien f r das Datenflussmodell e Fahrscheinautomat Man gibt M nzen ein und erh lt eine Fahrkarte e Toaster Eingabe von Wei brot Ausgabe von hei em Toast Das Modell ist kompatibel mit dem Beh ltermodell f r Variablen Variablen als Beh lter f r Da ten Die Funktion nimmt einen Wert auf z B Kopie eines Variableninhalts beh lt diesen er wird zu ihrem Eigentum und liefert einen neuen Wert 80 In einer Variante des Datenflussmodells bleiben die Eingabedaten im Eingang stecken Auf diese Weise kann man sp ter noch erkennen mit welchen Werten die Funktion arbeitet Das spielt bei dra matischen Modellen eine Rolle in denen mehrere Funktionen interagieren und die Ausf hrung einer Funktion relativ lange dauert Das Datenflussmodell mit Ein und Ausgang kann auch auf Prozeduren angewendet also auf Funk tionen die nichts zur ckgeben und zwar in zweifachem Sinne e Eine Prozedur wird als Funktion interpretiert die ein leeres Objekt zur ckgibt e Wenn eine Prozedur ein Objekt ver ndert so kann man sich das urspr ng
492. uch dar Rekursive Funktionsaufrufe werden durch geschachtelte K sten Rahmen visualisiert Zettel mit Buchstaben fliegen in die K sten Eingabe und werden innnerhalb des Kastens verarbeitet Das Er gebnis fliegt wieder heraus und der betreffende Rahmen verschwindet 4 Die letzte Animation stellt wie Modell 3 den Prozess der zu einem Funktionsaufruf geh rt durch ei nen Rahmen dar Allerdings wird hier nur ein rekursiver Funktionsaufruf explizit visualisiert Den Spielern wurden folgende Fragen gestellt e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funktioniert e Welche Animation gibt am besten die Idee einer rekursiven Funktion wieder e Welche Animation war am schwierigsten nachzuvollziehen Tab 12 zeigt das Ergebnis aus 30 Sessions von denen aber nur 22 im Rahmen von Workshops mit der PVS stattfanden Es weicht signifikant von einer Gleichverteilung ab x Test p 0 0003 Offene und geschlossene Modelle wurden etwa gleich bewertet Auff llig ist dass die vollst ndige Darstel lung der Funktionsausf hrung bis zum Erreichen des Trivialfalls und Abbruch der Rekursion Modelle 2 und 3 einer verk rzten Darstellung vorgezogen wird ein Punkt auf den wir in Abschnitt 9 6 im Zusammenhang mit Rekursion zur ckkommen werden n 30 offen ein Schritt offen geschlossen geschlossen volle Rekursion volle Rekursion ein Schritt Erkl ren 3 12 11 4 Idee 2 11 14 3 Schwierig 1
493. uchspersonen behaupteten das Problem intuitiv gel st zu haben nach Anderson 1996 S 229 f Leiser 2001 beobachtete dass deklaratives und prozedurales Wissen zu einer Dom ne weitge hend unverbunden nebeneinander existieren k nnen Er interviewte 20 bis 30 j hrige Personen zu der Frage was ein gutes Paar ausmacht Die Befragten waren in der Lage deklarative Prinzipien an zugeben nach denen man gut zusammenpassende Menschen ausw hlen kann Sie hatten zweitens kein 17 Problem zu entscheiden welche Personen aus ihrem Bekanntenkreis stabile Paare bilden w rden Je doch gerieten sie in Schwierigkeiten als sie ihre prozeduralen Zuordnungen mit den zuvor genann ten deklarativen Paarbildungsprinzipien begr nden sollten wichen von diesen Prinzipien ab oder gaben pl tzlich neue an Halten wir fest Intuition kann prozeduraler Natur sein Eine prozedurale Intuition ist eine zielori entierte Aktivit t die ein Mensch sicher beherrscht Die Besonderheit gegen ber deklarativem Wissen ist dass die Person nicht zwingend einen Algorithmus f r ihr Tun angeben kann Das hei t nicht dass sie nicht einem Algorithmus folgt Aber er ist ihr m glicherweise nicht bewusst oder es fehlen ihr die sprachlichen Mittel die eigene Probleml sung zu beschreiben Es kann auch sein dass sie die Aufgabe jedes Mal auf andere Weise l st Die subjektive Gewissheit ein Merkmal von Intuition liegt darin dass man sich sicher ist die Auf
494. udging Model pq list al 6 Associated program result Description Visualization of an empty list by a pointer pointing to an empty card Time 0 seconds Concreteness 100 percent of names are used in the model result Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 32 4 11 Average watch time standard deviation 14 01 seconds 17 25 Number and percentage of players who declared that the model is appropriate good judgements 44 players 64 71 percent Average confidence in good judgement standard deviation 6 59 4 14 Number and percentage of players who declared that the model is not appropriate bad judgements 24 players 35 29 percent Average confidence in bad judgement standard deviation 5 83 4 08 246 Judging Model pq_list_al_7 Associated program result Description Visualization of an empty list named result by a pointer pointing to the word result Time 0 seconds Concreteness 100 percent of names are used in the model result Total number of first judgements 68 Average bet points 0 to 10 representing the player s confidence standard deviation 6 18 4 15 Average watch time standard deviation 16 50 seconds 21 98 Number and percentage of players who declared that the model is appropriate good judgements
495. uf Botschaften reagiert Dies ist die typisches Beispiel f r ein Modellcluster Die gedankliche Vorstellung passiver Objekte spielt auch eine Rolle bei der Verwendung von Operatoren und Funktionen So ist es vermutlich denk konomi scher eine Anweisung wie c atb als Verarbeitung zweier passiver Objekte zu betrachten Der Plusoperator ist in dieser Sichtweise ein Akteur der die Objekte a und b als Eingabe verwendet und ein neues Objekt die Summe generiert In einer Sichtweise die dem objektorientierten Paradigma folgt wird dagegen der Terma b als Botschaft an das Objekt a interpretiert Das Objekt a erhalt den Auftrag mit Objekt b in Interaktion zu treten und ein neues Objekt zu generieren das die Summe repr sentiert 6 10 Indikatoren f r die Validit t der Ergebnisse Das Python Quiz Objects enth lt auch Animationen die Vorg nge beschreiben die objektiv im Widerspruch zur Semantik des Bezugsprogrammtextes stehen Sie dienen in gewissem Ma als Kon trolle inwieweit die PVS Spieler berhaupt den Programmtext und die Bildersprache der visuellen Modelle verstehen oder das Spiel ernst nehmen und sind damit ein Indikator f r die Validit t der er hobenen Daten Abb 120 zeigt einige Screenshots aus falschen Modellen f r die Anweisung bott le empty Im ersten Modell pq_objects_a3_4 verschwindet die Karaffe Objekt bottle sobald die Botschaft dargestellt als Oval auf sie trifft Es wurde nur von vier der 23 Spieler 17 a
496. uf das Testen kleiner Systemkomponenten wie z B einzelne Funktionen Als Beispiel betrachten wir das Testen der Quicksort Funktion Man testet eine Funktion indem man sie mit verschiedenen Argumenten aufruft und das erwartete Ergebnis mit dem tats chlich gelieferten vergleicht Im Software Engineering unterscheidet man zwischen Black Box Testen und White Box Testen Im ersten Fall ist der Programmtext unbekannt und man orientiert sich bei der Auswahl von Testdaten allein an den Anforderungen die an das Programm gestellt werden Sommerville 1997 S 463 ff Beim White Box Testen oder strukturellem Testen bezieht man Wissen ber das Programm bei der Auswahl der Test Werte mit ein Das hei t verwendet spezifische Modelle zur Arbeitsweise des Programms Dies sind Kontrollmodelle im engeren Sinne Die Vereinfachung liegt darin dass man die nur die Arbeitsweise bei bestimmten Eingabewerten betrachtet Nehmen wir als Beispiel folgende Quicksort Implementierung def qsort liste s liste s ist eine Kopie von liste if s return S else x s 0 s remove x ntferne x aus der Liste s 196 sl s2 for i in s if i lt x sl append i else s2 append i return ergebnis Dann treffen folgende Uberlegungen zu 1 Bei trivialen Eingabesequenzen leere Liste gibt die Quicksort Funktion die Eingabesequenz als Ergebnis zur ck 2 Komplexere Eingabesequenzen werden in drei St cke s1
497. ufenden Akteurs 312 Delegationsmodelle ohne Schachtelung werden etwas versteckt in verschiedenen Visualisie rungstechniken zur Darstellung der Arbeitsweise rekursiver Funktionen verwendet e Im Stackmodell wandert die Repr sentation des wartenden Funktionsakteurs der gerade eine Aufgabe delegiert hat der Execution Frame auf einen Stack Wenn ein Akteur aktiver Pro zess seine Aufgabe abgeschlossen hat der Prozess terminiert bergibt er sein Ergebnis an den Execution Frame der zuoberst auf dem Stack liegt Eine Besonderheit dieses Modells liegt darin dass immer nur ein Funktionsakteur aktiv sein kann und die anderen im Stack warten e Im Droid Modell Manis amp Little 1995 wird ein Funktionsaufruf durch eine grafische Repr sen tation dargestellt die u a den Namen der Funktion die bergebenen Argumente und einen Pfeil zum aufrufenden Droid enth lt Auch hier gibt es keine Schachtelung e In der Veranschaulichung der Arbeitsweise einer rekursiven Funktion die eine komplexe Daten struktur bearbeitet z B Sortieren einer Liste k nnen Akteure durch Bezeichnung ihres T tig keitsbereichs angedeutet werden In dem Visualisierungssytem von Stern amp Naish 2002 f r den Quicksort Algorithmus markieren Balken unterhalb einer Liste von Zahlen welcher Prozess f r welchen Teilbereich zust ndig ist Jeder Balken repr sentiert einen separaten Akteur Das Delegationsmodell ohne Schachtelung mit statischen Akt
498. ufgegriffen werden Bei der Konfrontationsme thode werden Expertenkonzepte den fehlerhaften Vorstellungen der Sch ler innen gegen ber gestellt Der Unterricht enth lt Demonstrationen und Arrangements die die vorhandenen Fehlvorstellungen falsifizieren Gegenbeweise Als Ziel wird manchmal gesehen falsche naive Vorstellungen durch Expertenkonzepte zu ersetzen z B McClosky 1983 Brown 1992 Smith diSessa und Roschelle 1994 bezweifeln allerdings dass man Misconceptions einfach ersetzen kann Der Begriff ersetzen impliziert dass die falsche Vorstellung ausgel scht wird Doch konnte man beobachten dass auch Experten in bestimmten Situationen auf intuitive Vorstellungen zur ckgreifen anstatt abstrakte wis senschaftliche Modelle durch Formeln beschriebene Gesetze zu verwenden Jean Piaget 2003 h lt Fehlvorstellungen f r eine nat rliche Randerscheinung der kognitiven Entwicklung eines Menschen Er nennt f r jede Entwicklungsstufe typische Denkfehler Beispiels weise kennen Kinder in der pr operationalen Stufe Kindergartenalter noch nicht das Prinzip der Vo lumenkonstanz Wenn sie z B eine Fl ssigkeit von einem breiten niedrigen Glas in ein schlankes ho hes Gef gie en glauben sie es sei mehr geworden weil der Fl ssigkeitsspiegel h her liegt Smith diSessa und Roschelle 1994 sind der Auffassung dass die Sichtweise der Misconception forschung mit dem Konstruktivismus nicht vereinbar ist Sie spr
499. ufruf der Funktion in der Sze ne und verschwindet wieder nach Beendigung RI 3 z Abb 41 Funktionen als Boxen mit Ein Ausgang und Seitent ren PVS a R g E mn c am 89 Abb 41 zeigt Screenshots aus Animationen der PVS die die Ausf hrung einer rekursiven Funktion zur Berechnung von Fibonacci Zahlen veranschaulichen und Boxen mit Eingang oben Ausgang unten und Seitent ren verwenden Das Argument des Funktionsaufrufes wandert von oben in den Eingang bleibt aber dort stecken bis der Berechnungsvorgang abgeschlossen ist Alle Animationen fokussieren also auf die Struktur der rekursiven Aufrufe und lassen interne Berechnungen weg Das vorgegebene Python Programm lautet def fib n if n lt 1 return n else return fib n 1 fib n 2 print fib 3 1 Die erste Animation links enth lt ein dynamisches Akteurmodell Bei jedem rekursiven Funktions aufruf entsteht mit einem Blitz ein neuer Akteur Durch die Seitent r der aufrufenden Entit t wandert eine Karte mit einer Zahl in den Eingang der soeben entstandenen Box Diese f hrt Berechnungen aus muss dabei wieder Funktionsaufrufe durch ihre Seitent r initiieren und gibt schlie lich ber ihre untere ffnung Ausgang eine Karte mit dem Ergebnis aus das durch die Seitent r in die Box der aufrufen den Funktion wandert Sobald eine Box ein Ergebnis geliefert hat verschwindet sie wieder Alle Akti onen laufen im ersten Modell streng seriell Das hei
500. ugging Novice Programs In Artificial Intelli gence 42 S 51 97 Johnson Laird Philip N 1983 Mental Models Toward a Cognitive Science of Language Inference and Consciousness Cambridge MA Harvard University Press Johnson Laird Philip N 1996 Der Computer im Kopf Formen und Verfahren der Erkenntnis M nchen dtv Johnson Laird Philip N Girotto Vittorio Legrenzi Paopo 1998 Mental models a gentle guide for outsiders URL http www si umich edu ICOS gentleintro html Zugriff am 20 2 2007 Kahneman D Tversky A 1982 Subjective probability A judgement of representativeness In Kahneman D Slovic P Tversky A Hrsg Judgement under Uncertainty Heuristics and Bi ases Cambridge Cambridge University Press 1982 S 32 47 Kahney Hank 1984 Modeling novice programmer behaviour In Yazdani M New horizons in educational computing EllisHorwood Ltd 1984 S 101 118 Kahney Hank 1989 What do novice programmers know about recursion In Soloway amp Spohrer 1989 S 209 228 154 Karlgren Klas Ramberg Robert 1996 Language Use amp Conceptual Change in Learning In Paul Brna Ana Paiva amp John Self Hrsg The European Conference on Artificial Intelligence in Edu cation EuroAlED Lissabon S 45 51 Kattmann Ulrich 2005 Lernen mit anthropomorphen Vorstellungen Ergebnisse von Untersu chungen zur Didaktischen Rekonstruktion in der Biologie In Zeitschrift f r Didaktik der
501. ultages mit dem Schul gong Zu beachten ist dass moderne Programmiersprachen Konstrukte enthalten mit denen die Verarbei tung von Ereignissen explizit implementiert werden kann Bei der Programmierung von grafischen Benutzungsoberfl chen etwa bindet man asynchron auftretende Events z B Mausklicks an Prozedu ren Eventhandler die darauf reagieren vgl z B Weigend 2006 S 542ff Eine andere Program miertechnik die Ereignisse verarbeitet ist das Abfangen von Ausnahmen Exceptions w hrend der Laufzeit eines Programms etwa in try except Anweisungen Python oder Zusicherungen assert Anweisungen bei Python An dieser Stelle geht es jedoch darum dass eine Entscheidung die programmiersprachlich als if Anweisung dargestellt wird in der Welt gedanklicher Vorstellungen als Ereignisverarbeitung interpretiert wird 9 4 Iterationen datengesteuerte Wiederholungen Eine Iteration ist das Durchlaufen iter lat Marsch einer aufz hlbaren eventuell unendlichen Kollektion von Items Programmiersprachen enthalten iterierbare Standard Objekte die oft auch als Container bezeichnet werden Im einfachsten Fall sind das Listen Zeichenketten oder andere Sequen zen Es gibt aber auch Container deren Items keine bestimmte Reihenfolge haben bei Python z B Dictionaries oder Mengen Weigend 2006 Mit der Iteration verbunden ist das Konzept des Iterators eines der von Gamma et al 1995 vorgeschlagenen Entwurfsmuster design pattern D
502. um Zielknoten die sich zu mindest in einer Kante unterscheiden Abb 91zeigt einen Programmflussgraphen f r die Quicksort Funktion Abb 91 Programmflussgraph f r die Quicksort Funktion Belastungstest Das intuitive Modell des Belastungstests basiert auf folgender Annahme Wenn die Funktion schwierige Argumente z B lange Sequenzen mit gro en Zufallszahlen korrekt verarbeitet dann wird sie erst recht f r einfache Argumente kurze Sequenzen mit kleineren Zahlen richtige Ergeb nisse liefern Belastungstests zur berpr fung korrekter Arbeitsweise sind aus dem Alltag bekannt e Beim Test eines Autos beobachtet man sein Fahrverhalten auf einer sehr holprigen Teststrecke Marterstrecke Wenn es unter diesen Bedingungen verkehrstauglich ist so schlie t man dann ist es das erst recht auf einer normalen Stra e e Ein Hersteller von Haushaltsger ten lie einen Teller mit einer kompletten Sahnetorte von einer Sp lmaschine reinigen Wenn die Sp lmaschine diesen Teller in einem Sp lgang s ubern kann so das Verkaufsargument dann erst recht normal verschmutztes Geschirr Zu beachten ist dass wir hier ber Korrektheitstests reden Im Software Engineering gibt es auch das Konzept des Stress Tests Sommerville 1997 S 457 f Stress Tests werden nicht mit Einzelkom ponenten sondern mit ganzen Systemen durchgef hrt die f r eine bestimmte Belastung ausgelegt sind Anzahl der Transaktionen pro
503. und eine vierte Person r umt das Geschirr in den Schrank Die von den verschiedenen Akteuren verarbeiteten Objekte befinden sich s mtlich in einer gemeinsamen ffentlichen Sph re Kommen wir wieder zur ck zu Programmtexten Die Manipulatormetapher kann auch dann f r Funktionen verwendet werden wenn berhaupt kein Zugriff auf externe Objekte erfolgt Die PVS enth lt ein Beispiel zur Visualisierung einer rekursiven Funktion die eine Zeichenkette spiegelt Ob wohl auf programmtechnischer Ebene in jedem rekursiven Aufruf ein separates String Objekt verar 87 beitet wird geht die Animation von einem einzigen String aus Folge von Buchstabenkarten dessen Zeichen von den verschiedenen Akteuren die Funktionsaufrufe repr sentieren bewegt werden siehe Abb 39 rechts Abb 39 Modelle f r Funktionen mit offener Systemgrenze 8 8 4 Vergleich von offenen und geschlossenen Funktionsmodellen Stellt man eine Funktion als geschlossene Box mit Ein und Ausgang dar so muss bei einem inter nen Funktionsaufruf der zugeh rige Akteur sich im Inneren befinden Er ergibt sich eine geschachtelte Struktur von Boxen die andere kleinere Boxen enthalten siehe Abb 40 Das Problem einer solchen Visualisierung ist dass die inneren Boxen und schon bei geringer Rekursionstiefe nicht mehr sichtbar sind Andererseits werden geschachtelte Strukturen wie Russian Dolls mit Rekursion assoziiert Bei offenen Modellen mit durchl ssiger Systemgrenze k
504. ung id varchar 20 Prim rschl ssel task smallint Nummer der Aufgabe session id varchar 20 Fremdschl ssel Enth lt ID der Session protocol_pp Darin sind die z B Spieler IDs enthalten runs smallint Anzahl der Testlaeufe time smallint Zeitbedarf zur L sung der Aufgabe points smallint erreichte Punktzahl cl c10 varchar 60 Programmzeile des korrekten Programmtextes el e8 varchar 60 Falsche Programmzeile die bei einem Testlauf einmal verwendet worden ist Tab 38 Tabelle protocol pp task Ein Tupel der Relation wird angelegt sobald ein Testlauf erfolgreich war Die Attribute cl c10 enthalten Programmzeilen die zur korrekten L sung geh ren und zwar in der Reihenfolge in der sie verwendet worden sind cl enth lt die erste verwendete Programmzeile Somit kann man sp ter z B feststellen an welchen Aspekt der Probleml sung die Teilnehmer zuerst oder zuletzt dachten Die Attribute el e8 enthalten falsche verwendete Programmzeilen also Chips die irgendwann einmal w hrend der L sung der Aufgabe in das Editorfeld gezogen worden sind wiederum in der Reihenfolge der Verwendung Es kann sein dass einen Spieler einen falschen Chip anfasst ihm der Fehler aber sofort bewusst wurde und er den Chip wieder heraus zieht so dass diese Anweisung nie mals bei einem Testlauf zum Einsatz kam und deshalb auch nicht registriert wurde protocol_pp_model Die Relation modelliert die Bewertung der betrachteten Mod
505. ung verschiedene Vorstellungen von Ver nderungen 10 3 1 Datenumwandlungen In manchen intuitiven Modellen zum Erkl ren und Verstehen von Programmen ver ndern sich En tit ten die Daten repr sentieren Abb 48 zeigt ein Beispiel Hier visualiert der 17 j hrige Sch ler S die Java Anweisung b a toUpperCase durch einen Akt der Magie Nach der Ber hrung mit einem Zauberstab verwandelt sich ein Wort aus Kleinbuchstaben in ein Wort aus Gro buchstaben Man k nnte sagen es ist das gleiche Wort geblieben nur die Schreibweise hat sich ge ndert In dieser Betrachtungsweise erh lt man die Kontinu itat der Entit t indem man sich von der Ebene der Daten Zeichenkette auf die Ebene des Wissens das durch die Daten repr sentiert wird begibt In einer detailgenauen Interpretation dieses Programmst cks passiert eigentlich folgendes Das Stringobjekt a produziert mit Hilfe seiner Methode toUpperCase einen zweiten String der aus a berechnet wird Dieser Aspekt dass das Original eigentlich unversehrt bleibt und ein zweites neues Objekt entsteht wird bei diesem Beispiel im Konzept der Umwandlung einfach ignoriert Mix a magic gt Eee N gt 3 DS magit 4 MAGIE Abb 48 Visualisierung der Ausf hrung eines Methodenaufrufs durch die Metamorphose einer Datenentit t Weitere Beispiele f r Umwandlungen von Datenentit ten sind mehr dazu in Anhang 5 4 e Interpretation von cast Anweisungen als Ver ndern des Typs einer
506. unterschiedliche Akteure die blicherweise jeweils einen Block des Programmtextes repr sentieren weitergibt Verzweigungen des Kontrollflusses werden in Flussdiagrammen und Nassi Shneidermann Diagrammen verwendet Sie wurde gefragt ob in ihrer Vorstellung tats chlich die beiden Beh lter gleichzeitig Erscheinung treten Au Berdem wurde ihr Hilfe angeboten falls sie am zeitlichen Ablauf noch etwas ndern wollte 94 9 3 2 Kontrolle von Datenfl ssen Datenweichen und Datensperren Im Datenflussmodell wandern Daten von einer Verarbeitungseinheit zur n chsten Zur Modellie rung von if Anweisungen wird ein Mechanismus ben tigt der eine Daten Entit t in Abh ngigkeit von der G ltigkeit einer Bedingung einer Verarbeitungseinheit zuf hrt Weiche Dieser Mecha nismus ist keine Funktion die definitionsgem ein eindeutiges Ergebnis liefern muss Die visuelle Programmiersprache DRLP Dataflow Representation Language for Programming Anjaneyulu amp Anderson 1992 verwendet Sperren f r Datenfl sse ENABLE die ge ffnet oder geschlossen werden k nnen vergleichbar mit steuerbaren Ventilen 9 3 3 Ereignismodell Steuersignale Die Animationen der PVS zur Visualisierung von Programmausf hrungen verwenden meist ein Ereignismodell um Entscheidungen darzustellen Ein solches Modell besteht aus zwei Komponenten Anstelle einer Steuereinheit die Kontroll oder Datenfl sse regelt gibt es eine boolesche Funktion die
507. urch Aus wertung der Datenbank k nnen Erkenntnisse ber die Verwendung visueller Modelle gewonnen wer den Die PVS ist aber nicht nur ein Forschungsinstrument sondern sie hat auch die Merkmale eines Spiels und einer Lernumgebung 4 3 1 Die PVS als Spiel Nach Scheuerl 1975 ist Spiel freiwilliges intrinsisch motiviertes und Freude bereitendes Verhal ten Nun ist das L sen von Aufgaben in der PVS kein oberfl chliches Am sement sondern anstren gende intellektuelle Aktivit t Durch spielerische Elemente kann die Motivation gesteigert werden diese Anstrengung auf sich zu nehmen Cailloise 1958 beschreibt vier Merkmale die bei Spielen in unterschiedlich starken Ma e auftreten k nnen durch lateinische und griechische Begriffe Ag n griech Wettkampf Alea lat W rfel Mimicry griech Schauspiel Verkleidung und Ilnix griech Extase Alea ist eine Metapher f r die die Ungewissheit von Spielereignissen wie sie typi scherweise bei W rfelspielen auftreten Der Begriff Mimicry bringt zum Ausdruck dass Spiele quasi neben der Realit t stehen und in einer geschlossenen Fantasiewelt mit eigenen Regeln stattfinden F r Rollenspiele und Adventure Games ist die Mimicry Komponente von zentraler Bedeutung Ilnix schlie lich meint das fast rauschartige Gef hl das man zum Beispiel beim Achterbahnfahren empfin det Zwei der PVS Applikationen haben den Charakter von Wettkampfspielen Ag n Beim Spielen kann man in Abh ngigkeit vo
508. uszuw hlen In die anderen Zellen wird dann die Formel in ihrer abs trakten Bedeutung kopiert 1 7 Beispiele f r ablauforientierte Repr sentationen Grafiken die durch eine rekursive Prozedur erzeugt worden sind k nnen selbst als Protokoll des Programmlaufs interpretiert werden und ein Modell der Prozedur darstellen Abb 71 zeigt die Bild schirmausgabe des folgenden Python Programms das Turtle Funktionen verwendet from turtle import def baum n if n Sst forward n left 60 baum n 2 right 120 baum n 2 left 60 177 backward n baum 100 Abb 71 Bin rbaum der durch eine Turtle Prozedur generiert worden ist Aus der Grafik kann die Idee der rekursiven Prozedur abgelesen werden Der Baum besteht aus einem Stamm an dessen oberem Ende je ein etwas kleinerer Baum nach schr g links und schr g rechts abgeht Die Turtle muss also zuerst den Stamm Linie zeichnen sich dann z B nach links drehen einen kleineren Baum zeichnen rekursiver Aufruf dann nach rechts drehen wieder einen kleineren Baum zeichnen zweiter rekursiver Aufruf und schlie lich wieder an den Ausgangspunkt zur ckkeh ren Der Baum ist sozusagen eine Spur der rekursiven Prozeduraufrufe und dokumentiert die Ar beitsweise des Programms 1 8 Darstellung intuitiver Modelle in der Python Visual Sandbox 1 8 1 Warum Animationen Oft ist ein statisches Bild wenig aussagekr ftig Bestimmte Features eines Modells werden erst s
509. utet Dahinter steckt die Metapher dass man von vorne nach hinten durch eine Folge von Objekten marschiert und z B auf jedes Objekt bestimmte Operationen anwendet Ein Iterator ist nun ein Objekt das die in einem Container enthaltenen Objekte nach und nach her vorholt Ein Iterator beherrscht allein die Methode next die das n chste Element einer Iteration ber den Container liefert Duell 1997 beschreibt einige Alltagsbeispiele f r Iteratoren e In einer Arztpraxis entscheidet die Sprechstundenhilfe der Rezeption wer der n chste Patient ist der vom Arzt behandelt wird Aus der Art und Weise wie die Patienten im Wartezimmer sitzen geht die Behandlungsreihenfolge nicht hervor Die Arzthelferin an der Rezeption ist also ein Itera tor f r den Container Wartezimmer e Ein modernes Autoradio besitzt eine Taste mit der man zum n chsten Sender springen kann Der Benutzer braucht sich keine Gedanken zu machen auf welchen Frequenzen die Radiostationen senden Dieser Mechanismus ist ein Iterator f r die Menge der Radiosender die empfangen wer den k nnen Die Programmiersprache Python enth lt seit der Version 2 2 2002 eine Implementierung des Ite rator Patterns Container Klassen wie z B Sequenzen sind iterierbar D h ihre Klassendefinition ent h lt eine Methode iter _ die zu einem Objekt dieser Klasse ein Iterator Objekt liefert Dieser Iterator ist dann an das Container Objekt gekoppelt und besitzt als einzige M
510. uziert eine Kopie der Unterliste mit dem kleinsten Inhalt und gibt sie zur ck Sowohl in der Kopie als auch im Original wird der Zettel mit der Zahl 1 gel scht und durch einen Zettel mit der Zahl 10 ersetzt Erscheinungsmodell Abb 37 oben rechts 3 Bevor die Funktion erscheint ist bereits die Variable x im Bild angedeutet Name x und Pfeil der ins Leere zeigt Aus der Funktionsbox kommt ein Greifarm der die Spitze des Zeigers mit dem Namen x auf das kleinste Element der Liste zieht Abb 37 unten links 4 Bevor die Funktion erscheint ist bereits die der Name x im Bild Schild Aus der Funktionsbox kommt ein Greifarm der dieses Schild auf dem Beh lter der kleinsten Unterliste befestigt Abb 37 un ten rechts Abb 37 Visuelle Modelle f r die R ckgabe einer Referenz auf ein Objekt Den Spielern wurden folgende Fragen gestellt e Welche Animation w rden Sie verwenden um jemandem zu erkl ren wie das Python Skript funktioniert e An welche Animation k nnen Sie sich am besten erinnern e Welche Animation war am schwierigsten nachzuvollziehen Tab 10 zeigt die Verteilung der Antworten von 23 Workshop Teilnehmern Es l sst sich aufgrund der geringen Teilnehmerzahlen keine deutliche Bevorzugung oder Ablehnung nachweisen der y Test ergibt keine signifikante Abweichung von einer Gleichverteilung 85 n 23 Nadel mit x Kopie der Liste Zeiger Neues Schild x Erkl ren 6 6 6 5 Sich erinnern 5 6 4 8 Schwi
511. ver ndert wird Wer diese Animation als Erkl rung w hlt verzichtet auf Realit tsn he zugunsten einer pointierten Darstellung der Idee der Iteration Fokussierung m C a Sane CPL gt anne ean a Abb 6 Intuitive Modellierung einer Iteration ber eine Liste durch Entnahme von Items Das Beispiel illustriert dass Fokussierung wie jede Vereinfachung eine potenzielle Quelle f r Fehlvorstellungen ist Somit ist das Risiko von Fehlvorstellungen eine normale Begleiterscheinung von Erkl rungen Es ist prinzipiell nicht zu vermeiden auch nicht durch geschickte Wahl von Model len Wie diSessa 2001 und Smith diSessa und Rochelle 1994 hervorheben liegt das Problem nicht in den Unzul nglichkeiten des intuitiven Modells selbst Ein intuitives Modell das in einem bestimm ten Zusammenhang hervorragend f r eine Erkl rung geeignet ist kann in einem anderen Kontext irre f hrend sein Das Rezept zur Vermeidung von Fehlvorstellungen durch fokussierte Modelle kann nun nicht sein auf Vereinfachungen bei Erkl rungen zu verzichten Stattdessen m ssen mehrere Erkl rungsversuche mit unterschiedlichen Intuitionen vollzogen werden Genau das liegt ja gerade im Wesen von fokussie 36 renden Erkl rungen Der zu erkl rende Gegenstand wird aus unterschiedlichen Perspektiven betrach tet Jeder Blick ist begrenzt und dieser Begrenztheit muss man sich bewusst sein Auf diesen Punkt kommen wir nun im folgenden Abschnitt zu sprechen
512. viation 17 21 years 2 04 Population of the town where the workshop took place Less than 100 000 42 100 000 to 500 000 28 more than 500 000 84 Country Germany 110 other country 44 264 Some general information about the players of this category who played the game at least three times Professions 41 highschool students 0 university students 0 teachers 0 professors and 0 others Gender 13 female and 28 male persons Hours a week spent on programming standard de viation 3 44 hours 2 27 Roughly estimated experience in Python program ming standard deviation 189 37 days 127 68 Age standard deviation 16 80 years 1 23 Population of the town where the workshop took place Less than 100 000 4 100 000 to 500 000 13 more than 500 000 24 Country Germany 39 other country 2 265 266 Task 1 Judging Model pq_assign_al 9 Associated program a 3 b a Description Names are represented by post its A post it a is attached to a floating card with number 3 A second post it b is attached to post it a Time 9 seconds Concreteness 100 percent of names are used in the model Total number of first judgements 154 Average bet points 0 to 10 representing the player s confidence standard deviation 7 82 3 07 Average watch time standard deviation 13 75 seconds 11 58 Number and percentage of
513. viation 17 42 years 0 61 Population of the town where the workshop took place Less than 100 000 15 100 000 to 500 000 0 more than 500 000 4 Country Germany 19 other country 0 230 Modell Description Recursive function that computes Fibonacci numbers Process is represented by box with side exit Full recursion depth New boxes are generated serially Duration 23 seconds Concreteness 33 percent Average watchtime standard deviation 50 89 seconds 48 68 This model was evaluated in 19 first subjective sessions The following table shows the results Question votes percentage would you use to explain 4 21 05 represents the idea of a recursive function best 8 42 11 most difficult to follow 4 21 05 Model 2 Description Recursive function that computes Fibonacci numbers Process is represented by only one box with side exit Full recursion depth On top of the box entrance values are accumulated Duration 21 seconds Concreteness 33 percent Average watchtime standard deviation 28 84 seconds 14 42 This model was evaluated in 19 first subjective sessions The following table shows the results Question votes percentage would you use to explain 3 15 79 represents the idea of a recursive function best 2 10 53 most difficult to follow 6 31 58 231 Model 3 Description Recursive fun
514. viation 6 76 4 03 Average watch time standard deviation 8 09 seconds 6 32 Number and percentage of players who declared that the model is appropriate good judgements 49 players 72 06 percent Average confidence in good judgement standard deviation 6 73 4 02 Number and percentage of players who declared that the model is not appropriate bad judgements 19 players 27 94 percent Average confidence in bad judgement standard deviation 6 84 4 15 260 Judging Model pq list a5_6 Associated program olderThan group 19 Description Visualization of a function call The function input output model receives copies of all cards of a list container and a card with a number Time 9 seconds Concreteness 100 percent of names are used in the model First Judgements Total number of first judgements 68 Average bet points 0 to 10 representing the player s 6 91 4 05 confidence standard deviation Average watch time standard deviation 10 37 seconds 9 02 Number and percentage of players who declared that 46 players 67 65 percent the model is appropriate good judgements Average confidence in good judgement standard 7 28 4 04 deviation Number and percentage of players who declared that 22 players 32 35 percent the model is not appropriate bad judgements Average confidence in bad judgement
515. von Auslassungen bei der Darstellung einer langen Liste Abb 62 Anthopomorphes Modell aus der PVS fiir die Ausfiihrung einer rekursiven Funktion Abb 63 Cluster intuitiver Modelle fiir eine Liste Abb 64 Dramatisierung einer Zuweisung Abb 65 Visualisierung als Riickmodellierung Zeichnung eines 17 jahrigen Schiilers der Jahrgangsstufe 11 Abb 66 Riickmodellieren Abb 67 Dynamisches Labyrinth Schwank 2005 das eine Subtraktion 6 4 repr sentiert Abb 68 Beispiel f r die Spezifikation eines Kalendereintrags bei site school Abb 69 Ansicht des Kalenderblattes nach Spezifikation wie im Beispiel aus Abb 68 Abb 70 Formel in einer Kalkulationstabelle Abb 71 Bin rbaum der durch eine Turtle Prozedur generiert worden ist Abb 72 Ein Kasten mit Schild repr sentiert eine Variable als Beh lter f r Daten Abb 73 Kasten mit mehreren F chern zur Darstellung einer Python Liste Abb 74 Beschriftete Zettel repr sentieren Daten Abb 75 Bewegliches Oval das eine Botschaft an das Objekt bottle repr sentiert Abb 76 Haftzettel als Namen f r Objekte Abb 77 Stecknadeln mit Schildern repr sentieren Referenzen auf Elemente einer Liste Abb 78 Zeiger Abb 79 Namensschild Abb 80 Greifer repr sentieren Aktivit t einer Entit t Abb 81 Darstellung einer Funktion als Box mit Eingang oben und Ausgang unten Abb 82 Fragebogen zur Verwendung von Visualisierungen 1 Abb 83 Fragebogen zur Verwendung von Visualisierungen 2 Abb 84 F
516. wei Zettel mit Zahlen fliegen aufeinander zu bis sie sich ber hren Es erscheint ein Blitz mit einem Pluszeichen Anschlie end sind die beiden Zettel verschwunden und statt dessen sieht man einen neu en Zettel mit der Summe der beiden Zahlen Weitere grafische Elemente Nicht alle grafischen Elemente der PVS sind standardisiert So sind Boxen ein relativ universelles grafisches Element und werden zur Darstellung unterschiedlicher Arten von Entit ten verwendet Eine Box kann einen Konstruktor repr sentieren der ein Objekt generiert Boxen stellen manchmal Funkti onen dar die Werte ber Sensoren abtasten und ein Ergebnis liefern Sensoren werden meist durch keilartige sich zu einer Seite verj ngende Linien wie Zeiger darge stellt Sie tasten Werte ab und blinken manchmal wenn sie aktiv sind Gelegentlich werden aber auch Greifer mit Gelenken und andere Bilder zur Darstellung von Sensoren verwendet Dar ber hinaus gibt es eine Reihe naturalistische Bildelemente wie Gummib rchen Drehscheiben mit Zahlen Vasen oder Gesichter 1 9 Verwendung von Visualisierungen im Informatikunterricht Im Zeitraum von Oktober 2005 bis zum August 2006 wurden 3 Lehrerinnen und 17 Lehrer zur Verwendung von Visualisierungen im Informatikunterricht befragt Die befragten Personen hatten im 182 Mittel 7 5 Jahre Unterrichtserfahrung im Fach Informatik Standardabweichung 7 44 Jahre Median 5 5 Jahre Zehn Personen besa en eine staatlich kontrollierte
517. welten Intuitive Modelle bilden den Hintergrund f r bildhafte Darstellungen in B chern Unterrichtsfilmen und gegenst ndlichen Modellen zum Anfassen F r die Designer solcher Medien ist folglich Wissen ber geeignete und ungeeignete intuitive Vorstellungen wichtig Die professionell gestaltete Explika tion einer typischen Fehlvorstellung kann genauso lehrreich sein wie eine fachlich korrekte Darstel lung Auch Abbildungen auf der Basis einer standardisierten Modellbeschreibungssprache z B UML fu en auf intuitiven Vorstellungen Ein Zustands bergangsgraph etwa beschreibt einen Zustandswech sel als Bewegung In der Industrie werden solche Diagramme zur Dokumentation von Software Entw rfen oder Analyse Ergebnissen verwendet Im Unterrichtsbereich besitzen sie einen gewissen Eigenwert und werden f r das Erlernen von Konzepten unabh ngig von einem Software Projekt 147 eingesetzt So h lt Hubwieser die Modellierung durch UML Diagramme auch ohne Implementierung f r lehrreich Eine besonders weit entwickelte Form medialer Lernhilfen sind Mikrowelten wie die verschiede nen Implementierungen des Turtle Konzeptes oder Karel the Robot Ein Medium ist noch kein Unterricht Damit es zu Lernprozessen kommt muss das Medium in ela borierende Aktivit ten eingebunden sein die blicherweise von der Lehrperson im Unterricht z B durch geeignete Aufgabenstellungen initiiert werden Teil einer solchen Unterrichtssequen
518. werden Da bei einem Graphen jeder Knoten mit beliebig vielen anderen Knoten ber Kanten verbunden sein kann spielt der Ort des Knoten keine Rolle Nur in sehr einfachen Strukturen B ume lineare Strukturen oder Ringe lassen sich die Kanten durch r umliche N he Nachbarschaft darstellen s Abb 49 Allein dann kann der Graph durch Datenbewegung um strukturiert werden 110 Abb 49 Visualisierung von Graphen Baum Ring ohne explizite Repr sentation der Kanten 10 5 2 Modellierung von Zuweisungen durch Datenbewegung Bewegungsmodelle entstehen wenn man Materialbewegung aus dem Alltag Transport von Ge genst nden Fl sse auf die Verarbeitung von Daten bertr gt Ein bekanntes Beispiel ist die Visuali sierung der Zuweisung b a durch Transport des Inhalts von a nach b In der PVS Applikation Python Visual Assign wurden verschiedenen Modelle mit Datenbewegun gen zur Visualisierung der Anweisungsfolge a 3 b a angeboten s Abb 50 1 Naive Bewegung einer Datenentit t von a nach b 2 Bewegung einer Kopie des Inhalts von a nach b 3 Der Beh lter b holt sich mit Hilfe eines Greifarms eine Kopie des Inhalts von Beh lter a Abb 50 Modelle mit Datentransport zur Visualisierung einer Zuweisung Naiver Transport pq_assign_al_4 Trans port einer Kopie pq_assign_al_5 und Holen einer Kopie pq_assign_al_7 Das naive Bewegungsmodell wurde von etwa der H lfte der Teilnehmer 48 1 akzeptiert aber die Modell
519. werden Sie beschreiben das Wissen das im Test gepr ft werden soll e Vollst ndige Beispiele die in Gedanken nachvollzogen aber nicht am Computer ausprobiert wer den k nnen Dazu geh ren Beispiele f r Sprachen regul rer Ausdr cke L a a e L aus Maus Laus Haus e Vollst ndige Beispiele die in Gedanken nachvollzogen und am Computer ausprobiert werden k nnen Dazu geh ren Aufrufe der Python Funktion findall mit verschiedenen Parametern Der artige Beispiele beschreiben die Semantik sowohl der Funktion findall als auch der verwendeten regul ren Ausdr cken e Unvollst ndige Beispiele die durch Nachdenken oder eigenes Ausprobieren vervollst ndigt wer den k nnen Von dieser Art sind Aufrufe der Python Funktion findall mit verschiedenen Argu menten wobei die zur ckgegebenen Werte jedoch nicht verraten werden Diese kann man sich selbst berlegen oder durch Ausprobieren im interaktiven Modus des Python Interpreters heraus finden e Animationen die das zentrale Konzept z B regul re Ausdr cke durch unterschiedliche Meta phern veranschaulichen 187 2 2 1 Auswahl repr sentativer Beispiele Bezugnehmend auf den Abschnitt ber Sprachen regul rer Ausdr cke im Lernmaterial wurde den Sch lern folgende Frage gestellt Welche der folgenden Beispiele des Arbeitsmaterials werden Sie sich besonders gut merken um in Erinnerung zu behalten was die Sprache eines regul ren Ausdrucks ist
520. werden Karten auf dem Tisch hin und her geschoben und dabei versucht eine algorithmische Beschreibung des intuitiven Vorgehens innerhalb der Mikrowelt sich bewegender Datenobjekte zu finden Diese kann sp ter die Grundlage f r die Formulierung einer Sortierfunktion sein Neben der Bewegung gibt es noch weitere Formen der Aktivit t von Daten Entit ten e Verarbeitungsprozesse werden manchmal so beschrieben dass Daten sich ver ndern Metamor phose siehe Abschnitt 10 3 e Viele Menschen stellen sich vor dass bei einer Zuweisung eine Datenentit t die Verbindung zu einem Namen sucht siehe Abschnitt 10 5 3 5 2 Namen als Akteure Manche Verarbeitungsprozesse k nnen dadurch visualisiert werden dass ein Namensschild eine Stecknadel ein Zeiger oder sonst eine benennende Entit t sich von Objekt zu Objekt bewegt Ein Bei spiel ist die Darstellung einer Iteration ber eine Liste der Form Python for i in Th 2 318 tue etwas Man kann sich vorstellen dass w hrend der Ausf hrung der Iteration eine Markierung etwa ein Etikett mit der Aufschrift i sich nacheinander an die Zahlen der Liste heftet und so das aktuelle Item benennt 5 3 Funktionen Funktionen k nnen als Akteure die z B Daten empfangen und Daten produzieren zur ckgeben k nnen modelliert werden Ein Funktionsaufruf wird dann als Delegation einer Aufgabe an einen anderen Akteur verstanden Wir gehen sp ter detailliert auf Modelle f r die Ausf hrung von Funkti
521. wertung Erg nzungen zu Steuerungsmodellen 4 1 Verzweigungen in Datenfluss Modellen 4 2 Der Fetch Execute Zyklus als Beispiel einer Schleife 4 3 Assoziierte Konzepte zur Rekursion 4 4 Fehlerhafte Verwendung des Modells der Selbstaufforderung bei eingebetteter Rekursion 203 205 206 208 209 209 210 211 212 212 212 236 236 236 238 240 240 241 309 309 309 311 312 4 5 Anwendung des Delegationsmodells zur Visualisierung der Arbeitsweise rekursiver Funktionen 312 4 6 Bevorzugung vollst ndiger Modelle zur Darstellung einer rekursiven Funktion Erg nzungen zu Verarbeitungsmodellen 5 1 Entstehungsprozesse im Alltag 5 2 Vernichtungskonzepte im Alltag 5 3 Totale Vernichtung bei Zuweisungen 5 4 Beispiele f r Datenumwandlungen 3 5 Umbenennungen bei der der Ausf hrung von Funktionen 5 6 Umbenennungen in Rechenprotokollen zur rekursiven Berechnung der Fakult t 5 7 Datenbewegung bei Iterationen 5 8 Namenbewegung bei Iterationen Erg nzungen zu intuitiven Modellen in der OOP 6 1 Klasse und Schema 6 2 Visualisierung von Klassen in Sch lerzeichnungen 6 3 Klasse als Entit t 6 4 _ Prototyptheorien in der Kognitionspsychologie 6 5 Prototyporientierte Programmiersprachen 6 6 Implizite Verwendung des Prototypkonzepts bei der Entwicklung einer Klasse 6 7 Das Prototyp Konzept bei der Nutzung von Grafik Tools 6 8 Modelle fiir die Herstellung von Objekten 12 313 314 314 314 315 316 318 319
522. z eines Namens bedeutet nicht zwangsl ufig auch Kontrolle ber den Namen Wer entscheidet ber Benennungen und Umbenennungen Das benannte Objekt oder eine andere Entit t Im Alltag nimmt man Beziehungen zu anderen Menschen auf indem man sich Ihnen vorstellt Dabei w hlt man selbst den Namen mit dem man angeredet werden m chte Im Franz sischen wird diese Kontrolle ber den eigenen Namen durch die Formulierung Je m appel w rtlich ich nenne mich besonders deutlich zum Ausdruck gebracht Etiketten dagegen werden von anderen Entit ten vergeben und ge ndert Die Vorstellung dass ein Objekt seine Namen kontrolliert verwenden viele Sch ler bei der Interpretation von Zuweisungen Abb 22 zeigt einen Screenshot aus einer Visualisierung in der ein Objekt Zahl 3 sich selbst Namen sucht 64 o 3 b a L es a LJ a Abb 22 Zahl als aktive Entitat die ihre Namen kontrolliert 6 4 Vermischung von Namensmodellen Das Python Quiz Modeling a group enth lt Animationen die die Arbeitsweise einer Iteration der folgenden Form Python modellieren Abb 23 for n a in personen tue etwas Das erste Modell verwendet konsequent das Referenzierungsmodell mit Zeigern In der zweiten Animation werden alle Variablen durch Beh lter dargestellt Nach und nach werden Kopien der Daten aus dem Beh lter personen herausgenommen und in die Beh lter n und a gelegt Die dritte Ani mation verwendet eine Kombination aus Zeiger
523. z ist Wahrnehmung keine passive Reizaufnahme sondern ein aktiver subjektgesteuerter Vorgang Visueller Input wird als Anordnung von dem Individuum vertrauten Gestalten interpretiert 20 Abb 1 Gestalt eines Quadrats So sehen die meisten Menschen in Abbildung 1 ein auf der Spitze stehendes Quadrat obwohl eine solche Figur nicht explizit umrandet ist Gewissheit und Selbstevidenz k nnen sich nur auf koh rente Sinngebilde beziehen Wenn ich mir einer Sache gewiss bin muss diese Sache auch benennbar und als geschlossene Ganzheit repr sentierbar sein Modelle von Softwaresystemen die w hrend einer Software Entwicklung entstehen und etwa durch UML Diagramme repr sentiert werden sind in der Regel zu komplex um intuitiv zu sein Das gleiche gilt f r Programmtext Um ein komplexes System zu verstehen zu erkl ren oder zu entwi ckeln greifen Menschen h ufig quasi zeitgleich auf ein ganzes B ndel intuitiver Modelle zur ck Modellcluster Denn ein einzelnes Modell kann das komplexe Original nur unzureichend abbilden Ein Problem ist die verschiedenen Intuitionen scharf zu trennen und die verwendeten Gestalten zu verdeutlichen Die Interpretation eines Programms hnelt zuweilen der Betrachtung eines Vexierbildes Kippbild bei dem der gleiche optische Reiz unterschiedliche Gestalt Wahrnehmungen ausl st 1 5 Phanomenologische Primitive Andrea diSessa 1988 1993 2001 beschreibt besonders grundlegende intuitive Modelle
524. z kann und sollte auch eine kritische Reflektion der im medialen Material enthaltenen oder sogar thematisierten intuitiven Modelle sein 15 5 Informatik im Kontext Die Belegung der Sitze in einem Auto kann durch eine Multiliste beschrieben werden Ein Beispiel in Python Syntax ist auto Anna Karl Tim Sandra Dabei repr sentiert jede Unterliste eine Sitzreihe Nun ist die Vorstellung der Sitze in einem Auto einerseits ein prototypisches Beispiel einer Multiliste und hat den Charakter eines intuitiven Modells f r ein abstraktes Konzept Andererseits ist die Multiliste ein informatisches Modell eines Realit ts ausschnitts Informatische Modellierung und Rekonstruktion abstrakt formaler Konzepte durch intui tive Modelle sind also ganz hnliche kognitive Prozesse Lediglich die Zielsetzung ist unterschiedlich Generieren eines neuen Programms versus Verstehen oder Erkl ren eines Programms In der Tat ten dieren Sch ler beim Versuch Programmtexte zu erkl ren zur R ckmodellierung d h sie erfinden zum Programmtext passende Realit tsausschnitte siehe Abschnitt 13 9 Wer ein gewisses Repertoire intuitiver Modelle zum Verstehen und Erkl ren von Programmkon strukten erworben hat dem m sste eigentlich in vielen F llen auch umgekehrt die Modellierung von Realit tsausschnitten besser gelingen weil er oder sie hnlichkeiten der neuen Situation mit gespei cherten Prototypen in Betracht ziehen kann In der Natu
525. zept wird in der Kognitionspsychologie vor allem verwendet um das effizientes Abspeichern von bedeutungsvollen Inhalten im Ged chtnis zu erkl ren Wenn man erkennt dass ein Objekt zu einer Objektklasse geh rt braucht man sich nur noch An weichungen von den Default Werten des Schemas zu merken Die anderen typischen Merkmale des Objektes kann man aus dem bereits gespeicherten Schema ableiten Brewer und Treyens 1981 haben die Existenz von Schemata durch Erinnerungsexperimente nachgewiesen Auch beim Pro 18 grammieren greift man auf Schemata zur ck So gibt es Schemata ber den Aufbau einer rekursiven Funktion siehe Abschnitt 9 6 Intuitive Modelle kann man als Schemata betrachten wenn man Aspekte wie Erinnerbarkeit oder Zuordnung einer Situation aufgrund von wahrgenommenen Merkmalen zu einem Modell untersucht Dies ist dann jedoch eine reduzierte Sichtweise in der z B dynamische Aspekte eines Modells im Hinblick auf eine Probleml sung vernachl ssigt werden 1 3 3 Mentale Modelle Mentale Modelle sind vereinfachte Repr sentationen realer oder hypothetischer Situationen Sie er lauben das gedankliche Durchspielen von Abl ufen und k nnen so zur Antizipation von Ereignissen im abgebildeten Wirklichkeitsausschnitt verwendet werden Mentale Modelle enthalten also eine dy namische Komponente Sie werden f r komplexere kognitive Aktivit ten wie Probleml sen und Er kl ren von Ph nomenen der Realwelt verwendet Me
526. zip eine Endlosschleife definiert d h die von der Programmiersprachensyntax geforderte while Bedingung ist trivial und sorgt nicht f r eine Beendigung der Wiederholung Der Ausstieg aus der Schleife erfolgt gegebenenfalls nach Pr fung der Eingabe und wird durch die Anweisung break ausgel st Die Kontrolle des Schleifenausstiegs ist also Element einer zyklischen Anweisungsfolge und nicht ihr bergeordnet In der zweiten Variante wird keine Programmverzweigung sondern eine while Bedingung verwen det die die Anzahl der Wiederholungen steuert Unter dem Gesichtspunkt der Modellierung hat diese Implementierung jedoch einen Nachteil Die zusammengeh rige Folge von Eingabe und Auswertung der Eingabe wird auseinander gebrochen Der while Anweisung ist eine einmalige Eingabe Anweisung vorgeschaltet Die wiederholte Anweisungsfolge Auswertung der Eingabe und neue Eingabe ist dagegen ist keine sinnvolle Gestalt Sie kann nicht f r sich stehen d h sie ist nicht ohne den Kontext der Wiederholung denkbar da f r die Auswertung im ersten Schritt eine Eingabe aus dem letzen Durchgang verwendet wird Das Beispiel zeigt dass manche Wiederholungen besser mit dem Schleifenkonzept als mit dem Konzept der kontrollierten Wiederholung einer holistischen Aktivit t modelliert werden 310 4 3 Assoziierte Konzepte zur Rekursion Levy amp Lapidot 2000 2001 beobachteten Sch lerinnen und Sch ler die an einer Unterrichtsse quenz zur Rekursion
527. zu Ort ein Konzept das viele Menschen schon als Kinder bei einer Reihe von Stra enspielen trainiert haben und das sie deshalb sicher beherrschen Entwurfsmuster wie z B das Iteratorkonzept sch pfen ihren Wert f r Softwareentwicklungen dar aus dass sie die prinzipielle Arbeitsweise eines Systems auf gut zug ngliche kompakte Weise in einer koh renten Gestalt beschreiben Intuitive Modelle sind wichtig f r das Lernen informatischer Konzepte Aus konstruktivistischer Sicht l sst sich Lernen als Aufbau interner mentaler Modelle ber die Welt auf der Basis bereits vor handenen Wissens beschreiben Es ist ein Vorgang der vom Subjekt ausgeht und nicht direkt von einem Au enstehenden z B einem Lehrer beobachtet oder kontrolliert werden kann Intuitive Mo delle sind in dieser Hinsicht ein kognitionspsychologisches Ph nomen Kapitel 1 Lehrerinnen und Lehrer sind hilflos wenn sie nicht wissen welche gedanklichen Konzepte ihre Sch lerinnen und Sch ler verwenden Erkl rungen und Hilfestellungen greifen nicht wenn sie an der Gedankenwelt des Adressaten vorbei gehen Um Fehlvorstellungen aufzukl ren und Verst ndnisl cken zu schlie en muss man wissen wo diese liegen k nnten Intuitive Modelle sind auch die Grundlage f r Medien Texte Bilder Filme und Unterrichtsaktivit ten Rollenspiele Programmier bungen Explorations aufgaben die der Vermittlung informatischer Konzepte dienen Um diese effizient gestalten zu k n nen
528. zwei verschiedenen Dom nen nicht verbinden kann Dieser Person kommt dann nicht in den Sinn dass das Zeigen auf ein Objekt einer Benennung bzw einer Zuweisung der Art x objekt entspricht Diese Art von Wissen wird durch Programmiererfahrung erworben d h durch viele Programmier experimente in denen intuitive Modelle zu Programmtext in Beziehung gesetzt werden vgl auch Weigend 2006c Perkins et al 1989 beobachteten dass erfolgreiche Programmentwickler die F higkeit besitzen genau zu erkl ren bzw nachzuvollziehen was jede Zeile eines Programmtextes be wirkt Sie nennen das close tracking of code Sie untersuchten auch welche Arten von Unterst t zungsma nahmen helfen Blockaden im Probleml sungsprozess zu berwinden Als besonders wirksam stellte sich heraus Sch ler die nicht weiterkommen aufzufordern Zeile f r Zeile zu erkl ren was ihr bisher geschriebener Programmtext leistet Dabei stie en sie von allein auf ihre Proble me und fanden Ans tze ihren Programmtext weiterzuentwickeln Python Puzzles der PVS enthalten als Hilfemechanismus Animationen die die Arbeitsweise einer zu definierenden Funktion darstellen Die Nutzung dieser visuellen Modelle kann eine besonders intensive Art des close trackings sein n mlich dann wenn man die einzelnen Entit ten und Aktivit ten mit Elementen des Programmtextes in Beziehung setzt 14 4 Schwierige intuitive Modelle Eine vierte Barriere bei Probleml sunge

Download Pdf Manuals

image

Related Search

Related Contents

Samsung PL70 Korisničko uputstvo  Kiddy Kruisin` Ride Service Manual  DR 1900 - ELICROM  Weider WB175 User's Manual  Lirio by Philips Wall light 57052/30/LH  47 A2 04UF REV05 - Support On Line  VHD 1020 d - Intelbras  Quick Start Guide 1 Unpack the Hedge Trimmer  PDF Printing 600 dpi    

Copyright © All rights reserved.
Failed to retrieve file