Einführung in die Programmierung mit SCHEME. 2 Übersicht: 1.Informatikunterricht an Schulen...

Post on 05-Apr-2015

105 views 1 download

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