Informatik 
Fachdidaktik

- Hauptseminararbeit im Fach Informatik -

Mark Ausborn

S. Spolwig
Hauptseminar
SS 2002

Anhang:

Vorläufiger Rahmenplan

Quelle: Senatsverwaltung für Schule, Berufsbildung und Sport, Gültig ab Schuljahr 1993/94, Vorläufiger Rahmenplan für Unterricht und Erziehung in der Berliner Schule, Gymnasiale Oberstufe, Fach Informatik, S. 11 - S. 18)

 

Vorgabe:

Erstes Unterrichtsjahr:

Thema: Einführung in die Informatik (I und II)

 

Inhalt: Analyse und Konstruktion von Algorithmen

1.1. Benutzung und Analyse eines dokumentierten Systems 10 Stunden

1.2. Konstruktion von Teilalgorithmen zu Anwendungsfällen 35 Stunden

2. Anwendung und Auswirkung der Datenverarbeitung 20 Stunden

3. Rechnerorganisation 10 Stunden

4. Entwicklungsgeschichte der Datenverarbeitung 5 Stunden

Konzeption des ersten Unterrichtsjahres

Der Anfangsunterricht im Fach Informatik ist bislang häufig bestimmt durch die Bearbeitung vieler kleiner Aufgaben, die das benötigte grundlegende Rüstzeug für die Verwendete Programmiersprache bereitstellen sollen. Diese Aufgaben haben in der Regel keine praktische Relevanz und werden, nachdem sie diesen Zweck erfüllt haben, schnell wieder beiseitegelegt. Auch die Qualität dieser Programme muß gering bleiben, z. B. da schon falsche Eingaben zum Absturz des Programms führen.

Diese und andere Nachteile des bisherigen Anfangsunterrtichts führten zu einer neuen Konzeption, die durch folgende grundlegende Ideen gekennzeichnet ist.

 

Einstieg über Analyse und Wartung eines fertigen Softwareprodukts

Durch diesen Einstieg wird schon frühzeitig das Denken in komplexen Zusammenhängen gefördert. Das verwendete Softwareprodukt soll in compilierter Form und als Quellencode vorliegen. Es soll aus einem Anwendlungsbereich stammen, der den Schülern leicht zugänglich

Ist. Um die bei der Analyse eines dokumentierten Systems (Abschnitt 1. 1.) angestrebten Lunziele

zu erreichen, sind folgende Eigenschaften des Softwareprodukts wünschenswert:

- klare Benutzerführung

- gute Strukturierung mit deutlich erkennbarer Modulhierarchie

- relativ begrenzter Funktionsumfang, du sich z. B. im wesentlichen in den Menüs widerspiegelt

- gut verständliche Dokumentation, die auch im Programm integriert sein kann

- einige Programmteile, die für eine Überarbeitung leicht zugänglich sind

 

Verwendung von Prozeduren aus Bibliotheken von Anfang an

Kleine Hilfsprogramme, Prozeduren, Funktionen und Datentypen, die in bereits compilierter

Form in Bibliotheken vorliegen, stellen mächtige Hilfsmittel bei der Konstruktion

Von Teilalgorithmen (Abschnitt 1.2.) dar. Ihre Vemendung ermöglicht es, auch schon im

Anfangsunterricht relativ praxis- und realitätsnahe Problemstellungen zu

bearbeiten.

Eine wesentliche Hilfe bieten z. B. Routinen, die eine absturzsichere und komfortable Eingabe

von Zeichen, Zeichenketten und Zahlen an bestimmten Bildschirmpositionen ermöglichen.

Routinen zur Gestaltung der Benutzeroberfläche unterstützen benutzerorientierte Programmentwürfe. Diese Sichtweise schließt auch an den Unterricht in der Informationstechnischen Grundbildung an, in der die Schüler fertige Software benutzt und dabei verschiedene Benutzeroberflächen kennengelernt haben.

Diese Hilfsmittel sollten in einer verständlich dokumentierten Form vorliegen und in einem

Modul zusammengefaßt sein. Dadurch werden dem Schüler die Bedeutung der Dokumentation und das Prinzip der Modularisierung von Anfang an nahegebracht.

 

Komplexe Programme von Anfang an

Wesentliches Merkmal von Problemlösungen mit Hilfe der Informatik ist in der Regel die hohe Komplexität der Programme, in der sich die Komplexität der entsprechenden Aufgabenstellung widerspiegelt. Insofern bieten sehr keine Programme, wie sie typischerweise bei der Einführung von Daten- und Kortrollstrukturen einer Programmiersprache verwendet werden, ein verzerrtes Bild der Informatik.

Die Programmierbeispiele sollen daher auch schon im Anfangsunterricht realitätsnäher und damit auch hinreichend komplex sein. Außerdem sollten sie typische Einsatzbereiche repräsentieren. Dabei ist es durchaus zulässig, daß der Lehrer Programmteile vorgibt oder auch bewußt Lücken (einbaut.)

