Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Visuelle Programmiersprachen im Informatikunterricht

Ähnliche Präsentationen


Präsentation zum Thema: "Visuelle Programmiersprachen im Informatikunterricht"—  Präsentation transkript:

1 Visuelle Programmiersprachen im Informatikunterricht
Visuelle Programmiersprachen im Informatikunterricht Tutorial im Rahmen der GI-Fachtagung INFOS‘99

2 Verlaufsplanung Vortrag 45 120 Praxisphase 40
Verlaufsplanung Vortrag 45 120 40 Praxisphase Bewertung und Austausch erster Eindrücke Vortrag ca min zur Programmierung in der Schule und VPS VPS (Begrifflichkeit, schulrelevante Beispiele, Pro und Contra) Praxisphase ca. 120 min, Erfahrungen sammeln und dokumentieren kleine Lehrsequenzen zu den einzelnen VPS Zeit für eigenes Testen Eindrücke festhalten (Formular) ca. 25 min pro Sprache (ohne 3D-Visulan) Austausch min - Programme nacheinander besprechen (s. Bericht) - Gesamteindruck bzgl. Relevanz für Informatikunterricht - Reflexion und Organisatorisches Wünsche f. CD (auch im Netz) (wird zugeschickt->Adressen checken 5.- DM+Versand) Pausen insg. ca. 30 min offen für Anregungen und Wünsche Ziel des Tutorials: keine Produktschulung sondern Anregung in die Welt der VPS einzusteigen

3 Programmierung in der Schule!?
Programmierung in der Schule!? Individuelle Nutzung komplexer Software im Alltag  Programmierung als „Kulturtechnik“ Einblick in die Wissenschaft Informatik  Programmierung als „Unterrichtsmethode“ Verbreitung von Personalcomputern => Nutzer: keine professionelle Programmierer, sondern Anwender (90%) komplexe Soft- und Hardware -> an individuelle Bedürfnisse anpassen Softwarekomponenten miteinander verbinden (Office - VisualBasic?) kleine spezielle Werkzeuge selbst erstellen (nicht von prof. Programmierern leistbar, da hoch individualisiert) => grundlegende Kenntnisse: Algorithmisierung, Implementierung Kulturtechnik --> Schule / end-user-programming Einblick in Wissenschaften (Einfluss auf Alltag, Studium, ) => Begriffe und Methoden der Informatik mit einem Werkzeug der Informatik lehren Schulung von allgemeinen Fähigkeiten und Fertigkeiten zur Bewältigung des Lebens -> Beurteilung, strukturiertes vernetztes Denken, visuelle Kommunikation, Schulung beider Hirnhälften (links: logisch-analytisch-sequentiell, rechts: emotional-ästhetisch-bildlich-räumlich-parallel) Wichtig!!! Nicht das Werkzeug, sondern Idee lehren Schulung allgemeiner Fähigkeiten und Fertigkeiten

4 Das Dilemma und die Vision
Das Dilemma und die Vision Programmierkurse statt Informatikkurse Erlernen textueller Sprache fällt S schwer S lernen Tips u. Tricks in der Sprache X Technische Details ersticken Kreativität Probleme visuell und intuitiv lösen Konzepte ohne Overhead kennenlernen Metaphern erleichtern das Lernen Schwerpunkt: Problemlösung Es ist jedoch bekannt, dass textuell basierte Programmiersprachen schwierig zu erlernen und zu benutzen sind. Die Beschreibung eines Programms bzw. Algorithmus in einer konventionellen Programmiersprache führt zwar zu einer meist kompakten Darstellung der Strukturen und Abläufe, doch nur relativ wenige Menschen verfügen über ausgebildete Fähigkeiten, diese komplexen Zusammenhänge nur aufgrund der textuellen Beschreibung zu verstehen oder gar in dieser Form darstellen zu können. => Tips und Tricks, techn. Details ersticken die Kreativität Der Mensch vermag Informationen auf visuellem Weg zu erschließen und zu verarbeiten, wobei die Verarbeitung von bildlichen Informationen und konkreten Objekten i.d.R. effizienter erfolgt, als die von abstrakten Beschreibungen. => Schwerpunkt: Konzeptvermitt., Problemlsg. "Visuelle Programmierung" suggeriert das mühelose Erstellen und ein intuitives Verstehen von Softwarekomponenten für Jedermann. Nutzung von Metaphern. Bsp. Schlüssel-Schloß Die Schüler werden in ihrem zukünftigem Leben mit verschiedenen Softwaresystemen konfrontiert, die auf unterschiedlichen Konzepten beruhen. Die Auseinandersetzung und die Verwendung dieser Konzepte im Informatikunterricht dürfte daher eine spätere Erschließung ähnlicher Softwaresysteme erleichtern und eine Auswahl ermöglichen. Es existieren zahlreiche Arbeiten und viele Produkte zur visuellen Programmierung, jedoch keine einheitliche Begriffsvorstellung. Auch über die Relevanz Visueller Programmiersprachen zur Softwareentwicklung und -erweiterbarkeit besteht noch kein Konsens. Allen Ansätzen gemeinsam ist jedoch das Ziel, durch Verwendung graphischer Elemente Programme einfacher entwickeln zu können und/oder zu veranschaulichen. --- Cox [coxb90 in Pos96] entwickelte die Idee, dass Benutzer Anwendungen aus Softwarebausteinen und -karten am Bildschirm zusammenstecken, ähnlich wie dies schon lange bei der Hardware der Personalcomputer praktiziert wird.

