Computational Thinking Tools: Unterschied zwischen den Versionen

Aus Scalablegamedesign
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:
Diese Werkzeuge widmen sich der zielgerichteten Unterstützung von Lernenden in der kognitiven Dimension.
Diese Werkzeuge widmen sich der zielgerichteten Unterstützung von Lernenden in der kognitiven Dimension.
<ul>
<ul>
<li><b>Syntaktisch</b>: <i>Werkzeuge, die helfen, reine Syntaxfehler zu vermeiden wie z.B., drag and drop programming<i>. Auf der syntaktischen Ebene kann die Form eines Programms durch Offenlegung bzw. Anzeige der Mechanismen gesteuert werden. Zum Beispiel können Blöcke in AgentSheets / AgentCubes optionale Parameter haben. Die Sichtbarkeit dieser optionalen Parameter wird durch Anzeigemechanismen gesteuert. Wenn Nutzer auf ein Dreieck-Symbol klicken, werden optionalen Parameter ein- bzw. ausgeblendet. Darüber hinaus lassen sich mittels solcher Dreieck-Symbole alle Regeln einer Methode ein- oder ausblenden. Wenn die Regeln ausgeblendet sind, zeigt eine Methode immer noch ihre Dokumentation an. Der Anzeigemechanismus hat somit die Funktion eines Schalters: Er erlaubt den einfachen und schnellen Wechsel der Ansicht von  der vollumfänglichen Implementierung der Methode einerseits oder nur deren Spezifikation andererseits. Der optionale Anzeigemechanismus für Parameter ist für den Begriff der zufälligen Komplexität in dem Sinne relevant, dass optionale Parameter typischerweise gewählt werden, um weniger wichtige oder sogar qualitativ unterschiedliche Parameter zu erfassen, die möglicherweise nicht relevant sind, um die Hauptfunktion eines Programms zu verstehen. In AgentSheets / AgentCubes werden im Gegensatz zu regulären Parametern, die beschreiben, was getan werden sollte, optionale Parameter verwendet, um zu beschreiben, wie es gemacht werden sollte (Repenning 2017). .
<li><b>Syntaktisch</b>: <i>Werkzeuge, die helfen, reine Syntaxfehler zu vermeiden wie z.B., drag and drop programming</i>. Auf der syntaktischen Ebene kann die Form eines Programms durch Offenlegung bzw. Anzeige der Mechanismen gesteuert werden. Zum Beispiel können Blöcke in AgentSheets / AgentCubes optionale Parameter haben. Die Sichtbarkeit dieser optionalen Parameter wird durch Anzeigemechanismen gesteuert. Wenn Nutzer auf ein Dreieck-Symbol klicken, werden optionalen Parameter ein- bzw. ausgeblendet. Darüber hinaus lassen sich mittels solcher Dreieck-Symbole alle Regeln einer Methode ein- oder ausblenden. Wenn die Regeln ausgeblendet sind, zeigt eine Methode immer noch ihre Dokumentation an. Der Anzeigemechanismus hat somit die Funktion eines Schalters: Er erlaubt den einfachen und schnellen Wechsel der Ansicht von  der vollumfänglichen Implementierung der Methode einerseits oder nur deren Spezifikation andererseits. Der optionale Anzeigemechanismus für Parameter ist für den Begriff der zufälligen Komplexität in dem Sinne relevant, dass optionale Parameter typischerweise gewählt werden, um weniger wichtige oder sogar qualitativ unterschiedliche Parameter zu erfassen, die möglicherweise nicht relevant sind, um die Hauptfunktion eines Programms zu verstehen. In AgentSheets / AgentCubes werden im Gegensatz zu regulären Parametern, die beschreiben, was getan werden sollte, optionale Parameter verwendet, um zu beschreiben, wie es gemacht werden sollte (Repenning 2017). .


<li><b>Semantisch</b>: <i>Werkzeuge, die zur Erforschung von Funktionen dienen wie zB., integrierte Hilfefunktionen und Live Programming<i>. Auf der Ebene der Semantik ist die Domain-Orientation (Fischer 1994) die Bereitstellung von Funktionen, die die Anforderungen spezifischer Anwendungsdomänen widerspiegeln. Der Hauptzweck der Domain-Orientierung im Sinne einer Verringerung der unbeabsichtigten Komplexität besteht darin, die ansonsten erforderlichen Funktionen eines Aufbaus von Grund auf zu eliminieren. Wenn eine Programmierumgebung häufig verwendet wird, um wissenschaftliche Visualisierungen zu erstellen, sollte sie eine Domain-Orientierung mit entsprechenden Funktionen enthalten, die für das Erstellen dieser Visualisierungen relevant und nützlich sind.
<li><b>Semantisch</b>: <i>Werkzeuge, die zur Erforschung von Funktionen dienen wie zB., integrierte Hilfefunktionen und Live Programming</i>. Auf der Ebene der Semantik ist die Domain-Orientation (Fischer 1994) die Bereitstellung von Funktionen, die die Anforderungen spezifischer Anwendungsdomänen widerspiegeln. Der Hauptzweck der Domain-Orientierung im Sinne einer Verringerung der unbeabsichtigten Komplexität besteht darin, die ansonsten erforderlichen Funktionen eines Aufbaus von Grund auf zu eliminieren. Wenn eine Programmierumgebung häufig verwendet wird, um wissenschaftliche Visualisierungen zu erstellen, sollte sie eine Domain-Orientierung mit entsprechenden Funktionen enthalten, die für das Erstellen dieser Visualisierungen relevant und nützlich sind.


