Programmiersprachen im. Informatikunterricht



Ähnliche Dokumente
Programmierstile. Andreas Schwill. Institut für Informatik Universität Potsdam

1 Mathematische Grundlagen

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Einführung in Eclipse und Java

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Objektorientierte Programmierung OOP

Prolog basiert auf Prädikatenlogik

Projektfragen 3D Konfigurator

Bauteilattribute als Sachdaten anzeigen

Korrelation (II) Korrelation und Kausalität

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 topologisches Sortieren

Informatik 12 Datenbanken SQL-Einführung

Was ist Logische Programmierung?

Programmierstile im Anfangsunterricht

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Semantik von Formeln und Sequenzen

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Professionelle Seminare im Bereich MS-Office

1. Einführung. 2. Weitere Konten anlegen

F-E-P : Fragebogen zur Einschätzung der Psychologie. Selbstbild

Vorkurs Mathematik Übungen zu Polynomgleichungen

Und im Bereich Lernschwächen kommen sie, wenn sie merken, das Kind hat Probleme beim Rechnen oder Lesen und Schreiben.

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Wo hat mein Computer meine Dateien schon wieder versteckt? Tipps und Tricks Dateien wieder zu finden.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Zeichen bei Zahlen entschlüsseln

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

Was meinen die Leute eigentlich mit: Grexit?

in diesem Fragebogen finden Sie eine Reihe von allgemeinen Aussagen. Ein Beispiel: Gutmütige Menschen lassen sich leicht schikanieren.

Werte und Grundsätze des Berufskodexes für interkulturell Dolmetschende. Ethische Überlegungen: Was ist richtig? Wie soll ich mich verhalten?

Funktionale Programmierung (in Clojure)

Leichte-Sprache-Bilder

Mathematik I Prüfung für den Übertritt aus der 9. Klasse

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Vergleichsklausur 12.1 Mathematik vom

Sehr geehrte Faktor-IPS Anwender,

DER SELBST-CHECK FÜR IHR PROJEKT

Einführung in PHP. (mit Aufgaben)

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

CLIQ Solo. Einfache und flexible Sicherheit - die Sie selbst aktualisieren können

Anfrage und Angebot Von der Friedrich Kunst e.k., die bereits Kunde der HARO GmbH ist, ging folgende ein:

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Persönlichkeitstraining mit Pferden

Divergenz 1-E1. Ma 2 Lubov Vassilevskaya

Programmiersprachen und Programmierkonzepte

1 Vom Problem zum Programm

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Fotos verkleinern mit Paint

Impulse Inklusion 2014 Beteiligungskulturen - Netzwerke - Kooperationen (Leichte Sprache Version)

Tutorium Klinische Psychologie I. Fragen zur Ausbildung und rechtlichen Grundlagen in der Klinischen Psychologie

Robot Karol für Delphi

Das Leitbild vom Verein WIR

Modellbildungssysteme: Pädagogische und didaktische Ziele

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Daten sammeln, darstellen, auswerten

Impulse Inklusion Selbst-bestimmtes Wohnen und Nachbarschaft

Die Klimaforscher sind sich längst nicht sicher. Hans Mathias Kepplinger Senja Post

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Selbstreflexion für Lehrpersonen Ich als Führungspersönlichkeit

Anleitung über den Umgang mit Schildern

Übungen zur Softwaretechnik

Fragebogen: Abschlussbefragung

Program = Logic + Control

Karten-Freischaltung mit dem UNLOCK MANAGER

Workshops. Gewinnen Sie mehr Zeit und Qualität im Umgang mit Ihrem Wissen

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)


Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Kapiteltests zum Leitprogramm Binäre Suchbäume

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Was können Schüler anhand von Primzahltests über Mathematik lernen?

Materialien für den Unterricht zum Film Crazy von Hans-Christian Schmid Deutschland 2000, 93 Minuten

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Umgekehrte Kurvendiskussion

Programmierung von Konturzügen aus Geraden und Kreisbögen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Lizenzen auschecken. Was ist zu tun?

mal an Ihre Karriere! glaub, ich werd verrückt!

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Anwendungshinweise zur Anwendung der Soziometrie

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

Öffnen Sie die Albelli Gestaltungssoftware

Die Leute haben richtig Lust, so muss eine Veranstaltung sein.

Transkript:

Programmiersprachen im Informatikunterricht Andreas Schwill Institut für Informatik Überblick Bedeutung von Programmiersprachen Informatische Komponente Die Welt der Programmiersprachen Merkmale der Programmiersprachen Didaktische Komponente Der Sprachenstreit im Informatikunterricht Programmiersprachen im unterrichtlichen Vergleich Kognitive Aspekte objektorientierter Programmierung Methodische Hinweise