5 VPS: Begriffsanalyse Begriffsvielfalt Bsp. Visuell --> Visual C++ o. ä. Entwicklungsumgebung Chang: "By visualization we mean the use of visual representations (such as graphics, images or animation sequences) to illustrate programs, data, the structure of a complex system, or the dynamic behavior of a complex system." Myers: "Visual programming (VP) refers to any system that allows the user to specify a program in a two-(or more)-dimensional fashion.“ Oxford 1983: „a set of statements that can be submitted as a unit to a computer system and used to direct the behavior of that system“ Universalsprache, mit der jedes (Berechnungs-)verfahren formuliert werden kann, das auf einer Turingmaschine ausführbar ist <---> Spezialsprache für eingeschränkten Anwendungsbereich Sprache = Alphabet + Grammatik + Semantik Def. Visuelle Programmiersprache ist eine Sprache mit visueller Syntax oder visueller Semantik ... ??

6 Visuelle Programmierung  Visuelle Programmiersprache
Visuelle Programmierung  Visuelle Programmiersprache Begriffsfeld: VP -- VPS Taxonomien von Shu, Chang, Myers, Burnett und Baker, Schiffer u. a. Japanische-asiatische Forschungen --> Schriftzeichen der Kultur „Didaktische Reduktion“ => Grafik a) Werkzeuge zur Visualisierung von Daten und Software, die einen großen Anteil textueller Programmpassagen enthalten. b) Sprachen mit fast ausschließlich visueller Syntax und Semantik Amethyst, Balsa (Pascal), Kaestle(Lisp), TPM (Prolog) Softwareentwicklungsumgebungen: Unterstützung von der Spezifikation bis zur Realisierung des Projektes. Die graphischen Grundelemente werden in Programmfragmente übersetzt, die eigentliche Realisierung erfolgt in einer textuellen Programmiersprache. Zielgruppen [Pos96]: VPS eher Endanwender, VisualXXL eher prof. Softwareentwickler

7 Charakteristika VPS Visuelle Repräsentation Sprachimplementierung
Charakteristika VPS Visuelle Repräsentation Sprachimplementierung Programmiertechnik Sprachzweck Charakteristika zur Unterscheidung und ggf. Klassifizierung VPS: Visuelle Repräsentation: Diagramm, Piktogramm, statische Bildsequenzen, Farbe, Text, Dimension Programmiertechniken (Paradigmen): funktional, imperativ, prädikativ-logisch, objekt-nachrichten-orientiert, datenfluss-orientiert, steuerfluss-orientiert, beispiel-orientiert, regel-basiert Spracheigenschaften: Abstraktion der Daten, Prozesse, Prozeduren (Aktionsicons) Steuerfluss (Anweisungen): Zuweisung, Sequenz, Verbund, ... Datentypen und Datenstrukturen: Elementare, Schlange, Liste, ... Konstruktoren: Enumeration, Restriktion, Aggregation, ... Ereignisbehandlung, Ausnahmebehandlung Sprachimplementierung: bedarfsgesteuerte, datengesteuerte Berechnung ?? Effizenz, Parsen, Übersetzer (Interpreter oder Compiler) Werkzeuge: Editor, Debugger, Animation, Überwacher, Container, ... Dokumentation (online, interaktiv, papierform) Sprachzweck: Universal, Datenbank,Bildverarbeitung, Visualisierung, Benutzerschnittstellen Sonstiges: verteilt, erweiterbar, nicht-deterministisch, Polymorphie, Vererbung, pattern-matching, constraints, framework, dynamische Speicherverwaltung, Module/Pakete, Funktionen und ihre Parameterübergabe, Unterprogramme, Rekursion, Nachrichtenübergabe, Kapselung, lokal-global, Klassen, Überladen Spracheigenschaften Diverses