<li><b>Pragmatisch</b>: <i>Werkzeuge, welche die Untersuchung dessen, was Programme in bestimmten Situationen bedeuten, unterstützen<i>. Diese Werkzeuge sollten dem Nutzer praxisnah und effizient dabei helfen, Ideen umzusetzen oder über Probleme nachzudenken, indem sie sich auf konkrete Situationen und Kontexte beziehen anstatt auf allgemeine Theorien zu verweisen. Conversational Programming (Repenning 2013), ein pragmatisches Werkzeug integriert in AgentCubes, untersucht die spezifische Situation, in der sich Objekte befinden, und zeigt dann den Benutzern durch farbige Annotationen des Programms an, wie sich diese Objekte verhalten werden. In einem Frogger 3D-Spiel kann der Benutzer beispielsweise den Frosch, der über Strassen hüpfen soll, selektieren, um zu verstehen, was als nächstes mit dem Frosch passieren wird. Ist der Frosch zum Beispiel unmittelbar neben einem auf ihn zurasenden Auto zeigt das Conversational Programing, dass gleich eine Kollision erfolgt, durch welche der Frosch ‘sterben’ und das Spiel neu startet (Repenning 2017)
<li><b>Pragmatisch</b>: <i>Werkzeuge, welche die Untersuchung dessen, was Programme in bestimmten Situationen bedeuten, unterstützen</i>. Diese Werkzeuge sollten dem Nutzer praxisnah und effizient dabei helfen, Ideen umzusetzen oder über Probleme nachzudenken, indem sie sich auf konkrete Situationen und Kontexte beziehen anstatt auf allgemeine Theorien zu verweisen. Conversational Programming (Repenning 2013), ein pragmatisches Werkzeug integriert in AgentCubes, untersucht die spezifische Situation, in der sich Objekte befinden, und zeigt dann den Benutzern durch farbige Annotationen des Programms an, wie sich diese Objekte verhalten werden. In einem Frogger 3D-Spiel kann der Benutzer beispielsweise den Frosch, der über Strassen hüpfen soll, selektieren, um zu verstehen, was als nächstes mit dem Frosch passieren wird. Ist der Frosch zum Beispiel unmittelbar neben einem auf ihn zurasenden Auto zeigt das Conversational Programing, dass gleich eine Kollision erfolgt, durch welche der Frosch ‘sterben’ und das Spiel neu startet (Repenning 2017)
</ul>
</ul>



Version vom 20. Februar 2018, 16:00 Uhr

Grafik zu Computational Thinking Tools

Die Forschung zeigt, dass allgemeine Programmierwerkzeuge ineffizient sein können für die Vermittlung von Computational Thinking. Oft müssen lange, aufwendige Programme geschrieben werden, welche nur wenige Computational Thinking Konzepte abdecken. Das ist nicht im Sinne der Informatischen Bildung in Primarschulen. Computational Thinking Tools richten sich, im Gegensatz von Programmierwerkzeugen, nicht an zukünftige Programmierer sondern sogenannte Computational Thinkers. Das heisst, z.B., Spiele und Simulation können mit sehr geringen Aufwand und maximaler Unterstützung der Werkzeuge von SchülerInnen kreiert werden.

Computational Thinking Tools setzen sich mit zwei fundamentalen Herausforderung auseinander. Viele SchülerInnen nehmen Programmieren als schwierig und langweilig war. “Schwierig” ist eine kognitive Dimension und “langweilig” eine affektive Dimension dieser grundsätzlichen Herausforderung.

Programming Support Tools