Eine arbeitsteilige Vorgehensweie, wie sie im späteren Projektunterricht unumgänglich ist, bietet sich auch hier schon insbesondere bei der Programinierarbeit an.

 

Integrative Behandlung, von Themen zur Anwendung des Computers, zu Auswirkungen seines Einsatzes und zur Rechnerorganisation

Die Themenbereiche "Anwendungen und Auswirkungen der Datenverarbeitung" und "Rechnerorganiution" werden aus systematischen Gründen gesondert aufgeführt. Um ihre zeitliche Bedeutung zu bestimmen, sind sie zwar nur einem eigenen Stundenansatz versehen, jedoch sollten sie möglichst bei den Anwendungsfällen (Abschnitt 1.2.) integrativ, behandelt werden. Dadurch wird die tatsächliche Verzahnung von Anwendungsfall, Rechnerorganisation, Problemlösung und Auswirkung besser verdeutlicht. Diese Vorgehensweise wird durch die oben dargestellte Konzentration auf wenige, komplexe Programmbeispiele unterstützt.

Benutzung von Anwendersoftware

Angesichts der weiten Verbreitung von Standardwerkzeugen in der beruflichen Praxis im Büro wird bei den Anwendungen und Auswirkungen der Datenverarbeitung (Abschnitt 2) der Anwendungsfall "Bürokommmikation" betrachtet. Hierbei ist darauf zu achten, daß die Lernziele auf einem höheres Niveau anzusiedeln sind als in einer möglicherweise früher behandelten Unterrichteinheit in der informationstechnischen Grundlagenbildung der Sekundarsrufe 1.

 

 

1. Analyse und Konstruktion von Algorithmen

Hinweise: Die folgenden Leminhalte (insbesondere die des Abschnitts 1.2.) sollen an einigen komplexen und für die Informatik repräsentativen Beispielen erarbeitet werden. In Abhängigkeit von den gewählten Beispielen sollten einige Inhalte am den Abschnitten 2 und 3 schon hier inregrativ behandelt werden. Dies gilt insbesondere für die Auswirkungen auf die Arbeitswelt, den Datenschutz im Anwendungsfeld Schule, die Hardwarekomponenten und die Betriebssoftware eines Rechnersystems.

 

1.1. Benutzung und Analyse eines dokumentierten System (10 Stunden)

Hinweise: Bei dem einführenden Beispiel ist ein Rückgriff auf ein vorhandenes System inklusive Dokumentation erforderlich.

(siehe Konzeption des ersten Unterrichtsjahres)

Lernziele Lerninhalte Hinweise
- bei dem dokumentierten Anwendungsbeispiel erkennen, weiche Teilbereiche des Problems vom Menscheit bzw. vom Computer erledigt werden können - Bestimmung automatisierbarer Arbeitsschritte  
- die autommtisierteren Arbeitsschritte in Teilprohleme zerlegen, ihre gegenseitige Abhängigkeit erkennen und den erwarteten Leistungsumfang des Systems beschreiben - Zerlegung in geeignete Teilprobleme und Formulierung der Anforderungen an das System  
- Arbeitsaufträge mit dem Softwareprodukt bearbeiten können - elementare Bedienung des Computers und Benutzung des Systems Hier geht es insbesondere um Reaktionen des System auf unterschiedliche Eingaben.
- die Systemstruktur feststellen können - Mensch-Maschine-Schnittstellen, Funktionen des Systems  
- Abweichungen zwischen den erwarteten Anforderungen und der Systemrealität sowie ggf. Systemschwächen benennen können - Vergleich der von den Schülern formulierten Anforderungen mit der Realisierung durch das System  
- die zum System gehörende Dokumentation auswerten, insbesondere mit der Realisierung in Beziehung setzen können und lokale Änderungen vornehmen können - Umgang mit der Benutzerdokumentation des Systems  
- wissen, daß das Softwareprodukt aus verschiedenen Teilen besteht, welche Bedeutung diese haben und wie mm auf sie zugreifen kann - Bestandteile des Systems: ausführbares Programm, Quellcode, zugehörige Dateien, Bcnutzerdokumentation  
- grundlegende Elemente der Progmmmstruktur kennenlernen - Programm, Hauptprogramm, Prozeduren, Deklarztionsteil, Blockstruktur, Eingaben, Ausgaben, Verarbeitung  
- die Arbeitsweise im Editor kennenlernen und kleine Programmänderungen durchführen können - klcine Programmodifikation, elementare Arbeiten im Editor, compflieren  
- die übergeordnete Bedeutung einiger Progrtmunbausteine erkennen können - Wiederverwendbarkeit von Programmbausteinen  

 

 

1.2 Konstruktion von Teilalgorithmen zu Anwendungsfällen (35 Stunden)

