So geht es auch – Mein Informatikunterricht nach britischem Lehrplan

Bild von Jugend hackt Team

von Jugend hackt Team

Ein Gastbeitrag von Karl Engelhardt

Zum Autor: Karl (hier geht’s zu seiner Webseite: pajowu.de) war schon bei einigen Jugend hackt Events dabei und hat unter anderem an den Projekten Neulandeuphonie und GermanySaysWelcome mitgearbeitet. Aktuell geht er in Israel auf eine Schule, die nach britischen Lehrplan unterrichtet. Wenn auch ihr Lust habt über eure Erfahrungen rund um IT, Schule, Hacking und Making zu berichten, dann schreibt uns mit euren Ideen an info@jugendhackt.de.

Der Informatikunterricht unterscheidet sich je nach Land, das war mir klar, allerdings war es für mich doch erstaunlich, wie groß dieser Unterschied ist. Der Informatikunterricht an meiner alten Schule in Leipzig glich lange einer Microsoft-Office-Produktschulung. Im letzten Jahr haben wir dann noch etwas mit Scratch gearbeitet, wobei sich das im wesentlichen auch auf eine kleine Einführung des Lehrers oder der Lehrerin und danach ein „macht mal“ beschränkte. Dazwischen haben wir noch etwas über Objektorientierung gelernt, allerdings nur theoretisch und ohne jeglichen Praxiszusammenhang (Scratch eignet sich da zwar sehr gut, wurde aber erst einige Monate später behandelt).

Der Informatikunterricht in der Oberstufe unterschied sich dann je nach Lehrer extrem. Bei manchen Lehrer/innen wurden nur Aufgaben in Object Pascal (1) mit schlechter IDE gelöst, meistens nach dem Motto „macht mal“, während andere mit den Schüler/innen eine Cryptoparty im lokalen Hackerspace besuchten und Themen wie bash, Datensicherheit und Verschlüsselungsalgorithmen behandelten (2).

Zwar unterscheidet sich die Qualität des Informatikunterrichts auch in Großbritannien (3) je nach Lehrer/in, aber immerhin kann Informatik als schriftliche Prüfung abgelegt werden (4). Programmiert wird auch nicht in irgendeiner Programmiersprache, sondern es müssen C#, Java, Pascal/Delphi, Python oder VB.Net sein. Zudem gibt es einen deutlich strengeren, frisch überarbeiteten Lehrplan (5), der bereits in der 11. Klasse folgendes enthält.

Grundlagen des Programmierens

Dieser Bereich umfasst die grundlegenden Datentypen (Integer, Dezimalzahlen, boolsche Variablen, Zeichen, Zeichenketten, Daten/Zeiten, Tupel, Listen), das Erstellen eigener Datentypen und die Elemente von Programmiersprachen (Variablen, Konstanten, Zuweisungen, Schleifen, Funktionen, etc.). Zudem werden die verschiedenen Operatoren zum Verändern und Vergleichen von Werten und Variablen sowie deren Sichtbarkeitsbereiche behandelt. Auch verschiedene Arten von Datenstrukturen werden behandelt.

Systematischer Ansatz zum Problemlösen

Hier wird behandelt, wie man von der Problemstellung zum fertigen Programm kommt, dabei werden verschiedene Methoden an Beispielen geübt. Es gibt in der Beschreibung des Kurses die ausdrückliche Anweisung, dass die „Schüler ausreichend Übung im Schreiben, Debuggen und Testen von Programmen“ (6) haben sollten.

Computertheorie

Dieser Bereich befasst sich mit Abstraktion und endlichen Automaten. Dabei werden verschiedene Arten der Abstraktion sowie deren Vor- und Nachteile erläutert, sowohl die Abstraktion von Problemen, als auch die von Daten (eigene Datentypen) und Code (Funktionen). Auch dies wird nicht nur theoretisch erläutert, sondern soll immer an Beispielen stattfinden.

Grundlagen der Datendarstellung

