Grundfach Informatik mit Schwerpunkt OOP in Java

Charakteristikum des Vorschlags

Im Unterricht ist es oft üblich sich auf eine Programmiersprache zu beschränken. Dies hat gewisse Vorteile, da die Schüler und natürlich auch man selbst als Lehrer sich nicht auf unterschiedliche Sprachen einstellen muss. Es ergeben sich allerdings auch Nachteile, da jede Sprache ihre Stärken und Schwächen hat und man manche Aspekte der Informatik gut mit der einen, andere dagegen besser mit einer anderen Programmiersprache vermitteln kann.

Vergleicht man z.B. die Sprachen Java und Python miteinander, so bietet jede gewisse Vorteile gegenüber der anderen. Natürlich sind Computersprachen auch Geschmackssache und der eigene Geschmack wird sehr stark von den bisher benutzten Sprachen abhängen. Obwohl eine Programmiersprache unabhängig von den benutzten Entwicklungswerkzeugen gewisse Vor- und Nachteile hat, wirken sich auch die benutzten Tools stark auf die Eignung einer Sprache für den Unterricht aus. So wird Java oft vorgeworfen, dass es für den Anfangsunterricht schlecht geeignet sei, da man z.B. direkt auf Konstrukte wie public static void main(String [] args) eingehen müsse. Durch die Wahl geeigneter Tools sind aber z.B. dieser und viele andere Einwände schlicht falsch.

Die folgenden Vorschläge gehen davon aus, dass man sich entscheidet den "Objects first"-Ansatz zu verfolgen und dabei die Programmiersprachen Java und Python unter Verwendung der Entwicklungswerkzeuge BlueJ/Greenfoot bzw. IDLE wählt. Warum dies ein lohnenswerter Ansatz sein kann, stellt die im Video kommentierte Präsentation dar:

Möglicher Ablauf

Es gibt unzählige Möglichkeiten, in welcher Reihenfolge man die Themen des Grundfachs behandeln kann. Vorausgesetzt man möchte den "Objects first"-Ansatz verfolgen und dazu die Materialien von inf-schule.de nutzen, ergeben sich aber auch einige Abhängigkeiten der Themen:

Ablaufstruktur für das Grundfach

Konkret könnte eine Themenfolge also bspw. nach folgenden Ablaufplänen strukturiert sein:

Beispiel 1

"Sanfter" Einstieg in die Informatik über die Informationsdarstellung im Internet.

Jg. Inhaltsbereich Realisierung auf inf-schule Zeitansatz
11 Information und ihre Darstellung Informationsdarstellung im Internet 5 Wochen
Binärdarstellung von Information 5 Wochen
Objektorientierte Programmierung (beinhaltet auch algorithmische Grundstrukturen) Aufbau von Klassen 5 Wochen
Objektorientierte Implementierung 10 Wochen
Beziehungen zwischen Objekten 10 Wochen
Aufbau und Funktionsweise eines Rechners Alternativ: Bonsai Modellrechner oder JOHNNY-Modellrechner 5 Wochen
12 Datenbanksysteme Alternativ: Datenbank für Geodaten oder Datenbank für ein soziales Netzwerk 4 Wochen
Entwurf von Datenbanken 4 Wochen
Algorithmisches Problemlösen Imperative Programmierung mit Python. Entweder anhand ausgewählter Fallstudien (eher projektorientiert) oder der Beispiele unter Konzepte imperativer Programmierung (eher kleinere fachsystematisch geordnete Beispiele). 10 Wochen
Algorithmen und ihre Eigenschaften (Algorithmusbegriff, Korrektheit, Effizienz) 4 Wochen
Grenzen der Berechenbarkeit Aus Komplexität von Algorithmen und Problemen: Sortieren und Primfaktorzerlegung. Aus dem Bereich Berechenbarkeit den Abschnitt Halteproblem. 8 Wochen
Kommunikation in Rechnernetzen Rechnernetze 10 Wochen
13 Kommunikation in Rechnernetzen Kryptologie 8 Wochen
Objektorientierte Programmierung / Softwareentwicklung Grafische Benutzeroberflächen 4 Wochen
Softwareprojekt Software-Entwicklung oder Projekt im Bereich Rechnernetze / GUI 8 Wochen

Beispiel 2

Der direkte Einstieg mit der OOP in Java bietet den Vorteil, dass Vorerfahrungen aus dem Wahlfach der 9. und 10. Klasse sich weniger stark auswirken. Außerdem kommen die Schüler vor dem Umwahltermin mit der Programmierung, die erfahrungsgemäß mehr Schwierigkeiten bereitet als z.B. die Webseitengestaltung, in Kontakt.

Jg. Inhaltsbereich Realisierung auf inf-schule Zeitansatz
11 Objektorientierte Programmierung (beinhaltet auch algorithmische Grundstrukturen) Aufbau von Klassen 5 Wochen
Objektorientierte Implementierung 10 Wochen
Beziehungen zwischen Objekten 10 Wochen
Aufbau und Funktionsweise eines Rechners Alternativ: Bonsai Modellrechner oder JOHNNY-Modellrechner 5 Wochen
Information und ihre Darstellung Informationsdarstellung im Internet 5 Wochen
Binärdarstellung von Information 5 Wochen
12 Datenbanksysteme Alternativ: Datenbank für Geodaten oder Datenbank für ein soziales Netzwerk 4 Wochen
Entwurf von Datenbanken 4 Wochen
Algorithmisches Problemlösen Imperative Programmierung mit Python. Entweder anhand ausgewählter Fallstudien (eher projektorientiert) oder der Beispiele unter Konzepte imperativer Programmierung (eher kleinere fachsystematisch geordnete Beispiele). 10 Wochen
Softwareprojekt Projekt im Bereich "Dynamische Webseiten mit Python und Datenbanken" 8 Wochen
Algorithmen und ihre Eigenschaften Algorithmen und ihre Eigenschaften (Algorithmusbegriff, Korrektheit, Effizienz) 4 Wochen
Grenzen der Berechenbarkeit Aus Komplexität von Algorithmen und Problemen: Sortieren und Primfaktorzerlegung. Aus dem Bereich Berechenbarkeit den Abschnitt Halteproblem. 8 Wochen
13 Objektorientierte Programmierung / Softwareentwicklung Grafische Benutzeroberflächen 4 Wochen
Kommunikation in Rechnernetzen Rechnernetze mit kleinen Anwendungen zu GUIs 10 Wochen
Kryptologie 8 Wochen
X

Fehler melden

X

Suche