Hinweise: - Die elementaren Daten- und Kontrollstrukturen sollen an Anwendungsfällen eingeführt werden. Es sollten etwa drei hinreichend komplexe Anwendungsfälle behandelt werden, wobei jeweils weitere Strukturen zur Verfügung gestellt werden sollten. Jeder Anwendungsfall soll weitere Sprachelemtente zur Verfügung stellen. Bei bekannten Sprachelementen kann arbeitsteilig vorgegangen werden.

- Bei der Behandlung der Anwendungsfälle ist nicht an die Durchführung eines Projekts gedacht. Sinnvolle Projektergänzungen und erforserliche Hilfsroutinen sollten vom Lehrer zur Verfügung gestellt werden.

Lernziele Lerninhalte Hinweise
ausgehend von einem konkreten Anwendungsbeispiel erkennen, welche Teilbereiche des Problems vom Menschen bzw. vom Computer erledigt werden können -Bestimmung automatisierbarer Arbeitsschritte  
die autormatisierbaren Arbeitsschritte soweit eingrenzen und detaillieren, daß der Umfang der Problemlösung erkennbar ist -Präzisierung der Aufgabenstellung  
ein Problem durch Zerlegung in Teilprobleme einschließlich des Erkennens ihrer Abhängigkeiten analysieren können - Zerlegung in geeignete Teilprobleme  
beschreiben, welche Tätigkeiten das System vom Benutzer erwartet, bzw. wie die Kommunikation mit dem System aussehen soll -Beschreibung der Schnittstelle Mensch-Maschine  
Algorithmen in einer programmiersprachenunabhängigen Form darstellen können - Entwurf von Lösungen für die Teilprobleme mit geeigneten Darstellungsformen Die Darstellung kann z. B. verbal oder durch Struktogramme erfolgen.
die Elemnte einer prozedunden Programmiersprache kennenlernen und die Prinzipien des strukturierten Programmierens auf einfache Algorithmen anwenden können - Umsetzung des Einwurfs in die verwendete Programmiersprache unter Einführung der benötigten Sprachelemente Hierbei sollte auch auf elementare Qualitätsanforderungen geachtet werden. z. B. -geeignete Bezeichnerwahl

-Strukturierung des Programmtextes

- Kommentare

  Elementare Anweisungen: Wertzuweisung, Eingabe, Ausgabe  
  Kontrollstrukturen: Auswahl (ohne Alternative, mit Alternative, Mehrfachauswahl),Wiederholung (vorprüfende Schleife, nachprüfende Schleife, Zählschleife)  
  Unterprogrammtechnik: parameterlose Prozeduren, verständiger Umgang mit parametrisierten Prozeduren und Funktionen Ein vollständiges Prozedurkonzept ist erst für das folgende Unterrichtsjahr vorgesehen.

 

  Elementare Datentypen mit den zugehörigen Operationen: ganze Zahlen (Integer), Dezimalzahlen (Real), Zeichen (Char), Zeichenketten (String), logische Werte (Boolean) Hier kann auch die rechnerinterne Darstellung der elementaren Datentypen behandelt werden.

 

  - zusammengesetzte Datentypen mit den zugehörigen Zugriffsoperationen, Feld (Array), Verhund (Record), elementarer Umgang mit Dateien (File) Eine Vertiefung des Umgangs mit Dateien. insbesondere die Behandlung index-sequentielter Dateien, ist für ein späteres Unterrichtsjahr vorgesehen.
  - weitere Datentypen der verwendeten Programmiersprache wie z.B. Menge (Set), benutzerdefinierte Typen  
- mit den auf dem Rechner verfügbaren Dienstprogrammen zur Textbearbeitung (Editor) und Übersetzung (Compiler) ein lauffähiges Programm erstellen können - Implementierung des Entwurfs auf dem Rechner Die zur Verfügung stehenden

Betriebssystem- und Editorkommanados sind nur in dem Maße zu behandeln, wie sie zur Bearbeitung der Programme erforderlich sind.

- Programmtests durchführen und bewerten, sowie eventuell auftretende inhaltliche Fehler des Algorithmus und Notationsfehler beseitigen können - Validierung des Programms durch Überprüfung der Testdaten  
 

- das fertige Programm im Hinblick auf die ursprüngliche Aufgabenstellung unter Berücksichtigung der tatsächlichen Einsetzbarkeit beurteilen können

- beispielhafter Einsatz des fertigen Programms und kritische Würdigung seiner Leistungsfähigkeit  
- die Notwendigkeit einer begleitenden Dokumentation einsehen und die erforderlichen Dokumente kennen und erstellen können - Begleitende Erstellung einer Dokumentation

- Problemstellung

- präzisierte Aufgabe

- Programmiersprachenunabhän-giger Lösungsentwurf

- Programmlisting

- Testdokumentation

- Bedienungsanleitung

In zeitlichem Zusammenhang ist bei jedem Arbeitsschritt eine schriftliche Fixierung der Ergebnisse vorzunehmen.

27. Juli 2006

   Mark Ausborn

page_top