Diese Werkzeuge widmen sich der zielgerichteten Unterstützung von Lernenden in der kognitiven Dimension.

  • Syntaktisch: Werkzeuge, die helfen, reine Syntaxfehler zu vermeiden wie z.B., drag and drop programming. Auf der syntaktischen Ebene kann die Form eines Programms durch Offenlegung bzw. Anzeige der Mechanismen gesteuert werden. Zum Beispiel können Blöcke in AgentSheets / AgentCubes optionale Parameter haben. Die Sichtbarkeit dieser optionalen Parameter wird durch Anzeigemechanismen gesteuert. Wenn Nutzer auf ein Dreieck-Symbol klicken, werden optionalen Parameter ein- bzw. ausgeblendet. Darüber hinaus lassen sich mittels solcher Dreieck-Symbole alle Regeln einer Methode ein- oder ausblenden. Wenn die Regeln ausgeblendet sind, zeigt eine Methode immer noch ihre Dokumentation an. Der Anzeigemechanismus hat somit die Funktion eines Schalters: Er erlaubt den einfachen und schnellen Wechsel der Ansicht von der vollumfänglichen Implementierung der Methode einerseits oder nur deren Spezifikation andererseits. Der optionale Anzeigemechanismus für Parameter ist für den Begriff der zufälligen Komplexität in dem Sinne relevant, dass optionale Parameter typischerweise gewählt werden, um weniger wichtige oder sogar qualitativ unterschiedliche Parameter zu erfassen, die möglicherweise nicht relevant sind, um die Hauptfunktion eines Programms zu verstehen. In AgentSheets / AgentCubes werden im Gegensatz zu regulären Parametern, die beschreiben, was getan werden sollte, optionale Parameter verwendet, um zu beschreiben, wie es gemacht werden sollte (Repenning 2017). .
  • Semantisch: Werkzeuge, die zur Erforschung von Funktionen dienen wie zB., integrierte Hilfefunktionen und Live Programming. Auf der Ebene der Semantik ist die Domain-Orientation (Fischer 1994) die Bereitstellung von Funktionen, die die Anforderungen spezifischer Anwendungsdomänen widerspiegeln. Der Hauptzweck der Domain-Orientierung im Sinne einer Verringerung der unbeabsichtigten Komplexität besteht darin, die ansonsten erforderlichen Funktionen eines Aufbaus von Grund auf zu eliminieren. Wenn eine Programmierumgebung häufig verwendet wird, um wissenschaftliche Visualisierungen zu erstellen, sollte sie eine Domain-Orientierung mit entsprechenden Funktionen enthalten, die für das Erstellen dieser Visualisierungen relevant und nützlich sind.
  • Pragmatisch: Werkzeuge, welche die Untersuchung dessen, was Programme in bestimmten Situationen bedeuten, unterstützen. Diese Werkzeuge sollten dem Nutzer praxisnah und effizient dabei helfen, Ideen umzusetzen oder über Probleme nachzudenken, indem sie sich auf konkrete Situationen und Kontexte beziehen anstatt auf allgemeine Theorien zu verweisen. Conversational Programming (Repenning 2013), ein pragmatisches Werkzeug integriert in AgentCubes, untersucht die spezifische Situation, in der sich Objekte befinden, und zeigt dann den Benutzern durch farbige Annotationen des Programms an, wie sich diese Objekte verhalten werden. In einem Frogger 3D-Spiel kann der Benutzer beispielsweise den Frosch, der über Strassen hüpfen soll, selektieren, um zu verstehen, was als nächstes mit dem Frosch passieren wird. Ist der Frosch zum Beispiel unmittelbar neben einem auf ihn zurasenden Auto zeigt das Conversational Programing, dass gleich eine Kollision erfolgt, durch welche der Frosch ‘sterben’ und das Spiel neu startet (Repenning 2017)

Creativity Support Tools

Diese Werkzeuge unterstützen Lernende primär bei Herausforderungen in der affektiven Dimension. Das Ziel von Creativity Support Tools ist es, den kreativen Prozess zu fördern, zu beschleunigen und zu erleichtern [NSF]. Im speziellen sollen Benutzer dabei unterstützt werden Artefakten wie zum Beispiel 3D Welten, Spiele, Simulation, Roboter, oder Mobile Apps zu erschaffen, die sie selbst interessieren. Dabei gibt es drei Stufen von Unterstützung:

  • Application Programming Interfaces (APIs). APIs sind Produktivität unterstützende Werkzeuge, die für die Benutzer wichtige Funktionen implementieren, welche sie langwierig und mit grossem Aufwand selbst implementieren müssten.
  • Affordances: Diese Werkzeuge haben klar definierte Ergiebigkeiten, das heisst klar erkennbare Funktionen, die Benutzern unmittelbar helfen, kreativ zu sein. Zum Beispiel die vier “Links”-, “Rechts”-, “Auf”- und “Ab”-Knöpfe am BeBoot zeigen deutlich, wie man den BeBoot programmieren muss, damit dieser sich in eine spezifische Richtung bewegt.
  • Design Scaffolds: Design Scaffolds sind buchstäblich Design-Gerüste, die sich vielseitig nutzen lassen. Ähnlich wie Tabellenkalulationsprogramme verfügt AgentSheets über ein zweidimensionales Raster, das zu unterschiedlichsten Zwecken genutzt werden kann. Minecraft und AgentCubes basieren sogar dreidimensionalen Rastern, die sich höchst vielseitig nutzen lassen.