Post on 05-Apr-2015
transcript
Einführung in die Programmierung mit SCHEME
Einführung in die Programmierung mit SCHEME
2
Übersicht:
1. Informatikunterricht an Schulen
2. Unterrichtssequenzentwurf:
Einführung in die Programmierung mit SCHEME
3. Verlaufsplan einer Unterrichtsstunde aus der Sequenz
4. Fazit
Informatikunterricht an Schulen
Sekundarstufe I
Einführung in die Programmierung mit SCHEME
4
Unterricht in der SEK I (allgemein)
Ziele:
• Mündigkeit der Schüler
• Entfaltung von Individualität und Aufbau sozialer Verantwortung
• Kulturelle Teilhabe
• Ethnisches Urteilen und Handeln
• Verantwortliche Tätigkeit in der Berufs- und Arbeitswelt
• Mitbestimmung und Mitverantwortung in einer demokratisch verfassten Gesellschaft
Informatikangebot in der SEK I
Hauptschule
Einführung in die Programmierung mit SCHEME
6
Informatik an Hauptschulen
• informations- und kommunikationstechnologische Grundbildung (IKG) in den Klassen 7 – 9
• Vertiefung der in der IKG vermittelten Kenntnisse im Wahlpflichtbereich der Klassen 9 und 10 (teilweise auch schon in den Klassen 7 und 8)
Einführung in die Programmierung mit SCHEME
7
Informatikangebot in der SEK I
Realschule
Einführung in die Programmierung mit SCHEME
9
Informatik an Realschulen
• informations- und kommunikationstechnologische Grundbildung (IKG) in den Klassen 7 – 9
• Informatik als Schwerpunktfach im naturwissenschaftlich- technischen Bereich des Wahlpflichtbereichs I in den Klassen 8 – 10 (mit schriftlichen Leistungsüberprüfungen)
• Informatik als Wahlpflichtfach im Wahlpflichtbereich II in den Klassen 9 und 10
Einführung in die Programmierung mit SCHEME
10
Informatikangebot in der SEK I
Gymnasium
Einführung in die Programmierung mit SCHEME
12
Informatik an Gymnasien (Sek. I)
• informations- und kommunikationstechnologische Grundbildung (IKG) in den Klassen 7 – 9
• Informatik als Wahlpflichtfach im Wahlpflichtbereich II in den Klassen 9 und 10– als Fach mit 3 Wochenstunden
– als Kombination mit mehreren Naturwissenschaften
– schwerpunktübergreifend mit Technik
– alle Wahlmöglichkeiten schließen schriftliche Leistungs- überprüfungen mit ein
Einführung in die Programmierung mit SCHEME
13
Informatikangebot in der SEK I
Gesamtschule
Einführung in die Programmierung mit SCHEME
15
Informatik an Gesamtschulen
• informations- und kommunikationstechnologische Grundbildung (IKG) in den Klassen 7 – 9
• Informatik als Wahlpflichtfach in den Wahlpflichtbereichen I und II ab Klasse 7 bzw. 9 (jeweils mit schriftlicher Leistungsüberprüfung)
Einführung in die Programmierung mit SCHEME
16
Ziele des Informatikunterrichts
Sekundarstufe I
Einführung in die Programmierung mit SCHEME
18
Ziele des Informatikunterrichts SEK I
IKG
• Umgang mit dem Computer erlernen
• Textverarbeitung, Bildverarbeitung, Internet
• den Computer als wichtiges Hilfsmittel in verschiedenen Unterrichtsfächern kennenlernen
Einführung in die Programmierung mit SCHEME
19
Ziele des Informatikunterrichts SEK I
Informatik
• Erweiterung der Kenntnisse aus der IKG
• Verstehen komplexer Systeme durch Verknüpfung unterschiedlicher Anwendungen
• Reflektion und Beurteilung der Auswirkung neuer Technologien im Bezug auf unsere Gesellschaft
• Befähigung zu einem fachgerechten Umgang mit diesen Technologien durch Analyse komplexer Zusammenhänge sowie Erarbeitung einfacher Strukturen und Methoden
Einführung in die Programmierung mit SCHEME
20
Ziele des Informatikunterrichts SEK I
• Grundstrukturen und Funktionen von Werkzeugen untersuchen und anwenden
• einfache Programme zu überschaubaren Problemstellungen entwickeln
• den Werkzeugen angemessene Methoden kennenlernen und Abläufe planen, durchführen und bewerten
• Sensibilisierung für den verantwortungsbewußten Umgang mit Informationen, z.B. in vernetzen Systemen
Informatikangebote in der SEK I
Fazit
Einführung in die Programmierung mit SCHEME
22
Informatik in der SEK I - Fazit
IKG
• wird z.Z. nur an relativ wenigen Schulen konsequent durchgeführt
• Gründe– wenige ausgebildete Lehrer
– ältere Kollegen trauen sich die Arbeit im Informatikraum nicht zu
– Anzahl der zur Verfügung stehenden Computer reicht nicht aus
– Durchführung hängt sehr stark von den jeweiligen Schulen ab
Einführung in die Programmierung mit SCHEME
23
Informatik in der SEK I - Fazit
Informatik
• findet nur im Wahlpflichtbereich statt, und ist daher nicht für jeden Schüler verpflichtend
• bietet dafür ein breites Spektrum an möglichen Themen, da die Themenauswahl nicht durch Lehrpläne vorgeschrieben wird
• die Probleme aus dem Bereich der IKG bestehen auch hier
• Daher ist keine einheitliche Vorbereitung der Schüler auf einen möglichen Informatikunterricht in der SEK II gewährleistet.
Informatikunterricht an Schulen
SEK II
Einführung in die Programmierung mit SCHEME
25
Unterricht in der SEK II allgemein:
Ziele:
• Vertiefung der Allgemeinbildung
• Wissenschaftspropädeutische Grundbildung
• Soziale Kompetenzen
• Langfristige Lernprozesse, um dauerhafte Lernkompetenzen aufzubauen
• Denken in übergreifenden Strukturen und Komplexen vermitteln
• Auf ein Hochschulstudium / den Beruf vorbereiten
Einführung in die Programmierung mit SCHEME
26
Unterricht in der SEK II allgemein:
Grundlegende Kompetenzen für ein Studium / den Beruf:
• Sprachliche Ausdrucksfähigkeit
• Fremdsprachliche Kommunikationsfähigkeit
• Umgang mit mathematischen Systemen, Verfahren und Modellen
Einführung in die Programmierung mit SCHEME
27
Inhalte des Informatik-Unterrichts:
Modellieren & Konstruieren(Paradigmen-abhängig)
Analysieren & Bewerten
Einführung in die Programmierung mit SCHEME
28
Paradigma: Möglichkeiten / Chancen / Grenzen:
•Klassisches Ein/Ausgabe-Prinzip •Basis: von-Neumann-Maschine•Große an Anwendungen / Beispielen
Imperativ
Objektorientiert
Wissensbasiert
Funktional
•Animationen, graphische Benutzeroberfläche•Client- / Server- Architektur•Betriebssysteme
•Datenbank-Systeme•Intelligenzbegriff, künstliche Intelligenz•Beispiel: Rasterfahndung
•Flexibilität durch Listenverarbeitung -> KI-Einsatz•Beispiele: Textverarbeitung, Dialogsysteme, Kryptologie, mathematischer Einsatz
Lehrinhalte 11 / 12 / 13
Einführung in die Programmierung mit SCHEME
30
11/I – 11/II• Grundsätzliche Orientierung• Vermittlung von informatischen Arbeitstechnicken • Algorithmische Grundschulung • Basiskenntnisse anhand eines ausgewählten Paradigmas• Lösung von Grundaufgaben• Schema:
Analysieren / Modellieren / Konstruieren / Bewerten
Einführung in die Programmierung mit SCHEME
31
12/I – 13/I1. Vertiefung:• Konzept und Spracherweiterung• Schaffung neuer Sprachmittel
2. Neue Themenfelder:• Maschinennahe Konzepte• Auszüge der theoretischen Informatik• Netzstrukturen
Einführung in die Programmierung mit SCHEME
32
13/II1. Vorbereitung auf die Abiturprüfung:• Themenfelder verknüpfen• Reflexion informatischen Arbeitens • Ausgearbeiteter Vortrag (Facharbeit) oder mündlicher
Vortrag
Entwurf einer Unterrichtsreihe: Einführung in die Programmierung mit
SCHEME
Einführung in die Programmierung mit SCHEME
34
Voraussetzungen und Ziele
Voraussetzungen:
• Jahrgangsstufe 11 / I
• Kein Scheme-Vorwissen
• Grundlegende Computerkenntnisse (Dateien, Ordner, evtl. Editor)
• Ca. 2 Schüler pro Computer
• Zeitrahmen: ca. 12 Wochen, 2 Wochenstd.
Einführung in die Programmierung mit SCHEME
35
Voraussetzungen und Ziele
Ziele:
• Schüler sollen einfache Probleme in einer Programmiersprache abbilden können (Abstraktion von Daten und Algorithmen)
• Lernen informatikspezifischer Methoden an Beispielen (Vertiefung und Analyse erst in 12 / 13)
Einführung in die Programmierung mit SCHEME
36
Übersicht
• Einführung am Prompt
• Einfache Funktionen schreiben
• Erlernen von Kontrollstrukturen
• Rekursion
• Listen
Einführung in die Programmierung mit SCHEME
37
Einführung in Scheme
Inhalt der Einheit (1 -2 Doppelstunden)• Grundrechenarten an der Kommandozeile• Variablen und Zuweisung• Laden von Funktionen
Ziele der Einheit• Erster Einblick in die Programmierung mit Scheme• Konzept der Verschachtelung von Ausdrücken verstehen
=> Funktionen
Einführung in die Programmierung mit SCHEME
38
Einfache Funktionen
Inhalt der Einheit (2 Doppelstunden)
• Funktionsdefinition einführen
• Erste Funktionen schreiben lassen
Ziele der Einheit
• Das Funktionsprinzip kennenlernen
• Schaffung einer „Umgebung“ von Funktionen, Verschachtelung von Funktionen
Einführung in die Programmierung mit SCHEME
39
Kontrollstrukturen
Inhalt der Einheit (2-3 Doppelstunden)
• Pseudocode
• Schleifen
• If-Then Konstrukt
Ziele der Einheit
• Abstrahieren von Problemen:Problem – Pseudocode - Code
Einführung in die Programmierung mit SCHEME
40
Rekursion
Inhalt der Einheit (2-3 Doppelstunden)
• einfache rekursive Beispiele (Multiplikation durch Addition ausdrücken)
• Rekursionen anhand eines Beispiels (ggT) durchführen
Ziele der Einheit
• Das Prinzip der Rekursion als Abstraktion kennenlernen
Einführung in die Programmierung mit SCHEME
41
Listen
Inhalt der Einheit (2-3 Doppelstunden)
• Einführung in den universellen Datentyp „Liste“
• Anwendung von (linearer) Rekursion
Ziel der Einheit
• Beispiele für die Verwendung von Listen
• Verständnis für das rekursive Zugriffsprinzip
Verlaufsplan einer Unterrichtsstunde aus der Sequenz
Rekursion
Einführung in die Programmierung mit SCHEME
43
Hintergrund / Zusammenhang
• In der vorangegangenen Stunde wurde das Prinzip der Rekursion erarbeitet, und an einfachen Beispielen implementiert, z.B.:
• Multiplikation auf Addition zurückführen
• Fibonacci-Zahlen
• n!
Einführung in die Programmierung mit SCHEME
44
Simulation der Stunde
Einführung in die Programmierung mit SCHEME
45
Der Fußboden eines rechteckigen Zimmers ist 3,24 Meter breit und 4,68 Meter lang.
Das Zimmer soll mit möglichst großen, quadratischen Teppichfliesen ausgelegt werden.
Einführung in die Programmierung mit SCHEME
46
Simulation der Stunde
Einführung in die Programmierung mit SCHEME
47
Verlaufsskizze
Thema: Umsetzung des ggT-Algorithmus
Stundenziel:Die Schüler sollen das, in der letzten Unterrichtsstunde erarbeitete, Prinzip der Rekursion erkennen und an einer fremden Problemstellung anwenden können.
Einführung in die Programmierung mit SCHEME
48
Phase (Inhaltlicher / Methodischer)
SchwerpunktForm Medien
Einstieg
Problemer-
schließende
Fragestellung
Nennung eines ggT Beispiels.
Wie kann der ggT berechnet werden ?
UG Tafel
Erarbeitung I Hypothesen der Schüler UG Tafel
Erarbeitung II
Sicherung
Explizite Berechnung des ggT sowie Formulierung
des mathematischen Algorithmus
Zusammentragen der Ergebnisse
EA
UG
Heft
Tafel
Erarbeitung III
Sicherung
Umformulierung des mathematischen Algorithmus
in rekursiven Pseudocode
Zusammentragen des Pseudo-Codes
EA
UG
Heft
Tafel
Einführung in die Programmierung mit SCHEME
49
Phase (Inhaltlicher / Methodischer)
SchwerpunktForm Medien
Didaktische
Reserve / HA
Implementierung des Pseudo-Codes in Scheme
Eingabe des Codes
EA / PA
EA / PA
Heft
Computer
Einführung in die Programmierung mit SCHEME
50
Tafelbild
ggT:
1799
14
ggT:
458759
1799
ggT:
919317
458759
ggT:
a
b
Pseudo-
Code
SCHEME
CODE
Einführung in die Programmierung mit SCHEME
51
ggT : 1799, 14
1799 = 128 * 14 + 7
14 = 2 * 7 + 0
Einführung in die Programmierung mit SCHEME
52
ggT : 458759, 1799
458759 = 255 * 1799 + 14
1799 = 128 * 14 + 7
14 = 2 * 7 + 0
Einführung in die Programmierung mit SCHEME
53
ggT : 919317, 458759
919317= 2 * 458759 + 1799
458759 = 255 * 1799 + 14
1799 = 128 * 14 + 7
14 = 2 * 7 + 0
Einführung in die Programmierung mit SCHEME
54
0
...
),(
1
4332
322
21
nnn qrr
rqrr
rqrb
rqba
baggT
Einführung in die Programmierung mit SCHEME
55
Pseudo Code
ggT (a, b) =
wenn (b = 0) dann Ergebnis = a
sonst Ergebnis = ggT (b, (a mod b))
Einführung in die Programmierung mit SCHEME
56
SCHEME Code
(define (ggt m n)
(if (= n 0) m
(ggt n (mod m n))
)
)
Fazit
Einführung in die Programmierung mit SCHEME
58
Forschungsschwerpunkte 1997 - 1998 Fachbereich 15 - Mathematik und Informatik Institut für Informatik
Prof. Dr. Achim Clausing
Algorithmen und Datenstrukturen im InformatikunterrichtIm Informatikunterricht der Gymnasien werden einfache eindimensionale Such- und Sortierverfahren schon seit Einführung des Fachs behandelt. Während bisher die klassische prozedurale Darstellung vorherrschte, ist in den letzten Jahren mit der stärkeren Verbreitung objektorientierter Programmiersprachen eine neue Sicht auf das Gebiet aufgekommen. Gemeinsam mit einigen Lehrern und Lehrerinnen an hiesigen Gymnasien wurde versucht, eine schulgeeignete Einführung in Algorithmen und Datenstrukturen unter Verwendung der Programmiersprache Java zu entwickeln. Die Ergebnisse sind nicht durchgehend ermutigend, obwohl Java einen Motivationsschub bei Lehrenden wie Lernenden ausgelöst hat. Die Komplexität der Sprache führt dazu, daß das Augenmerk in der Regel zu stark auf die Programmierung und zu wenig auf den eigentlichen Gegenstand gerichtet ist. Zur Zeit wird von uns deshalb eine objektorientierte Variante der Sprache Scheme entwickelt, die ähnlich wie Scheme einfach und doch mächtig, aber zusätzlich konsequent objektorientiert ist. Möglicherweise ist ein solcher Einstieg in die Programmierung schulgeeigneter als ein auf Java basierender Kurs.
Beteiligter Wissenschaftler: Prof. Dr. A. Clausing
Einführung in die Programmierung mit SCHEME
59
Quellenangaben
• Scheme Forschungsbericht:
http://www.uni-muenster.de/Rektorat/Forschungsberichte-1997-1998/fo15ea04.htm
• Ministerium für Schule und Weiterbildung, Wissenschaft und Forschung des Landes NRW:http://www.mswwf.nrw.de
• Lehrpläne NRW Informatik SEK II bzw. SEK IISBN 3-89314-612-1 und ISBN 3-89314-318-1