Didaktische Umsetzung des Themas „Informationen verarbeiten: Modell – Algorithmus – Lösung“ mit Programmierumgebungen in der Sekundarstufe I LFB D04076 am 01.03.2012 Katrin Büttner Thomas Knapp Bettina Timmermann Gliederung Grundsätze und Standards für die Informatik in der Schule (Empfehlungen der GI e.V. vom Januar 2008) Kurze Bemerkungen zu den sächsischen Lehrplänen Fachliche Grundlagen - Klassen und Objekte Programmierparadigmen Algorithmusbegriff Algorithmische Grundstrukturen Funktionen und Prozeduren Rekursion Problemlöseprozess Übersicht über Werkzeuge zur Modellierung und über Programmierumgebungen - LFB – D04076 01. März 2012 Modellierungswerkzeuge Anforderungen an eine Programmierumgebung und –sprache für den Anfangsunterricht Programmierumgebungen für den Informatikunterricht (EOS, Kara, Karol, Logo, Scratch) 1 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards „Die ‘Standards‘ nennen die Kompetenzen, die die Schülerinnen und Schüler unter den Rahmenbedingungen des Informatikunterrichts erwerben sollen. Dazu sind die Standards in fünf Inhalts- und fünf Prozessbereiche unterteilt.“ (Rahmen: je 1 Wochenstunde in den Klassenstufen 5 – 10) Quelle: Grundsätze und Standards für die Informatik … Beilage zu LOG IN, Heft 150/151 (2008) LFB – D04076 01. März 2012 2 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards www.informatikstandards.de Diese Webseite ist im Rahmen von Komplexpraktika in der Arbeitsgruppe Didaktik der Informatik/Lehrerbildung an der Fakultät Informatik der Technischen Universität Dresden entstanden. (Leitung: Prof. Dr. Friedrich) Mitgewirkt haben: (im Sommersemester 2008) Kristin Albert, Ivonne Günther, Anne Hellriegel, Cosmin Jurma, Andreas Müller, Axel Schröder (im Sommersemester 2009) Johannes Apel, Timm Fredebold, Sharon Funke, Benjamin Gnauk, Janine Hellriegel, René Hoch, Constanze Klaus, Michéle Sprejz, Felix von Zadow LFB – D04076 01. März 2012 3 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards Inhaltsbereich: Algorithmen Schülerinnen und Schüler aller Jahrgangsstufen kennen Algorithmen zum Lösen von Aufgaben und Problemen aus verschiedenen Anwendungsgebieten und lesen und interpretieren gegebene Algorithmen, Schülerinnen und Schüler der Jahrgangsstufen 5 - 7 Schülerinnen und Schüler der Jahrgangsstufen 8 - 10 • benennen und formulieren Handlungsvorschriften aus dem Alltag • lesen und verstehen Handlungsvorschriften für das Arbeiten mit Informatiksystemen • interpretieren Handlungsvorschriften korrekt und führen sie schrittweise aus • überprüfen die wesentlichen Eigenschaften von Algorithmen • lesen formale Darstellungen von Algorithmen und setzen sie in Programme um Beilage zu LOG IN, Heft 150/151 (2008), www.informatikstandards.de LFB – D04076 01. März 2012 4 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards noch Inhaltsbereich: Algorithmen Schülerinnen und Schüler aller Jahrgangsstufen entwerfen und realisieren Algorithmen mit den algorithmischen Grundbausteinen und stellen diese geeignet dar. Schülerinnen und Schüler der Jahrgangsstufen 5 - 7 Schülerinnen und Schüler der Jahrgangsstufen 8 - 10 • benutzen die algorithmischen Grundbausteine zur Darstellung von Handlungsvorschriften • entwerfen Handlungsvorschriften als Text oder mit formalen Darstellungsformen • entwerfen und testen einfache Algorithmen • stellen die algorithmischen Grundbausteine formal dar • verwenden Variablen und Wertzuweisungen • entwerfen, implementieren und beurteilen Algorithmen • modifizieren und ergänzen Quelltexte von Programmen nach Vorgaben Beilage zu LOG IN, Heft 150/151 (2008), www.informatikstandards.de LFB – D04076 01. März 2012 5 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards www.informatikstandards.de Problem: Welche Werkzeuge sind für den Schulunterricht geeignet? LFB – D04076 01. März 2012 6 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards www.informatikstandards.de Werkzeuge zum Inhaltsbereich Algorithmen (alphabetisch geordnet, zur Zeit eingetragen) ADT (Lern- und Übungstool, Klassenstufen 11 – 13) Brückenbauen (Lernsoftware, Klassenstufen 8 – 10) Cryptool (Lernsoftware, Klassenstufen 7 – 13) Disk (Beispielprogramm, Klassenstufen 6 – 7) EOS objekt (einfache objektorientierte Sprache, Klassenstufen 6 – 9) Hamstersimulator (Programmierumgebung, Klassenstufen 5 – 10) K-Sat (Lernsoftware, Klassenstufen 11 – 13) Es fehlen u.a.: Krypto-Tool (Lernsoftware, Klassenstufen 7 – 10) Kryptographie (Lern- und Übungsapplets, Klassenstufen 8 – 13) LEO (Lernprogramm, Softwareentwicklungsumgebung, Klassenstufen 11 – 13) Logo Kara Karol NSD-Tool (Tool zur Erstellung von Struktogrammen, Klassenstufen 5 – 13) Numerische Verfahren (Applet, Klassenstufen 11 – 13) Pascal-Visualisierung PaVi (Visualisierungstool, Klassenstufe 8 – 10) Pi-Textsuche (Lernsoftware, Klassenstufen 5 – 7) Puck (visuelle Programmiersprache, Klassenstufen 7 – 11) Quicksort (Lernsoftware, Klassenstufen 11 – 13) Scratch (Programmiersoftware, Klassenstufen 5 – 11) Visis (Lernsoftware zur Arbeitsweise eines Mikroprozessors, Klassen 11 – 13) LFB – D04076 01. März 2012 7 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards LFB – D04076 01. März 2012 www.informatikstandards.de 8/64 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards Ausgewählte wissenschaftliche Arbeiten zur 1. Staatsprüfung T. Durda: PISA – Aufgaben im Themenbereich „Sprachen und Automaten“ - ein Beitrag zur Ausarbeitung von Bildungsstandards im Fach Informatik (September 2006) – s. auch: T. Durda: Evaluierungsmöglichkeiten von Bildungsstandards, LOG IN, Heft 146/147 (2007), S. 23 - 26 Th. Stoll: Das Programmierwerkzeug „Scratch“ im Informatikunterricht an Mittelschulen, insbesondere unter Berücksichtigung der Bildungsstandards Informatik (Oktober 2008) s. LOG IN, Heft 154/155 (2008) S. 81 - 90 und Materialdatenbank auf dem Sächsischen Bildungsserver: http://www2.sn.schule.de/~matdb/matdb2/index.php?action=articleview&a=351 W. Spalteholz: Standardisierung in der informatischen Bildung am Beispiel des Themengebiets Rechnernetze (November 2007) M. Windisch: Untersuchung zur informatischen Bildung an Schulen Sachsens – die Bildungsstandards und der Lehrplan: Vergleich, Interpretation, Kopplung und Umsetzbarkeit (August 2008) Begleitung der Lernstandsanalyse zum Thema „Klassen und Objekte“ im Januar 2009 LFB – D04076 01. März 2012 9 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards Weitere Artikel zu dieser Problematik in der Zeitschrift LOG IN: P. Brichzin, H. Fischer, Th. Knapp, U, Heuer und M. Steinert: Aufgaben in Lehrbüchern für Schülerinnen und Schüler der Sekundarstufe I, LOG IN, Heft 154/155 (2008) S. 37 – 50 K. Büttner, S. Kogel: Bildungsstandards und Hauptschüler, LOG IN, Heft 150/151 (2008), S. 32 – 36 H. Fischer, Th. Knapp: Informatische Bildung einmal anders – Codieren, Chiffrieren, Nachrichten übertragen mit Mittelschülerinnen und -schülern, LOG IN, Heft 150/151 (2008), S. 37 – 42 Th. Knapp: Informatische Bildung an der Mittelschule – Eine Darstellung zur Entwicklung der informatischen Bildung in Sachsen am Beispiel der Mittelschulen, LOG IN, Heft 150/151 (2008), S. 19 – 25 LFB – D04076 01. März 2012 10 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikstandards Weitere Artikel zu dieser Problematik in der Zeitschrift LOG IN: L. Kohl, M. Fothe: Algorithmen aus einer anderen Perspektive – Ein Vorschlag für ein Kompetenzmodell zum Inhaltsbereich ,,Algorithmen“ der ,,Bildungsstandards Informatik“, LOG IN, Heft 146/147 (2007), S. 20 – 22 H. Neupert, H. Rohland, Modellierung der Datenbasis von Datenbanken – Modellierungsaspekte bei der Behandlung von Datenbanksystemen in der Sekundarstufe I, LOG IN, Heft 146/147 (2007), S. 27 – 35 H. Puhlmann, St. Friedrich: Die Standards – und wie weiter? – Zur Beurteilung von Aufgaben für Unterricht und Test, LOG IN, Heft 146/147 (2007), S. 16 – 19 R. Romeike: Animationen und Spiele gestalten – Ein kreativer Einstieg ins Programmieren, LOG IN, Heft 146/147 (2007), S. 36 – 44 Vortrag auf der INFOS 2009: Katrin Büttner, Thomas Knapp, Steffen Friedrich: Untersuchungen zu informatischen Kompetenzen in Sachsen – eine empirische Studie, in: Bernhard Koerber (Hrsg.): Zukunft braucht Herkunft, 25 Jahre „INFOS – Informatik und Schule“, INFOS 2009, 13. GIFachtagung Informatik und Schule, 21. – 24. September 2009, Berlin, Proceedings, ISBN 978-3-88579-250-5 LFB – D04076 01. März 2012 11 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Beschreibung der Lernzielebenen (s. Lehrplan) Einblick gewinnen Begegnung als grundlegende Orientierung, ohne tiefere Reflexion Kennen über Kenntnisse und Erfahrungen aus einem begrenzten Gebiet im gelernten Kontext verfügen Übertragen Kenntnisse und Erfahrungen in vergleichbaren Kontexten anwenden Beherrschen Handlungs- und Verfahrensweisen routinemäßig gebrauchen Anwenden Kenntnisse und Erfahrungen in unbekannten Kontexten anwenden Beurteilen/Sich positionieren begründete Sach- und/oder Werturteile entwickeln und darstellen Gestalten/Problemlösen Handlungen selbständig planen, durchführen, kontrollieren und zu neuen Deutungen und Folgerungen gelangen LFB – D04076 01. März 2012 12 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informatikunterricht in der Mittelschule (s. Lehrplan) Allgemeine fachliche Ziele Aneignen von Strategien und Methoden des Umgangs mit Informationen und Daten Nutzen von Informatiksystemen und Auseinandersetzung mit deren Wirkung auf Individuum und Gesellschaft Verwenden von informatischen Modellen und Modellierungstechniken Die Schüler nutzen Modelle zielgerichtet. Sie gebrauchen Fachbegriffe sicher und können diese in die Fachsystematik einordnen. (s. Klasse 8) Nutzen von Problemlösestrategien Die Schüler modellieren und implementieren Lösungen zu einfachen Problemen. (s. Klasse 8) Lernbereich 2, Klasse 8: Informationen verarbeiten: Modell – Algorithmus – Lösung 17 Ustd. Wichtig: Auswahl einer schülergerechten Software (EOS, Karol, Kara, Logo, Scratch, …)! „Entscheidungen über eine zweckmäßige zeitliche Reihenfolge der Lernbereiche innerhalb einer Klassenstufe bzw. zu Schwerpunkten innerhalb eines Lernbereiches liegen in der Verantwortung des Lehrers. Zeitrichtwerte können, soweit das Erreichen der Ziele gewährleistet ist, variiert werden.“ Quelle: Lehrplan Mittelschule, SMK 2004, S. I (Aufbau und Verbindlichkeit der Lehrpläne) LFB – D04076 01. März 2012 13 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informationen verarbeiten: Modell – Algorithmus – Lösung Kennen grundlegender Programmstrukturen Begriff: Algorithmus (allgemeingültig, ausführbar, eindeutig, endlich) Programmstrukturen: Folge, Wiederholung, Verzweigung ? eine Darstellungsform (z.B. Struktogramm, Programmablaufplan, Quelltext in einer Programmiersprache) EOS Beherrschen der Umsetzung des Modells an einfachen Beispielen Kara Kennen des Problemlöseprozesses Karol Analyse, Entwurf, Algorithmus u. Programm, Kontrolle u. Dokumentation Lösen eines einfachen Problems unter Nutzung der Programmstukturen Übertragen der Kenntnisse zum Problemlöseprozess Logo Scratch Selbständiges Lösen einfacher Probleme Kritisches Bewerten der Resultate LFB – D04076 01. März 2012 14 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informationen verarbeiten: Modell – Algorithmus – Lösung Aufgabe: Zeichne einen Turm, der 4 mal so hoch wie breit ist und ein gleichseitiges Dreieck als Dach hat. MSW Logo Analyse: EOS Scratch 4 übereinandergestapelte blaue Quadrate mit Seitenlänge s 1 gleichseitiges rotes Dreieck mit Seitenlänge s LFB – D04076 01. März 2012 15 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informationen verarbeiten: Modell – Algorithmus – Lösung MSW Logo Schwerpunkt: Algorithmus zum Zeichnen eines Quadrates bzw. Dreiecks pr zeichne_quadrat :s ; Prozedur zum Zeichnen eines Quadrates wh 4 [vw :s re 360/4] füllfarbe [0 0 255] re 15 vw 2 fülle rw 2 li 15 ende pr zeichne_dreieck :s ; Prozedur zum zeichnen eines Dreiecks wh 3 [vw :s re 360/3] füllfarbe [255 0 0] re 20 vw 5 fülle rw 5 li 20 ende pr zeichne_turm :s ; zeichnet Turm mit Breits s und Höhe 4 mal s wh 4 [zeichne_quadrat :s vw :s] ; Positionierung für Dach re 30 zeichne_dreieck :s li 30 rw 4 * :s Vorraussetzung: ende Schüler kennt Grundprozeduren wie vw <.>, rw <.>, re < >, li <.>, wh <.> [<.>] u.a. LFB – D04076 01. März 2012 16 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informationen verarbeiten: Modell – Algorithmus – Lösung EOS Schwerpunkt: Erzeugen von Objekten der Klassen QUADRAT, DREIECK und GRUPPE und Anwenden von Methoden zur Änderung von Attributwerten d.eckenSetzen(0,80, 10, 100, 20,80) d.füllfarbeSetzen(rot) // EOS 1.5 - Programm f:FENSTER q1:QUADRAT q2:QUADRAT q3:QUADRAT q4:QUADRAT d:DREIECK turm:GRUPPE turm.kopiere(q1) turm.kopiere(q2) turm.kopiere(q3) turm.kopiere(q4) turm.kopiere(d) q1.linksObenSetzen(0,20) q1.seitenlängeSetzen(20) q1.füllfarbeSetzen(blau) f.zeichne(turm) q2.linksObenSetzen(0,40) q2.seitenlängeSetzen(20) q2.füllfarbeSetzen(blau) q3.linksObenSetzen(0,60) q3.seitenlängeSetzen(20) q3.füllfarbeSetzen(blau) q4.linksObenSetzen(0,80) q4.seitenlängeSetzen(20) q4.füllfarbeSetzen(blau) LFB – D04076 01. März 2012 17 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Informationen verarbeiten: Modell – Algorithmus – Lösung Scratch Schwerpunkt: Algorithmus zum Zeichnen eines Quadrates bzw. Dreiecks LFB – D04076 01. März 2012 18 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Klassen und Objekte Merksatz 1: Eine Objekt ist eine identifizierbare Einheit unserer Umwelt oder unseres Denkens. Es wird beschrieben durch seine Attribute mit dem jeweils zugehörigen Attributwert. Merksatz 2: Eine Klasse ist ein Bauplan für gleichartig strukturierte Objekte. Sie wird beschrieben durch ihre Attribute mit den zugehörigen Attributwertebereichen und ihren Methoden. Bemerkung 1: Alle Objekte, die aus einer Klasse erzeugt wurden, haben die gleichen Attribute, aber meist unterschiedliche Attributwerte. Bemerkung 2: Alle Objekte, die aus einer Klasse erzeugt wurden, verfügen über die gleichen Methoden. Bemerkung 3: Mit den Methoden werden Attributwerte verändert. Grundwissen Informatikunterricht auf dem SBS (Helmar Fischer,Thomas Knapp) LFB – D04076 01. März 2012 19 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Klassen und Objekte Wichtig: Klasse ist immer etwas „abstraktes“, ein Objekt ist immer etwas „konkretes“ Mögliche Darstellungsformen: - Verbale Beschreibung - Mindmap - Vereinfachter UML-Standard - Punktnotation In der LSA „Klassen und Objekte“ wurde genau diese Thematik behandelt. Die Ergebnisse der LSA wurden auf der INFOS 2009 in Berlin vorgestellt. Zur Zeit ist eine LSA „Datenbanken“ in Vorbereitung, die auf die gleiche Weise durchgeführt werden wird. LFB – D04076 01. März 2012 20 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Darstellung von Klassen und Objekten Vereinfachte Unified Modelling Language - Darstellung: UML-Darstellung: Objekt Klasse KLASSENNAME objektname: KLASSENNAME attribut1_name: Wertebereich attribut1_name = Wert attribut2_name: Wertebereich attribut2_name = Wert …: ..., …, … …: ..., …, … methode1_name() methode1_name() … … Wichtige Regeln: • Klassennamen in Großbuchstaben (ohne Umlaute u.ä.!) • Objektnamen, Attributnamen und Methodennamen in Kleinbuchstaben (ohne Umlaute u.ä.!) Bemerkung: Ist ein Attributwert eine Zeichenkette, so kann diese Zeichenkette durchaus Umlaute oder ein ß enthalten. LFB – D04076 01. März 2012 21 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Darstellung von Klassen und Objekten Beispiel aus Vorlesung „Anwendersysteme – Teil: Programmiersysteme“ UML-Darstellung: Klasse Objekt SCHALTFLAECHE b_loeschen : SCHALTFLAECHE fenster: …, … fenster = “hf beschriftung: ..., … beschriftung = [Alles loeschen] x_koord_l_o_ecke: 0, 1, ... x_koord_l_o_ecke = 20 y_koord_l_o_ecke: 0, 1, ... y_koord_l_o_ecke = 120 breite: 0, 1, ... breite = 90 hoehe: 0, 1, ... hoehe = 20 prozeduraufruf: ... prozeduraufruf = [loeschen] schaltflaeche_erzeugen() schaltflaeche_erzeugen() schaltflaeche_entfernen() schaltflaeche_entfernen() Logo-Grundprozedur - MSW Logo (engl.): buttoncreate "hf zugehöriges Fenster LFB – D04076 01. März 2012 "b_loeschen Name des Objektes [Alles loeschen] Beschriftung des Objekts x und y-Koordinate der linken oberen Ecke 22 20 120 90 Breite und Höhe des Objekts 20 [loeschen] Prozeduraufruf © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Programmierparadigmen Imperative Programmierung Zentraler Begriff Funktionale Programmierung Logische Programmierung Befehl (Anweisung, insbesondere auch: Wertzuweisung) Variable als NameWert-Paar Funktion Ein Programm ist Folge von Befehlen Eine Sammlung ineinander eingesetzter Funktionen Eine Sammlung von Fakten und Regeln Beispiele ALGOL, FORTRAN, BASIC, PASCAL, aber auch Scriptsprachen wie JavaScript, php LISP, LOGO, SCHEME, HASKALL, CAML, MIRANDA, usw. PROLOG Fakt, Regel Keine Trennung von Programm und Daten! und auch: Turtle-Grafik in Logo, Karol u.a. Das Paradigma „Objektorientierung“ liegt quer zu den obigen Paradigmen: Die Objektorientierung ist eine Entwurfsmethode: OOAnalyse – OOEntwurf – OODesign – OOProgrammierung LFB – D04076 01. März 2012 23 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Programmierparadigmen Wichtig: Ziel der Objektorientierung ist es u.a. sogenannte „vordefinierte Klassen“ zu benutzen. Das bedeutet: Wenn man ein Objekt einer vordefinierten Klasse erzeugt, kann man sofort auch die für diese Klasse festgelegten Methoden nutzen und muss diese nicht selbst programmieren. (Beispiel: Ein Objekt der Klasse „Date“ in JavaScript) Bei der Definition eigener Klassen muss man folgende Schritte tun: - Klassennamen festlegen - Attributnamen festlegen - Methodennamen und formale Parameter festlegen - Methoden programmieren Für die Programmierung der Methoden werden Kenntnisse insbesondere der imperativen aber auch der funktionalen Programmierung benötigt. LFB – D04076 01. März 2012 24 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmus Im Duden Informatik (V. Claus, A. Schwill, Dudenverlag, Mannheim, Leipzig, Wien, Zürich, 1993) ist definiert: „Unter einem Algorithmus versteht man eine Verarbeitungsvorschrift, die so präzise formuliert ist, dass sie von einem mechanisch oder elektronisch arbeitenden Gerät durchgeführt werden kann. Aus der Präzision der sprachlichen Darstellung des Algorithmus muss die Abfolge der einzelnen Verarbeitungsschritte eindeutig hervorgehen. Hierbei sind Wahlmöglichkeiten zugelassen. Nur muss dann genau festliegen, wie die Auswahl erfolgen soll.“ Für den Informatikunterricht in der Sekundarstufe 1 ist folgender Merksatz geeignet: „Ein Algorithmus ist eine endliche Folge aus elementaren, eindeutigen und ausführbaren Anweisungen.“ Quelle: P. Brichzin, U. Freiberger, K. Reinold, A. Wiedemann: Grundlagen der Informatik, Oldenburg Schulbuchverlag GmbH, München, Düsseldorf, Stuttgart, 2005, ISBN 3-486-00098-5 LFB – D04076 01. März 2012 25 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmus Ein Algorithmus ist allgemeingültig ausführbar eindeutig endlich Dieses Skript ist – streng genommen – kein Algorithmus, da nicht allgemeingültig. pr zeichne_quadrat :s ; Prozedur zum Zeichnen eines Quadrates wh 4 [vw :s re 360/4] füllfarbe [0 0 255] re 15 vw 2 fülle Die Logo-Prozedur hat rw 2 li 15 alle vier genannten ende Eigenschaften. LFB – D04076 01. März 2012 26 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmus Einen Algorithmus kann man beschreiben mit Worten der Umgangssprache als Folge von Befehlen oder mittels funktionaler Zusammenhänge mittels eines Programmablaufplanes mittels eines Struktogrammes durch ein Programm in einer Programmiersprache -> Übung in der nächsten Doppelstunde (Beispiel: Handlungsablauf beim Telefonieren) LFB – D04076 01. März 2012 27 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmus Beispiel: Zeichnen eines Quadrates Mit Worten der Umgangssprache als Folge von Befehlen: - Erfrage die Anzahl x der Schritte - Wiederhole 4 mal: gehe x Schritte vorwärts und drehe dich 90 Grad nach rechts PAP: Struktogramm: Erfrage Anzahl x der Schritte Wiederhole 4 mal Gehe x Schritte vorwärts Drehe dich 90° nach rechts LFB – D04076 01. März 2012 28 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmus Beispiel: Zeichnen eines Quadrates Programm: LFB – D04076 01. März 2012 pr zeichne_quadrat :s ; Prozedur zum Zeichnen eines Quadrates wh 4 [vw :s re 360/4] füllfarbe [0 0 255] re 15 vw 2 fülle rw 2 li 15 ende 29 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstrukturen In der imperativen Programmierung ist die einzelne Anweisung (Befehl) der zentrale Begriff. Diese Anweisungen werden in algorithmischen Grundstrukturen (Kontrollstrukturen) angeordnet. Jedes in einer imperativen Sprache geschriebenes Programm setzt sich aus den folgenden algorithmischen Grundstrukturen zusammen, die auch beliebig ineinander eingesetzt werden können: - Folge (Sequenz) - Wiederholung (Zyklus oder Schleife) - Verzweigung (Alternative und Mehrfachauswahl) Diese Grundstrukturen gab es schon in ALGOL und FORTRAN und sie sind auch heute in jeder imperativen Programmiersprache zu finden, so u.a. in PASCAL, aber auch in Java und den Scriptsprachen JavaScript und php! -> Diese Grundstrukturen gehören heute zur Allgemeinbildung wie das „Kleine 1 X 1“ in der Mathematik! LFB – D04076 01. März 2012 30 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Folge“ Eine Folge (oder Sequenz) ist die einfachste algorithmische Grundstruktur. Sie besteht aus einer Abfolge von einer oder mehreren Anweisungen, die in der gegebenen Reihenfolge nacheinander ausgeführt werden. Struktogramm PAP (Programmablaufplan) Anweisung 1 Anweisung 2 Anweisung 3 ... ... ... LFB – D04076 01. März 2012 31 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Wiederholung“ Eine Wiederholung (oder Zyklus) dient der Wiederholung einer einzelnen oder auch mehrerer Anweisungen. Dabei unterscheidet man: - gezählte Wiederholung (Zählschleife) - Wiederholung mit vorangestelltem Test - Wiederholung mit nachgestelltem Test Bei einer gezählten Wiederholung werden die Anweisungen innerhalb der Wiederholung genau n mal ausgeführt. Struktogramm PAP wiederhole n mal Anweisung 1 Anweisung 2 Anweisung 3 ... LFB – D04076 01. März 2012 32 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Wiederholung“ Bei einer Wiederholung mit vorangestelltem Test werden die Anweisungen ausgeführt, so lange eine Bedingung erfüllt ist. Es kann also passieren, dass die Anweisungen innerhalb der Wiederholung überhaupt nicht ausgeführt werden. Struktogramm solange PAP Bed. erfüllt, wiederhole Anweisung 1 Anweisung 2 Anweisung 3 ... LFB – D04076 01. März 2012 33 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Wiederholung“ Bei einer Wiederholung mit nachgestelltem Test werden die Anweisungen ausgeführt, bis eine Bedingung erfüllt ist. Die Anweisungen innerhalb der Wiederholung werden also mindestens einmal werden. Struktogramm wiederhole PAP Anweisung 1 Anweisung 2 ... ... bis Bedingung erfüllt LFB – D04076 01. März 2012 34 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Verzweigung“ Bei einer Verzweigung (Alternative) hängt es vom Erfüllt sein einer Bedingung ab, welche Zweig ausgeführt wird. Dabei kann ein Zweig aus einer oder mehreren Anweisungen bestehen, oder aber auch leer sein. Struktogramm PAP Bedingung erfüllt ja Anweisung 1 nein Anweisung 4 Anweisung 2 Anweisung 3 Anweisung 5 ... LFB – D04076 01. März 2012 35 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Algorithmische Grundstruktur „Mehrfachauswahl“ Bei einer Mehrfachauswahl können mehrere Bedingungen überprüft werden: Struktogramm PAP falls erfüllt Bed 1 ... Bed 2 Bed 3 ... ... ... ... sonst ... ... ... ... ... ... LFB – D04076 01. März 2012 ... 36 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Funktion Definition: Eine Funktion ist eine Zuordnungsvorschrift, die den Eingangsdaten genau einen Funktionswert zuordnet. Eingabe Verarbeitung Ausgabe Funktionsname Für vordefinierte Funktionen ist (in Programmiersprachen, aber auch in Excel) festgelegt: • Name der Funktion (zum Beispiel: sqrt oder wurzel) • Anzahl, Art und Reihenfolge der Parameter (zum Beispiel: eine Zahl) • Berechnungsvorschrift (zum Beispiel: Berechnung der Wurzel) LFB – D04076 01. März 2012 37 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Prozedur Definition: Eine Prozedur ist eine Anweisung an das System und ruft stets eine entsprechende Wirkung (z.B eine Bildschirmausgabe) hervor. Für vordefinierte Prozeduren ist festgelegt (in Programmiersprachen): • Name der Prozedur (zum Beispiel vorwärts) • Anzahl, Art und Reihenfolge der Parameter (zum Beispiel: eine Zahl) • Verarbeitungsvorschrift (zum Beispiel: Turtle bewegt sich die angegebene Anzahl von Pixel vorwärts) Bemerkungen: In der Literatur werden diese Begriffe häufig nicht sauber getrennt. Außerdem treten in der Programmierpraxis oft „Mischformen“ auf. LFB – D04076 01. März 2012 38 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Definition: Die Rekursion ist eine wichtige Strategie zum Lösen komplizierter Probleme. Das zu lösende Problem wird dabei wiederholt auf das gleiche Problem mit veränderten Parametern zurückgeführt (Rekursionsschritt) bis das Problem einfach gelöst werden kann (Abbruchbedingung). Bei einer echtrekursiven Funktion/Prozedur wird die Lösung des Ausgangsproblems nach Erreichen der Abbruchbedingung schrittweise ermittelt. Bei einer endrekursiven (iterativen) Funktion/Prozedur liegt beim Erreichen der Abbruchbedingung zugleich die Lösung des Ausgangsproblems vor. Für die Lösung eines Problems mittels der Rekursion (lat: recurrere – zurücklaufen) wird also immer benötig: • ein Rekursionsschritt • eine Abbruchbedingung LFB – D04076 01. März 2012 39 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Beispiel: Berechne die Summe der ersten n positiven ganzen Zahlen. Lösung: 1. Mit Worten der Umgangssprache: Die Summe der ersten n (n>0) Zahlen erhält man, indem man n zur Summe der ersten n-1 Zahlen addiert. (Rekursionsschritt) Die Summe von 0 ist 0. (Abbruchbedingung) 2. Formulierung mit einer Funktion su(n): su(0) = 0 für n = 0 su(n) = n + su(n-1) für n > 0 (Abbruchbedingung) (Rekursionsschritt) Wichtig: In der funktionalen Programmierung gibt es keine Trennung zwischen Programm und Daten! LFB – D04076 01. März 2012 40 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Aufgabe aus einem Test (LOG IN, Heft 141/142, 2006, S. 54): Ihre Lehrerin bzw. Ihr Lehrer zeigt Ihnen eine Matroschka. Definieren Sie den Begriff „Matroschka“ auf rekursive Art. Musterlösung: Eine Matroschka besteht aus einer Puppe, die eine Matroschka enthält, oder es ist die kleinste Matroschka. LFB – D04076 01. März 2012 41 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Erweiterung der Aufgabenstellung: Vor Ihnen steht eine geschlossene Matroschka, die 5 kleinere Puppen enthält. Beschreiben Sie das Vorgehen zum Nebeneinander-Aufstellen aller 5 Puppen mittels echter Rekursion und mittels Endrekursion. LFB – D04076 01. März 2012 42 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Echte Rekursion: Man öffnet nacheinander jede Puppe, stellt deren 2 Teile geöffnet ab und entnimmt die nächste Puppe. Wenn die kleinste Puppe entnommen wurde, setzt man die jeweiligen zwei Teile der größeren Puppen in umgekehrter Reihenfolge zusammen. rekursiver Abstieg Abbruchbedingung erreicht Rekursiver Aufstieg Wichtige Bemerkung: Erst nach dem Aufstieg aus der Rekursionstiefe liegt das Ergebnis vor! LFB – D04076 01. März 2012 43 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Rekursion als Problemlösungsstrategie Endrekursion (Iteration): Man öffnet die größte Puppe, entnimmt die kleinere Puppe und setzt die beiden Teile der größeren Puppe wieder zusammen. Dies wiederholt man, bis die kleinste Puppe ausgepackt ist. rekursiver Abstieg Abbruchbedingung erreicht Wichtige Bemerkung: Das Ergebnis liegt bereits beim Erreichen der Abbruchbedingung vor! LFB – D04076 01. März 2012 44 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Lehramtsstudium LV AWS und LV AP I Lehrplan Mittelschule Problemanalyse 1. Analyse Beschreibe das Problem. Modellbildung 2. Entwurf Beschreibe die Situationen, in die das Objekt kommen kann. Implementierung 3. Algorithmus Plane den Ablauf. 4. Programm Erstelle das Programm (die Skripte zu den Objekten). Test und Modellkritik 5. Kontrolle Teste dein Programm. Entscheide. 6. Dokumentation Beschreibe den Algorithmus und das Programm für einen ungeübten Nutzer. LFB – D04076 01. März 2012 45 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Komplexes Beispiel: Es ist das nebenstehende Bild zu zeichnen: Vorgehensmodell des Problemlösens: 1. Analyse: 4 gleiche Häuser unterschiedlicher Größe und eine Bildunterschrift 2. Entwurf: Quadrat als Haus (ohne Dach), gleichseitiges Dreieck als Dach, quadratische Fester, rechteckige Tür 3. Algorithmus: Beispiel: Zeichnen eines n-Ecks: wiederhole n mal: vorwärts :seite, rechts 360/:n „Dazwischen“ muss der Igel neu positioniert werden 4. Programm: s. nächste Folien 5. Kontrolle: s. nächste Folien 6. Dokumentation LFB – D04076 01. März 2012 46 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Zuerst werden die Prozeduren für das Zeichnen eines Dreiecks, eines Quadrates und eines Rechtecks definiert: pr zeichne_dreieck :s ; Prozedur zum Zeichnen eines gleichseitigen Dreiecks wiederhole 3 [vw :s re 120] ende pr zeichne_quadrat :s ; Prozedur zum Zeichnen eines Quadrats wiederhole 4 [vw :s re 90] ende pr zeichne_rechteck :h :b ; Prozedur zum Zeichnen eines Rechtecks wiederhole 2 [vw :h re 90 vw :b re 90] ende Wichtig: Kein Bildschirmlöschen und keine Positionierung innerhalb dieser Prozeduren! LFB – D04076 01. März 2012 47 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Jetzt werden diese Prozeduren in einer Prozedur zum Zeichnen eines Hauses in beliebiger Größe verwendet: pr zeichne_haus :g ; Prozedur, die ein Haus zeichnet ; Haus ohne Dach zeichne_quadrat :g ; Positionierung des Igels Aufruf: zeichne_haus 60 vw :g re 30 ; Dach als Dreieck zeichne_dreieck :g ; Positionierung des Igels li 30 rw :g re 90 vw :g/2 li 90 ; Tuer als Rechteck zeichne_rechteck :g/2 :g/4 ; Positionierung des Igels sh li 90 vw 3 * :g / 8 re 90 vw :g/4 sa ; Fenster als Quadrat zeichne_quadrat :g/4 ; Positionierung des Igels sh vw :g/8 + :g/4 sa ; weiteres Fenster als Quadrat zeichne_quadrat :g/4 ; Positionierung des Igels sh rw 5 * :g/8 li 90 vw :g/8 re 90 sa ende LFB – D04076 01. März 2012 48 Wichtig: Mit der letzten Positionierung wird dafür gesorgt, dass der Igel wieder in der linken unteren Ecke mit Blick nach oben steht. © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Jetzt wird die Prozedur zeichne_haus in einer Prozedur zum Zeichnen einer Strasse verwendet: pr zeichne_strasse :g ; Prozedur, die Strasse mit 4 Haeusern ... zeichne_haus :g re 90 vw :g li 90 zeichne_haus :g - :g/5 re 90 vw :g - :g/5 li 90 zeichne_haus :g re 90 vw :g li 90 zeichne_haus :g + :g/5 re 90 vw :g + :g/5 li 90 ; Positionierung des Igels sh home rw 20 re 90 sa ; Beschriftung label "Strasse ende Aufruf: zeichne_strasse 60 LFB – D04076 01. März 2012 49 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Fachbegriffe: Problemlöseprozess Abschließens ist zu diskutieren: 5. Kontrolle: • Igel steht nach der Beschriftung nicht in der Ausgangsstellung (wird bei wiederholtem Aufruf der von zeichne_strasse 60 sichtbar und ist auch im Quelltext erkennbar) • Eventuell ist ein zweiter Parameter für eine variable Anzahl von Häusern wünschenswert. 5. Dokumentation -> Hausaufgabe!!! LFB – D04076 01. März 2012 50 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Anforderungen an eine schülergerechte Programmiersprache: - geringer Sprachumfang - klare grammatische Regeln (keine Ausnahmen) Anforderungen an eine schülergerechte Programmierumgebung - überschaubare grafische Oberfläche - schrittweise Abarbeitung von Programmen möglich - Interaktion möglich - kostenfrei (GNU-Lizenz) LFB – D04076 01. März 2012 51 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige geeignete Sprachen bzw. Programmierumgebungen: Karol (http://www.schule.bayern.de/karol/) Literatur: P. Brichzin, u.a.: Grundlagen der Informatik, Oldenburg Verlag 2005 LFB – D04076 01. März 2012 52 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige Sprachen bzw. Programmierumgebungen: Kara (http://www.swisseduc.ch/informatik/karatojava/kara/) In der Welt von Kara gibt es: - den Marienkäfer Kara - Kleeblätter, die Kara aufsammeln oder hinlegen kann - Pilze, die Kara verschieben kann - Baumstümpfe, die unbeweglich sind Kara hat folgende Sensoren: Kara versteht folgende Befehle und führt diese aus: - ist vor mir ein Baumstumpf? - mache einen Schritt vorwärts - ist rechts von mir ein Baumstumpf? - drehe um 90 Grad nach rechts - ist links von mir ein Baumstumpf? - drehe um 90 grad nach links - ist vor mir ein Pilz? - nimm ein Kleeblatt auf - ist unter mir ein Kleeblatt? - lege ein Kleeblatt hin Quelle: Workshop von Heiko Neupert LFB – D04076 01. März 2012 53 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige Sprachen bzw. Programmierumgebungen: Kara (http://www.swisseduc.ch/informatik/karatojava/kara/) Korrekte Lösung: ? Quelle: Workshop von Heiko Neupert LFB – D04076 01. März 2012 54 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige geeignete Sprachen bzw. Programmierumgebungen: MSW Logo (http://www.softronix.com/logo.html - englische Version bzw.: http://www.ph-ludwigsburg.de/logo.html - deutsche Version) Quelle: http://www.sn.schule.de/~knapp/_material/logo/praesentation_workshop_logo.pdf LFB – D04076 01. März 2012 55 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige geeignete Sprachen bzw. Programmierumgebungen: EOS (Beispiel vom Autor Martin Pabst) LFB – D04076 01. März 2012 56 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige geeignete Sprachen bzw. Programmierumgebungen: Scratch (http://scratch.mit.edu/ , Materialdatenbank auf dem SBS , Seiten von Helmar Fischer) LFB – D04076 01. März 2012 57 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Übersicht über Werkzeuge Einige geeignete Sprachen bzw. Programmierumgebungen: Lazarus (http://www.lazarus.freepascal.org/ und http://wiki.lazarus.freepascal.org/Lazarus_Documentation/de ) LFB – D04076 01. März 2012 58 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Ausgewählte Literatur und Webquellen - Brichzin, P., Freiberger, U., Reinold, K., Wiedemann, A.; Grundlagen der Informatik, Oldenburg Schulbuchverlag GmbH, München Düsseldorf, Stuttgart, 2005, ISBN 3486-00098-5 - Koerber, B. (Hrsg.); Zukunft braucht Herkunft, 25 Jahre „INFOS – Informatik und Schule“, INFOS 2009, 13. GI-Fachtagung Informatik und Schule, 21. – 24. September 2009, Berlin, Proceedings, ISBN 978-3-88579-250-5 - Reichert, R., Nievergelt, J., Hartmann, W.; Programmieren mit Kara, 2. Auflage, Springer Verlag, Berlin, Heidelberg, New York, 2005, ISBN 3-540-23819-0 - Schauer, H., Logo – Jenseits der Turtle, Springer Verlag, Wien New York, 1988, ISBN 3-211-82017-5 LFB – D04076 01. März 2012 59 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden Lehrpläne | Informatikstandards | Lernstandsanalyse im Januar 2009 | Fachbegriffe | Übersicht über Werkzeuge Ausgewählte Literatur und Webquellen - Fischer, H., Knapp, Th.; Grundwissen auf dem SBS: http://www.sn.schule.de/~fischer/gw_neu/index.php?auswahl=darstellung (19.11.2009) - Lehrplan Gymnasium, Sächsisches Staatsministerium für Kultus, 2004: http://www.sachsen-macht-schule.de/apps/lehrplandb/ (19.11.2009) - Lehrplan Mittelschule, Sächsisches Staatsministerium für Kultus, 2004: http://www.sachsen-macht-schule.de/apps/lehrplandb/ (19.11.2009) - Materialdatenbank auf dem Sächsischen Bildungsserver (PäPIKK): http://www2.sn.schule.de/~matdb/matdb2/?action=categorieview (19.11.2009) - Materialien auf dem Schweizer Bildungsserver: http://www.swisseduc.ch/informatik/karatojava/kara/ (19.11.2009) - Webseite zu den Informatikstandards: www.informatikstandards.de (zuletzt aktualisiert: November 2009) LFB – D04076 01. März 2012 60 © K. Büttner, Th. Knapp, Fachberater Informatik B. Timmermann, TU-Dresden