2 1 Bedeutung von Programmiersprachen Werkzeug Träger fundamentaler Ideen Programmiersprache Rückwirkung auf das Denken Wittgenstein: "Die Grenzen meiner Sprache sind die Grenzen meiner Welt" Sapir-Whorf-These: Linguistisches Relativitätsprinzip

2 Die Welt der Programmiersprachen 3 funktionales Universum prädikatives Universum Prädikatenkalkül λ-kalkül 1970 1930 Deklarative Universen Prozedurale Universen imperatives Universum Assembler 1940

4 funktionales Universum ML prädikatives Universum Prolog Miranda Gödel LISP Deklarative Universen Prozedurale Universen imperatives Universum Algol60 Simula67 Pascal

3 Merkmale der Programmiersprachen 5 Wissen Exakte Beschreibung allgemeiner Eigenschaften von Objekten sowie ihrer Beziehungen untereinander. (Zweckfreiheit) Beispiele Katzen trinken Milch Das Quadrat einer geraden Zahl ist gerade. Deklarative Universen Prozedurale Universen Lösungswege Exakte Festlegung, auf welchem Weg die Lösung zu einem Problem maschinell zu berechnen ist. -> gegebene Größen -> gesuchte Größen -> Lösungsweg (Zweckhaltigkeit) Beispiele Zum Öffnen Lasche anheben, zusammendrücken und farbige Ecke abreißen. Falls Sie weitere Informationen wünschen, senden Sie bitte den ausgefüllten Coupon zurück.

6 Semantik Gegeben n; b 1; Alle Paare (x,y), wo y als Ergebnis der Eingabe von x entsteht. solange n>0 tue b 1-b; n n-1 ende; Ergebnis b ; b n imperatives Wesen