8 Toontalk Werkzeuge Agenten Methoden Nachrichten 31.03.2017
Schulrelevante Beispiele Lego-Faszination, kreatives Konstruieren Interpretersprache zur Programmierung nebenläufig ablaufender, einschränkungs-orientierter Videoanimationen basierend auf log. Prog Animationen als Metaphern für abstrakte Programmelemente => VPS Grundelemente (constants): Zahlen, Zeichen, Bilder box:variable - Vergleich city:agentensystem; house:agent; robot:method; bird/nest:channel Fallunterscheidung Der Quellcode ist animiert und die Programmierumgebung (Konstruieren, Testen und Debuggen) erinnert an ein Videospiel. Verschiedene Fertigkeiten des strukturierten Denkens können in einer natürlichen Umgebung geschult werden und es macht Spaß. Als schulbare kognitive Fertigkeiten werden genannt: Probleme zerlegen, Komponenten zusammenfügen, explizite Repräsentation, Abstraktion, Über das Denken nachdenken Toontalk brit.-engl. Version (ca DM): Logotron: amerik.-engl. Version (ca DM): 30 Tage Demo-Version: deutsche Version in Bearbeitung (eingeschränkt) Methoden Nachrichten

9 LuckyLogicWin 31.03.2017 Steuerfluss-orientierte diagrammbasierte VPS
Zweck: Ansteuerung von FischerTechnik-Modellen, (robotertechnik-orientierte Einführung in Programmabläufe) Programmablaufpläne (concurrent), Unterprogramme (keine Parameterübergabe), globale Variablen, Verzweigungen, „Schleifen“ LLWIN deu. Version im FischerTechnik-Baukasten (ca DM) Einzellizenz (ca DM), Demoversion:

10 Visual-Softwarestudio
Visual-Softwarestudio Daten- und Steuerfluss-orientiertes System zur Anwendung und Entwicklung VPS Visualisierte Softwarebausteine (Vausteine) werden in einem grafischen Editor zu neuen Bausteinen zusammengefügt. Ein Softwarebaustein ist ein Satz von Daten mit einem Verweis auf ein Stück compilierten Programmcode, der auf einem Computer installiert und von anderen Programmen aus dynamisch geladen werden kann. Vausteine tauschen untereinander Nachrichten aus. Die Kanäle legt der Anwender über Verbindungslinien fest. Hierbei stehen für verschiedene Nachrichtenformate unterschiedliche Farben zur Verfügung. Ein Vaustein kann aus mehreren Untervausteinen bestehen. Das funktionale Zusammenwirken der Untervausteine wird mittels eines visualisierten Nachrichtendiagramms (Visuagramm) beschrieben. Der in den Softwarebausteinen verwendete compilierte Code (Komponente) kann als Instanz eines Objektes gesehen werden, das als Sourcecode (vbx, Java, Delphi,..) die Funktionalität eines zusammengehörenden Programmteiles beschreibt. Kapselung der Instanzen und Vererbung wird unterstützt. Visual deu. Version: triple s: ca DM (Klassenlizenz) 14 Tage Testversion Problem derzeit: keine echte Rekursion, wenig unterstützende Tools, Polymorphie?, Fertigungstechnik-orientierte Vausteine Versuch an der Uni Potsdam: für die Schule bearbeiten und testen (Teilnehmer ges.)

