Lehrzeit

Schule & Informatik

Kompetenz im Informatikunterricht

Am Ende des vergangenen Schuljahres hielt ich noch eine Fachsitzung Informatik ab und der Themenschwerpunkt war natürlich der neue Lehrplan mit seiner Kompetenzorientierung. Was soll ich sagen: Ich tue mich schwer damit. Und zwar, weil ich am Ende der 10. Klasse gerne kompetente Informatiker (im Rahmen des Lehrplans) hätte.

Aber wenn ich Schüler habe, die aus langen Angabentexten zwar sehr gut Klassen- , Objekt-, Sequenz- und Zustandsdiagramme zeichnen können, Datentypen kennen und Modellieren können, aber keine for-Wiederholung in Java programmieren können, keine Algorithmen entwickeln können, dann habe ich in meinen Augen keine kompetenten Informatiker. Und doch würden diese Schüler wahrscheinlich die Hälfte der Punkte des praktischen Informatikabiturs (1. Teil) holen. Wer mag, kann sich die Lösungen des bayerischen Abiturs ja mal anschauen. Es werden Diagramme gefragt und in meinen Augen einfache, teils einzeilige Programmierungen auf reinem Transfer-Niveau:

Beispiel aus 2017/I:

public void einfuegen(TICKET ticket) {
    erstes = new KNOTEN(ticket);
}

public TICKET suchen(String kennzeichen) {
    return erstes.suchen(kennzeichen);
}

Natürlich kommen im Abitur auch Themen aus der elften Jahrgangsstufe, wie Bäume und Graphen dran, aber auch hier geht es oft nur um Diagramme. Ab und zu kommt mal eine Adjazenzmatrix vor und ein im Unterricht behandelter (Durchlauf)-Algorithmus muss in Pseudocode angegeben werden.

Habe ich also zu hohe Anforderungen in dem ich erwarte, dass Schüler Ende der zehnten Klasse auch noch Programmieren können? Programmieren über das Schreiben von get/set-Methoden hinaus? Methoden also, die ich in Sprachen wie Python so gut wie nie brauche, da hier die Attribute standardmäßig öffentlich sind. Oder wie damals unter OSX und Objective-C. Hier werden die get/Set-Methoden automatisch durch XCode generiert. Könnte ein Aufgaben-Generator, wie ihn Herr Rau jetzt programmiert hat, zur Kompetenzsteigerung beitragen? Wenn ja, welche genaue Kompetenz?

Zu Beginn der elften Klasse lasse ich, sozusagen zum Wiederreinkommen folgendes Programm schreiben:

Schreibe ein Programm, dass zu einer gegebenen Kilometerzahl und einer gegebenen Zeit je nach eingegebenen km-Intervall die Zwischenzeiten ausgibt.

So soll ein Aufruf

gibIntervalle(10, new MyTime(1,0,0), 2)

folgende Ausgabe liefern:

2km   0:12:0
4km   0:24:0
6km   0:36:0
8km   0:48:0
10km  1:00:0

Das Ergebnis: Die erste Hälfte der Schüler scheitert daran, dass sie nicht wissen wo anfangen, da ein detailierter Angabentext, wie er beispielsweise im Abitur vorkommt und den man mit dem Schema Substantiv ist Klasse oder Attribut, Verb ist Methode, Adjektiv ist Attribut analysieren kann, nicht gegeben ist.

Die nächsten scheitern an dem Umgang mit der Zeit und deren Umrechnung und Formatierung bei der Ausgabe. Und ein paar scheitern noch an den benötigten Wiederholungen. Von 15 Schülern schaffen es in der Regel 1-2 Schüler es in der vorgegebenen Zeit von 3 Schulstunden umzusetzen. Der Rest hat meistens kaum etwas.

Was sind also kompetente Informatikschüler? Und wie unterrichte hierfür optimal, um dieses Ziel zu erreichen? Wie erreicht ihr euer Ziel? Was ist euer Ziel?

 

1 Kommentar

  1. Deine Zweiteilung in algorithmisches Wissen und eher abstrakte Modellierung ist mir auch während des Studiums begegnet. Dort stand die Programmierung eher im Hintergrund. Beides ist jedoch wichtig.

    Leichter für die Auswertung und besser prüfbar sind aber wohl Modellierungsaufgaben – die IHK praktiziert dies in ihren theoretischen Prüfungen seit vielen Jahren. Der praktische Teil der Prüfung bei der IHK wird pro Prüfling von einem mind. dreiköpfigen Prüfungsausschuss begutachtet. Das kostet Zeit und Geld – beides möchte man sich vielleicht in der schulischen Ausbildung sparen?!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

*

© 2017 Lehrzeit

Theme von Anders NorénHoch ↑