Hi,
also zunächst mal ist das ganze aus Lehrerperspektive natürlich sehr vertrackt. Eine gute Lösung dafür habe ich nicht, ich kenne nur bei uns von der Uni das Prinzip, dass für die Übung 4 oder 5 Aufgaben vorbereitet werden, jeder macht halt soweit wie er kommt.
Generell sollte man mal die Frage stellen, welchen Zweck Informatik-Unterricht in der Schule verfolgt, da gibt es ja sicherlich durchaus verschiedene Ansichten, vor allem _vor_ er Oberstufe. Sollte man da vielleicht wirklich mal die Office-Grundlagen vermitteln, damit die Leute später im Betrieb damit umgehen können? Auch etwas Excel oder ähnliches, einfach um da mal die Grundlagen gesehen zu haben?
Nun ja, dann kommt die Oberstufe, was nun. Man kann natürlich sagen "wir powern eine Programmiersprache soweit wie möglich durch, programmieren so viel wie möglich und und und". Ob das aber die sinnvollste Herangehensweise ist, weiß ich nicht. Ich bin heute (aber zugegeben auch etwas geschädigt von der Universität) der Meinung, dass fundierte Grundlagen wichtiger sind als die Beherrschung einer Sprache. Programmierung mit endlichen Automaten ist durchaus was sinnvolles, nur eben nicht für einen Webdesigner. Aber man erkennt grundsätzliche Strukturen. Syntaxbäume aufzustellen ist bestimmt ziemlich ätzend, aber man lernt "strukturiertes" Schreiben. Pseudokode ist völlig unspannend, da sieht man nichts, aber es lehrt einen abstraktes Denkvermögen - nicht auf Bibliotheken kommt es an, sondern erstmal auf die groben Abläufe. Ob das jetzt cout oder System.out.println heißt, tut überhaupt nichts zur Sache. Grundsätzliche Strukturen, wie Objekte, Interfaces, abstrakte Klassen, Factories, Iteratoren, Listen, Hashcodes/Hashsets, sowas sollte man verstanden und nicht einfach abgetippt haben. Und was ist mit Datenbanken? Was ist mit XML? Das spielt heutzutage eine so große Rolle, auch hier sollte man Grundlagen (Normalformen, DTDs, ...) eigentlich mal gesehen haben. Ich bin auch heute noch dankbar mal Assembler in der Schule gelernt zu haben (ja, das war erst vor 7 Jahren...), da sieht man eine Menge Optimierungspotenzial.
Nun gut, jetzt haben wir eine lange Liste was man machen sollte, viele Konzepte. Die kann man nicht nur theoretisch durchkauen, also muss man sich jetzt tatsächlich mal eine Programmiersprache schnappen und die Leute drauf losarbeiten lassen, sei es C, Java oder sonstwas. Dazu eine Mischung, Einführung der Theorie, anschließendes Umsetzen in die Praxis. Wenn nötig, kann der Lehrer ja Bibliotheken mit derzeit irrelevanten Teilen bereitstellen.
So, jetzt hab ich hier viel geschrieben, wahrscheinlich bringt das niemanden weiter. Ich finde es halt wichtig, dass man zügig voran geht, in verschiedene Bereiche mal reinsticht und wichtige Grundlagen lernt. Eine Programmiersprache zu lehren, ist IMHO absolute Verschwendung, in spätestens 10 Jahren ist 80% davon deprecated...
MfG
Rouven
-------------------
ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|