11 Cocoa / Stagecast Creator
Cocoa / Stagecast Creator Cocoa (Macintosh), Stagecast Creator (Windows 95) regelbasierte zweidimensionale Sprache Muster vorher --(Regel)--> Muster nacher Preis: MAC (kostenlos) PC (Demoversion, $90(1)-230(5)-780(25)

12 Agentsheets 31.03.2017 Agentsheets/VisualAgenTalk (Macintosh)
regelbasierte zweidimensionale Sprache kombiniert 3 Technologien: Agenten, Spreadsheets, Java, end-user-programming AgentSheets Arbeitsblätter / cell = agent / interaktiv , autonom Visual Agen Talk: Def. Des Verhaltens regelbasiert behavior = action + condition + trigger drag and drop -> Java-Applet Hunderte von Anwendungen im K-12 Bildungsbereich, Kunst, Design, computer science, technik FREEWARE ??

13 3D-Visulan 31.03.2017 3D- Visulan (Windows 95/NT)
regelbasierte dreidimenisonale Sprache Turingmaschine nur als Beispiel zukünftiger Entwicklungen Bsp. für 3 Dimensionen AND-Verknüpfung

14 Diskussion VPS Annahmen der Visuellen Programmierung:
Diskussion VPS Annahmen der Visuellen Programmierung: Bilder werden allgemein Text vorgezogen. Bilder können Inhalte kompakter darstellen. Bilder haben eine größere Aussagekraft als Wörter. Bilder ermöglichen einen schnelleren Informationstransfer Bilder als Gedankenstütze. Bilder überwinden Sprachbarrieren. Bilder können interaktiv-dynamisch sein Aus der Sichtweise der Mensch-Maschine-Kommunikation: Comics, virtuelle Umgebungen => Bilder sind anspechender als Worte; werden von Kindern aufgrund des Objektbezugs eher akzeptiert aber: „Probleme beim Umstieg auf textuelle Sprache“, Text manchmal eindeutiger (s. u.) Bilder sind multidimensional + „physikalische“ Eigenschaften => kompakte Information Bilder sind direkte Abbilder konkreter Objekte, sie referenzieren direkt, zumeist ohne Namensgebung (Text-Begriffsbildung) => größere Aussagekraft (Bsp. konkr. Gesicht) aber: Text erlaubt Dinge zu beschreiben, die mit Abbildungen nur schwer beschreibbar sind (Bsp „Kultur“) Aktivierung der rechten Gehirnhälfte => Parallele Verarbeitung multidimensional dargestellter Information von Bildern => höhere Informations-Transferrate Die Reihenfolge der Erfassung von Bildelementen erfolgt zufällig, beiTexten sequentiell Bilder bleiben besser im Gedächtnis aber: nicht interpretierbare Bilder bleiben ebenso schlecht im Gedächtnis, wie nicht interpretierbare Textinformation Bilder basieren nicht auf einer Sprache => stärkere Sprachunabhängigkeit aber: Bedeutung von Zeichen kann in Kulturen unterschiedlich sein, weniger Normen, Bilder können irrelevante Informationen enthalten und zu falschen Schlüssen führen Bilder können Dynamik zeigen, Text kann sie nur beschreiben Bilder können interaktiv sein => Unterstützung der Interaktion Repräsentation - Verstand Deutsch-Limit: es lassen sich max. 50 Bilder auf einem Bildschirm erfassen

15 Vorläufiges Fazit Sackgasse für professionelle Entwicklung ?!
Vorläufiges Fazit Sackgasse für professionelle Entwicklung ?! Stärken in speziellen Anwendungen Vorteilhaft zur Vermittlung von Ideen, der Darstellung komplexer Zusammenhänge und der Gestaltung von Benutzungsschnittstellen Mensch-Maschine-Kommunikation unterstützende Mechanismen sind häufig unzureichend Ausbildung allg. kognitiver Fähigkeiten ?!!! Nicht alle Pro- und Contra-Argumente an dieser Stelle auflistbar, doch: Liniengeflechte =?> prof. Entwicklung visuelle Metaphern in speziellen Bereichen eher auffindbar, übersichtl. Für Ideenvermittlung, Darstellung komplexer Zusammenhänge, Benutzerschnittstellen (auch in der Softwareentwicklung) Erleichterung der Kommunikation zwischen Auftraggeber und Entwickler, wenn Ähnlichkeiten zwischen der Programmiersprache und dem Auftraggeber bekannten Darstellungen existieren; ähnliches gilt für das Verhältnis Anwender-Computer Zweideutigkeiten müssen durch textuelle Erläuterung beseitigt werden Dynamik und Interaktion (Animation) können zum Verständnis und Behalten von Konzepten beitragen geeignete Sprachkonstrukte und Interaktionsmechanismen notwendig => für die eher kleineren Programme in der Schule mit dem Ziel der Vermittlung von Begriffen und Konzepten der Informatik und der Förderung allg. kognitiver Fähigkeiten vermutlich gut geeignet. Wichtig: der Weg zu einer textuellen Sprache darf nicht versperrt werden und muss ggf. sogar vorbereitet werden

16 Uni Potsdam Modifikation VPS für Schulzwecke
Uni Potsdam Modifikation VPS für Schulzwecke Erprobung VPS im Informatikunterricht Erstellung entsprechender Lehrhilfen


Herunterladen ppt "Visuelle Programmiersprachen im Informatikunterricht"

Ähnliche Präsentationen


Google-Anzeigen