7 f(k)= { 1, falls k=0 g(k-1), sonst. Semantik F und G als Lösungen des Funktionalgleichungssystems. g(k)= { 0, falls k=0 f(k-1), sonst. Berechne f(n) = sub { funktionales Wesen

8 f(0,1). g(0,0). k,b: f(k,b) => g(k+1,b). k,b: g(k,b) => f(k+1,b). Semantik Alle f(x,y), g(x,y), die man aus den Fakten mithilfe der Regeln ableiten kann. b mit f(n,b)? => f(n,b) f(k+1,1-b) Unifikation prädikatives Wesen

9 4 Der Sprachenstreit im Informatikunterricht 1975: Welche Programmiersprache ist für die Schule am geeignetsten? BASIC PASCAL Man betone die korrekte Denkweise 1990: Welche Denkweise ist für die Schule am geeignetsten? imperativ prädikativ funktional objekt-orientiert Man betone die korrekte Meta-Denkweise 2005: Welche Meta-Denkweise (??) ist die geeignetste?...

10 5 Programmiersprachen im unterrichtl. Vergleich Imperative Programmierung mit Pascal Erfahrungen: + dominiert den Informatikunterricht + gute Lernerfolge auf lange Sicht + besitzt Bezug zur Lebenswelt der Schüler + ist in der Informatik im Zusammenhang mit Rechnermodellen und Effizienzanalysen unverzichtbar Mängel: - umfangreiche Syntax - (zu) viele (zu) elementare Konzepte - Mangel an Orthogonalität (Baukastenprinzip) - Motivationsprobleme zu Beginn - Programme mit Wegwerf-Charakter - Lernen "auf Vorrat"

11 Prädikative Programmierung mit PROLOG Erfahrungen: + viele interessante Vorschläge, PROLOG in den Anfangsunterricht einzubeziehen + kein Motivationsproblem: Schüler können sehr früh mächtige Programme schreiben + hohes Maß an Orthogonalität Mängel: Alle Vorschläge setzen voraus, - daß PROLOG eine große Nähe zur natürlichen Sprache besitzt, - daß Anfänger leichter Probleme beschreiben als Vorschriften zu ihrer Lösung angeben können, im Widerspruch zu empirischen Ergebnissen.

12 "Nähe zur natürlichen Sprache": Alltagslogik=Prädikatenlogik. 1. Problem: Umsetzung umgangssprachlicher Aussagen mit temporalen, kausalen oder undifferenzierten logischen Operationen in prädikatenlogische Aussagen: Sie war reich, und er heiratete sie <=> Er heiratete sie, und sie war reich. Paula ist eine gute Schülerin, weil sie hart arbeitet. Wenn es regnet, nehme ich einen Schirm => Wenn es nicht regnet, nehme ich keinen Schirm. 2. Problem: closed world assumption versus open world reality: Mensch: weiß nicht Gibt es auf Tahiti Vulkane? PROLOG: nein 3. Problem: Deklarative <=> prozedurale Semantik. Anfänger benötigen Verständnis für virtuelle PROLOG-Maschine. "Problemlösen durch Problembeschreiben": Idee: zweckfreies Wissen Problem Computer Lösung Tatsächlich: Eingegebenes Wissen ist in hohem Maße zweckorientiert.

13 Konsequenzen: - Schüler sind nicht gut in Logik => Einführung in Prädikatenlogik nötig - Schüler können Modellierungprobleme nicht intuitiv lösen => Vertieftes Verständnis von PROLOG und der virtuellen PROLOG-Maschine nötig - Vorteile von PROLOG im Anfangsunterricht sehr zweifelhaft Funktionale Programmierung Erfahrungen: kaum Vorschläge und Ergebnisse mit modernen Sprachen positive Erfahrungen mit LOGO evtl. nicht übertragbar - mathematische Notation für Anfänger evtl. zu abschreckend - Psychologie: Rekursion schwierig für Anfänger

14 Objektorientierte Programmierung Erfahrungen: + erfüllt Forderungen nach einem zeitgemäßen Unterricht mit modernen Konzepten, wie Erweiterbarkeit, Vererbbarkeit, Kapselung etc. + erfüllt Wünsche nach einer stärkeren Anwendungsorientierung durch Nutzung des Computers anstelle von seinem vertieften Verständnis + erfüllt das Prinzip der Fortsetzbarkeit eines nach dem Spiralprinzip organisierten Unterrichts; Umstellung von speziellen Anfängersystemen wie LOGO oder Roboter NIKI auf eine "echte" Sprache entfällt + paßt zu den psychologischen Prozessen, die im menschlichen Gehirn beim Denken, Erkennen und Problemlösen ablaufen, + paßt damit insbesondere zu den kognitiven Voraussetzungen von Anfängern.

15 6 Kognitive Aspekte objektorientierter Programmierung Objekte aus kognitiver und informatischer Sicht Objekt - längl. - spitz Schraubenzieher - zum Schrauben Schraubenz. - für Schlitzschrauben Schraubenz. - für Kreuzschlitzschrauben Schraubenz. - zum Spannungprüfen Ergebnisse der Kognitionspsychologie: Menschen identifizieren Objekte mehr durch die Aktionen, die mit ihnen möglich sind, als durch ihr Aussehen wie Farbe oder Form. Standardmodell der Kognitionspsychologie: Kategorie/Schema

16 Analogie: Klasse <-> Kategorie/Schema objektorientierte Sicht Beispiel psychologische Sicht Klasse Hund Kategorie/Schema = große komplexe Einheit, die große Teile menschl. Wissens und Verhaltens organisiert Definition durch Attribute: Definition durch Attribute: Variablen hat 4 Beine Wahrnehmungsattribute Methoden kann bellen Funktionsattribute Vererbung relationale Attribute einfach Hund ist Haustier Kategorien können sich gegenseitig ausschließen mehrfach Geparden verbinden Kategorien können Eigenschaften von sich überlappen Hund und Katze

17 Beispiel: Das Kerzenproblem von K. Duncker

18 Situation 1 K H Versuchsperson S

19 Situation 2 Versuchsperson Beobachtung: Versuchspersonen 1 nehmen die Schachteln als Behälter wahr; Die Funktion "Behälter" beschränkt die nachfolgenden Denkabläufe (funktionale Gebundenheit) Versuchspersonen 2 nehmen die Schachteln ohne Bindung an irgendeine Funkton wahr.

20 Eine objektorientierte Interpretation (OBERON-artig) type Gegenstand = record hat eine räuml. Ausdehnung; kann man greifen; hat Farbe und Form;... end; type quaderförmig = record (Gegenstand) hat Länge, Breite, Höhe;... end; type flacherquader = record (quaderförmig) Höhe 5cm; kann man stapeln; kann man als Unterlage verwenden;... end; type Schachtel = record (flacherquader) kann man öffnen; kann man schließen; ist leer oder gefüllt mit...;... end.

21 Gegenstand... quaderförmig............ flacherquader... Sicht der Personen aus Gruppe 2... Schachtel............ Sicht der Personen aus Gruppe 1

22 7 Methodische Hinweise Objektorientierte Programmierung - ist aus Sicht der Informatik ein moderner und leistungsfähiger Ansatz, - spiegelt fundamentale kognitive Prozesse im menschlichen Gehirn wider, - ist folglich besonders geeignet für den einführenden Informatikunterricht, vorausgesetzt, daß - man eine Programmierumgebung wählt, die die objektorientierte Vorgehensweise sichtbar macht, d.h. = eine künstliche Welt generiert, = viele, klar visualisierte Standardobjekte bietet, = eine Benutzungsschnittstelle besitzt, mit der man spielerisch explorativ Objekte manipulieren, analysieren, kombinieren, rekonfigurieren, evolutionär erweitern, neu entwickeln kann. Systeme, die dieser Philosophie nahekommen, sind z.b.: HyperCard für Anfängerniveau (mit fester Klassenhierarchie, vereinfachtem Nachrichtenaustausch, HyperTalk) Smalltalk-80 für Fortgeschrittene.