Hierbei werden Zahlensysteme, Zahlenbasen, Informationseinheiten, die Speicherung verschieden Datenarten sowie Verschlüsselung behandelt. Dazu werden zuerst die verschieden Arten von Zahlen behandelt (Natürliche Zahlen, Rationale Zahlen, Ordnungszahlen etc.). Besonders binäre Zahlen werden intensiv behandelt, u.a. die Darstellung von negativen Binärzahlen mittels Zweierkomplement, die Grundrechenarten, Bruchzahlen und Einheiten (Bits, Bytes, …). Danach werden noch die Methoden zum Speichern und Darstellen von Text, Tönen, Musik und anderen Daten gelehrt. Auch Komprimierung mit Lauflängenkodierung, Wörterbuchkompression und die Unterschiede verschiedener Methoden (Verlustfrei, verlustbehaftet) sind Thema. Zudem wird Verschlüsselung mit ihren Extremen Cäsar und OTP, der Anwendung der Beiden per Hand und anderen Chiffren, sowie deren Vor- und Nachteile unterrichtet.

Grundlagen von Computern

Ein weiterer Abschnitt beschäftigt sich mit der Funktionsweise von Computern. Dabei wird der Blick sowohl auf Hard-, als auch auf Software und deren Zusammenspiel gelenkt. Bei der Hardware beschäftigt man sich mit dem Prozessor, sowie seinen Bestandteilen und seinem Befehlssatz, mit dem Speicher, den Bussen, dem Ein- und Ausgabe-Controller, dem Ausführen von im Speicher abgelegter Software und externer Hardware. Außerdem werden unterschiedliche Arten von Software (OS, Libraries, …), sowie deren Zweck, thematisiert. Ebenfalls Thema sind die verschiedenen Arten von Programmiersprachen, von Maschinencode bis hin zu höheren Programmiersprachen, sowie die verschiedenen Möglichkeiten Code auszuführen, also assemblieren, interpretieren und kompilieren, mit ihrem Nutzen in verschiedenen Situationen und Logikgatter sowie Boolesche Algebra.

Konsequenzen der Computernutzung

Dieser Abschnitt ist leider einer der kürzesten in der Kursbeschreibung (½ Seite), soll aber trotzdem dazu aufrufen, sich mit moralischen, ethischen, legalen und kulturellen Chancen und Problemen der Verbreitung von Computern sowie des Internets zu beschäftigen. Dabei soll auch über Themen wie Massenüberwachung und die Macht und Verantwortung, die die Entwicklung von Software mit sich bringt gesprochen werden: „[T]he issue of scale, creates potential for individual computer scientists and software engineers to produce great good, but with it comes the ability to cause great harm.“ (7)

Grundlagen von Kommunikation und Netzwerken

Der letzte Bereich der 11. Klasse beschäftigt sich dann mit Kommunikation und Netzwerken. Dabei wird sich mit serieller, paralleler, synchroner und asynchroner Übertragung beschäftigt, es werden Begriffe wie Latenz, Bandbreite, Baud-, Bitrate und Protokoll erklärt. Zudem werden Netzwerkstrukturen und -arten sowie drahtlose Netzwerke betrachtet.

Fazit

Das ganze klingt ambitioniert für ein Schuljahr, an dessen Ende sich auch noch eine Abitur-ähnliche Prüfung befindet. Aber wir werden, soweit ich das nach etwas mehr als einem halben Jahr beurteilen kann, alle oben genannten Themen behandeln. Der Unterricht richtet sich außerdem sehr nach den Bedürfnissen der Schüler/innen, wobei das durch die kleinen Klassen leichter fällt. Die gibt es in Deutschland auch, dort ist der Grund aber meist mangelndes Interesse. Mir gefällt besonders, dass der Unterricht sehr praxisbezogen ist, die Hälfte der Zeit ist fest fürs programmieren lernen eingeplant. Meistens läuft das so, dass wir uns in der einen Stunde etwas theoretisch anschauen und es in der Nächsten dann praktisch umsetzen. Dadurch lernt man sowohl die Themen als auch ihre Anwendung besser, da beides gleich trainiert wird. Genau diese enge Kombination von Theorie und Praxis habe ich in meinem Informatikunterricht in Deutschland oft vermisst.

Ich finde, hier kann sich der deutsche Informatikunterricht eine gehörige Scheibe abschneiden. Dafür müsste der Lehrplan regelmäßig erneuert und die Prüfungmöglichkeiten, z.B. durch schriftliche Prüfungen, erweitert werden. Auch brauchen wir dringend Weiterbildungen für Lehrer/innen, um sie auch im inhaltlichen Umgang mit neuen Techniken besser zu schulen. Ich habe schon einige Geschichten wie die von Anna (Informatiklehrer fragte: „Was ist dieses Python?“) gehört, die zeigen, das gerade in diesem Bereich noch großer Bedarf besteht.