Programmieren in der Schule

Heute ist es in der Schule üblich im Informatikunterricht in der Oberstufe den Schülern eine Programmiersprache beizubringen. Ich selbst durfte Delphi lernen, an anderen Schulen wird Java oder Python gelehrt. Aber welche Programmiersprache ist am besten dafür geeignet in der Schule gelehrt zu werden?

Delphi

Die Programmiersprache Delphi basiert im Ursprung auf Pascal, einer in den frühen Siebzigern entwickelte Programmiersprache. Pascal wurde zu seiner Zeit extra mit dem Fokus entwickelt eine Lehrsprache zu sein: Pascal war einfach zu erlernen.
Das heutige Delphi (auch Object Pascal) erweitert das prozedurale Pascal um Objektorientierung und andere Features.
Auch Delphi ist für einen Anfänger leicht zu erlernen. Der große Nachteil: Delphi ist auf Windows beschränkt. Mit Kylix gibt es zwar auch die Möglichkeit Delphi unter Linux zu verwenden, allerdings nicht nativ sondern nur über eine Virtuelle Maschine.
Die Bedeutung von Delphi außerhalb des Lehrumfeldes ist eher gering (derzeit Platz 15 im Tiobe Index mit Tendenz nach unten) und das moderne Delphi konzentriert sich auf das .NET Framework von Microsoft und ist damit wieder nur unter Windows Betriebssystemen sinnvoll einsetzbar.
Insgesamt halte ich Delphi auf Grund dieser Einschränkungen nicht mehr für eine zeitgemäße Programmiersprache zur Lehre in Schulen.

Python

Die dynamische Programmiersprache Python hat in den letzten Jahren große Verbreitung erfahren. Python hat keine statischen Variablen, für den Programmieranfänger sicherlich eine Erleichterung. Andererseits kommt man schnell in die Versuchung Variablen unterschiedlicher Typen durcheinander zu werfen.
Python unterstützt sowohl die prozedurale als auch die objektorientierte Programmierung, sogar funktionale Programmierung wird unterstützt.
Auf Grund der Syntax wird der Schüler von Anfang an dazu gezwungen saubere Einrückungen im Code zu machen und nicht wie Kraut und Rüben zu programmieren. Python bietet dazu eine große Anzahl an Bibliotheken für sehr viele Bereiche.
Der Python Interpreter gibt dem Programmierer detailierte Informationen für das Debugging. Besonders für Programmieranfänger ist das Wünschenswert.
Zugute kommt noch, dass Python Plattformunabhängig und freie Software ist.

PHP

PHP, Sünde oder Segen? Die Sprache PHP ist eine besonders im Bereich der Webentwicklung weit verbreitet. Auch PHP ist ähnlich wie Python dynamisch typisiert. PHP ist freie Software und unter allen Plattformen verfügbar und sehr einfach einzurichten.
Auch in PHP bleibt es dem Programmierer überlassen, ob er einen strukturierten oder objektorientierten Ansatz wählt.
Ein besonders großer Vorteil für Anfänger: PHP verzeiht dem Programmierer sehr viel. Man kann einige Fehler machen und dennoch tut das Programm am Ende wie es soll. Aber genau hier liegt auch das Problem: Man wird als Anfänger nur mit sehr viel Disziplin lernen sauber zu programmieren. Genau das macht es für den Anfänger wieder ungeeignet.

Java

Die Sprache Java ist besonders im Business Bereich und bei der App Entwicklung unter Android sehr weit verbreitet (Tiobe Index Platz 1). Ein großer Vorteil von Java ist die Plattformunabhängigkeit. Nicht nur die Entwicklungswerkzeuge sind für alle Plattformen kostenlos verfügbar, sondern ein Java Programm ist (zumindest in der Theorie) ohne Anpassung auf allen Plattformen für die es eine JVM gibt lauffähig.
Auch für Java gibt es eine ganze Reihe von Bibliotheken und Modulen für eine Vielzahl von Aufgaben.
Der Nachteil von Java als Lehrsprache ist die hohe Lernschwelle für Einsteiger. Java ist vollständig objektorientiert. Mit ein wenig Klempnerei ist es zwar auch möglich mehr oder minder strukturiert zu programmieren, aber Java ist klar für objektorientierte Programmierung designt. Für den Einsteiger mit keinerlei Programmiererfahrung ist das nicht der richtige Ansatz.

C++

 Die Eierlegende Wollmilchsau. C++ ist ebenfalls weit verbreitet (Tiobe Index Platz 4). Viele andere Programmiersprachen (darunter Java, C#, D, …) sind syntaktisch an C++ angelehnt. Kann man einmal C++ programmieren, so fällt es einem relativ einfach andere Sprachen die an C++ angelehnt sind zu lernen.
C++ ermöglicht es dem Programmierer sehr frei zu entscheiden, welches Programmiermodell er nutzt. Ein strukturierter Ansatz ist genauso möglich wie ein objektorienterter.
Für C++ gibt es eine große Reihe an Bibliotheken und der C++ Compiler g++ ist für alle Plattformen als freie Software erhältlich.
Aber auch C++ bietet für den Anfänger eine sehr große Hürde. Anders als die oben genannten Sprachen muss man sich in C++ per Hand um die Speicherverwaltung kümmern. Das ist besonders für Anfänger schwierig.
Hat man jedoch einmal verstanden wie C++ funktioniert, so wird man auch mit anderen Programmiersprachen oftmals ohne große Probleme zurechtkommen. Gleichzeitig lernt viel darüber wie ein Computer intern arbeitet.

Schlussfolgerung

Die perfekte Programmiersprache um sie in der Schule zu lehren gibt es nicht. Ein Kompromiss wäre die Differenzierung zwischen Anfängern und Fortgeschrittenen.

In der neunten und zehnten Klasse sollte für alle Schüler verpflichtend der Informatikunterricht stattfinden. In diesen beiden Jahren werden die Grundlagen der Programmierung mit der Sprache Python gelehrt. So ist die Einstiegshürde für alle Schüler möglichst niedrig gehalten.

In der Oberstufe können Schüler das Fach Informatik freiwillig weiterführen. Neben theoretischen und allgemeinen Aspekten der Informatik sollte hier in Q1 eine Vertiefung der bisherigen Programmierkenntnisse stattfinden. Als Sprachen stünden hier Java oder C++ zu Auswahl. Auch wenn mein persönlicher Favorit C++ ist würde ich dazu tendieren Java zu lehren. C++ in einem Halbjahr zu lehren würde nicht funktionieren, dafür ist die Sprache einfach zu komplex.

BOINC – Verteiltes Rechnen für die Wissenschaft

Ich habe mich in den letzten Tagen mit dem großartigen Projekt BOINC auseinandergesetzt:
BOINC – Verteiltes Rechnen im Hintergrund. Nutze die Ressourcen deines Computers die du gerade nicht brauchst um bei wissenschaftlichen Projekten zu helfen.

Ein üblicher PC nutzt wenn er eingeschaltet ist nur einen kleinen Bruchteil seiner Leistung. Wenn man sich anschaut das der standard PC heute mit zwei, vier oder mehr Kernen daherkommt und nicht selten eine leistungsfähigen Grafikkarte im Computer steckt ist das eine ganze Menge Rechenpower die nicht genutzt wird. Der BOINC Client, den man einfach und kostenlos runterladen kann, nutzt die Ressourcen die man gerade nicht braucht um an von dir bestimmten Projekten mitzurechnen.
Schaut man z.B. gerade einen Film oder ist auf Facebook & Co. unterwegs hilfst du bei der Forschung nach neuen Medikamenten, der Optimierung des LHC oder der Suche nach extraterrestrischem Leben. Brauchst du die Ressourcen selbst (zum Zocken, Arbeiten, …) pausiert BOINC automatisch und man hat die volle Leistung seines PCs für eigene Zwecke zur Verfügung.

Ich kann jedem empfehlen BOINC zu installieren um eines oder mehrere Projekte zu unterstützen. Die Liste ist lang und reicht von Krebsforschung und Proteinfaltung über Physikalische Simulation zur Erstellung von Astronomischen Modellen und der Suche nach extraterrestrischem Leben (SETI). Besonders die Nerds und Geeks da draußen haben meistens leistungsstarke Rechner von denen diese Projekte profitieren können.

Wer möchte kann sich auch einem Team anschließen oder ein eigenes gründen. So kann man beispielsweise an Challenges teilnehmen, bei denen man möglichst viel Rechenpower zur Verfügung stellt.

Auch für Unternehmen bietet es sich an auf den meist unterforderten PCs den BOINC Client zu installieren. Das kostet das Unternehmen nichts und ist gut für das Unternehmensbild.

Umbau C.H.A.O.S.

Meine Schreibtische nehmen etwa zwei Drittel des kompletten Zimmers in Anspruch, das sind etwa 5 Quadratmeter.

vorher

altes Setup

Darauf stehen mehrere Bildschirme, meine Studiomonitore, mein Mischpult und jede Menge anderes Zeug. Und irgendwo muss ich auch noch Platz haben um für die Uni zu arbeiten.

Der größte Teil des Umbaus bestand darin zwei neue 4HE Racks für meine Audiotechnik und verschiedenes Computerzeug unterzubringen. Außerdem war das Ziel meine Monitore endlich in einem ordentlichen akkustischen Dreieck aufzustellen und meine Linux Workstation besser in das übrige Setup zu integrieren.

Die beiden Racks für die Technik sollten auf den Tisch wandern: bisher hat ein Großteil der Audiotechnik ihr Dasein unter dem Tisch in einem Tourrack verbracht. Um einen Regler zu bedienen musste man jedesmal unter den Tisch greifen. Auf Dauer umständlich und man sieht nicht gescheit was man eigentlich einstellt. Letzteres ist zwar oft nicht so wichtig da man die Änderungen hört, aber man muss auch erstmal den richtigen Regler finden.

Da die Racks auf dem Tisch stehen sollen müssen sie auch optisch einigermaßen aussehen. Entsprechende Racks für den Studiobetrieb gibt es fertig zu kaufen, diese sind jedoch recht teuer und kommen meist in Farben wie Buche, Schwarz oder Weiß daher. Mein Schreibtisch ist jedoch grau. Kurzerhand habe ich entschieden die beiden Racks selbst zu bauen.

Die beiden Racks sind baugleich und bieten eine Einbautiefe von 29 cm auf einer Höhe von 4HE mit der Standardbreite von 19″. Das Rack besteht auseiner Grundplatte (Deckel und Top) von 54cm x 32cm. Die Seitenteile haben die Maße 32cm x 18.5cm. Als Material habe ich 10mm starkes Fichtensperrholz verwendet.

selbstbau_rack_4heIch habe meinen Racks zusätzlich eine Rückwand aus 3mm dickem Pappelsperrholz spendiert. Diese hat unten eine Öffnung um Kabel hinten bequem aus dem Rack herauszuführen. Wenn man es bevorzugt an alle Anschlüsse der Geräte gut dranzukommen kann man diselbstbau_rack_4he_backe Rückwand natürlich auch weglassen.

Mit einer Breite von 54cm ist die Grundfläche größer als nötig um 19″ Geräte zu beheimaten. Ich habe diese Größe deshalb ausgewählt, da so noch jeweils ein Monitor und ein Bildschirm auf dem Rack Platz findet.
Die einzelnen Komponenten sind miteinander verleimt. So sparrt man sich hässliche Schrauben in den Außenwänden. Nur die Rackschienen sind mit den Seitenwänden von innen verschraubt. Das Rack ist durch das relativ dünne Holz und die reine Verleimung nicht dafür geeignet sehr schwere Komponenten wie Endstufen zu beheimaten. Aber dafür ist es ja auch nicht gedacht.

Am Ende habe ich das Rack noch in selbstbau_rack_4he_lackeinem Grauton lackiert, der meinem Tisch am nächsten kam. Zwei Schichten Lack reichen aus um gut zu decken und man sieht trotzdem noch die Maserung des verwendeten Holz.

 

 

Auf meinem Schreibtisch beheimatenhome_office_rack_left das linke Rack jetzt mein Audiointerface, das auch als zentraler Anschlusspunkt für alle fest installieren Komponenten fungiert. Früher habe ich dazu mein Mischpult verwendet, aber da ich dieses öfters auf Tour mitnehme kann ich mir jetzt sparen jedes mal einen Haufen Stecker neu zu stecken. Zwei ADAT Kabel und fertig bin ich. Außerdem steht in dem Rack auch noch ein Kopfhörerverstärker und ein Anschlussfeld, das noch bestückt werden will.
Rack Nummer zwei beheimatet die Tastatur meiner Linux Workstation sowie Funkempfänger für meine Maus und ebenfalls ein Anschlussfeld für Netzwerk, USB und FireWire. Dazu kommt demnächst noch ein Port für Wechselfestplatten.

neues Setup

neues Setup

Alles in allem steigert der Umbau den Komfort für den Benutzer und schafft Platz für die Füße unter dem Schreibtisch. Die Kosten für beide Racks (Holz, Rackschieben, Lack) lagen bei 38€. Zum Vergleich, ein einfaches Studiorack im Einzelhandel kostet etwa 100€.

Ein ganz normaler Schultag

Herr Schneidereit unterrichtet Mathe und Deutsch am Heinrich Faust Gymnasium in Bad Pudel. Die Schule wird auch von den beiden Schülern Sabine und Rolf besucht. Beide gehen in die neunte Klasse, Sabine ist in der Klasse von Herrn Müller und Rolf ist in der Klasse von Frau Meier. Wie alle Schüler des Heinrich Faust Gymnasiums haben sie einen Tabletcomputer der von der Schule für den Unterricht gestellt wird.

Der Schultag von Rolf beginnt heute um 8.00 Uhr mit einer Doppelstunde Deutsch. In der gleichen Zeit hat Sabine eine Doppelstunde Politik und Wirtschaft. Beide brauchen von zu Hause etwa eine Halbe Stunde in die Schule. Dazu kommen noch 20 Minuten zum Aufstehen und für das Frühstück.

Um zehn nach sieben klingelt das Tablet von Sabine und weckt sie. Das Tablet kennt ihren Stundenplan und weiß wie lange sie vom Aufstehen bis in die Schule braucht. Auch bei Rolf würde jetzt das Tablet klingeln und ihn wecken. Glücklicherweise hat das Tablet aber die Information vom Schulserver bekommen, dass Herr Schmidt krank ist und Rolfs ersten beiden Stunden daher ausfallen. Er kann also bequem weiterschlafen und wird automatisch zwei Schulstunden später geweckt und kommt so pünktlich zu Latein in der Dritten Stunde.

Während Rolf also weiter schläft macht Sabine sich fertig und fährt in die Schule. In der Bahn schaut sie auf ihr Tablet: drei neue Nachrichten. Zwei Nachrichten wurden automatisch vom eLearning System der Schule erstellt. Die erste ist eine Erinnerung, dass Sabine heute Abend bis 23.00 Uhr noch ein Referat online abgeben muss. Die zweite ist eine Einladung zum Infoabend für die Klassenfahrt am Ende des Schuljahres. Die letzte Nachricht ist von Petra, einer Freundin mit der Sabine an dem Referat arbeitet. Sabine beantwortet die Nachricht und schickt Petra ihren vorläufigen Entwurf vom Handout.

In der Schule angekommen geht Sabine direkt zum Politik und Wirtschafts Unterricht. Die Stunde findet heute nicht wie gewohnt im dritten Stock statt, da der Klassenraum heute neu gestrichen wird. Ihr Tablet informiert sie rechtzeitig vorher über den Raumwechsel.
Wie immer hat Herr Müller ein tagesaktuelles Thema für die Stunde: der sprunghafte Anstieg der Preise für Schrauben der Größe M7 mit Linksgewinde. Die Preise haben sich am abend zuvor fast verdoppelt. Zu dem Thema hat Herr Müller auch schon einen Artikel und weiterführende Links in den virtuellen Kurs im eLearning System eingetragen. Die Schüler haben zehn Minuten Zeit sich den Artikel durchzulesen, den Rest der Stunde wird über die Auswirkungen im Hinblick auf die Freie Marktwirtschaft diskutiert.

Pünktlich zur dritten Stunde ist auch Rolf in der Schule. In Latein wird gerade Ceasar  “De Bello Gallico” übersetzt. Der Originaltext, der über das Internet frei und kostenlos verfügbar ist, wurde am Anfang des Schuljahres von Frau Werner über das eLearning System der Schule allen Schülern bereitgestellt und kann im Unterricht von den Schülern über ihre Tablets gelesen werden. Begleitend zu dem Originaltext finden die Schüler auch eine Musterübersetzung, ein Latein Wörterbuch und verschiedene Interpretationsansätze sowie zusätzliche Hintergrundinformationen im eLearning System. Passend zum Thema zeigt Frau Werner regelmäßig alte Karten und andere Informationen via Beamer im Unterricht. Auch diese Informationen können sich die Schüler später online noch einmal anschauen.

Während Rolf in Latein sitzt hat Sabine Mathe bei Herrn Schneidereit. Als die Schule vor einiger Zeit überlegt hat die klassischen Tafeln in den Klassenräumen durch moderne Smartboards zu ersetzen hat sich Herr Schneidereit vehement dagegen gewehrt. Als Lehrer vom alten Schlag bevorzugt der die klassische Tafel. Außerdem sind Smartboards mit Preisen jenseits von 2000€ bei über 30 Klassenräumen finanziell unsinnig. Nichtsdestotrotz benutzt Herr Schneidereit die Tafel heute nur noch selten. Über die letzten zwei Jahre hat der sich daran gewöhnt statt an einer Tafel am Computer zu schreiben. Die Schule stellt hierzu ein Kontingent von speziellen Tablets bereit. Diese können von Lehrern für den Unterricht geliehen werden. Im Klassenraum schließt man das Tablet einfach an den dort fest installierten Beamer an. Herr Schneidereit schreibt die Rechenbeispiele die er früher an der Tafel gemacht hat jetzt am Computer. Die Schüler können dies über den Beamer mitverfolgen. Vorteil: das Tafelbild kann später im eLearning System von den Schülern runtergeladen werden um z.B. für Klausuren zu lernen.
Hausaufgaben gibt es nicht mehr auf kopierten Blättern, sondern direkt über das eLearning System der Schule. Diese können vom Schüler auf dem Tablet oder dem heimischen Computer betrachtet und runtergeladen werden. Die Aufgaben und Beispiele nimmt Herr Schneidereit aus einem kostenlosen Mathebuch. Dieses wird ähnlich wie die Wikipedia von einer Gemeinschaft aus Schülern, Lehrer, Studenten und Anderen über das Internet geschrieben. Ändert ein Benutzer etwas, so wird die Änderung von einer Fachkraft gegengelesen und auf Korrektheit geprüft. So wird sichergestellt, das sich keine Fehler einschleichen. Über die Jahre ist das Buch gewachsen und hat heute eine umfangreiche Sammlung von Aufgaben und Beispielen zu allen Themen.
Bei Bedarf kann sich ein Schüler auch ein Blatt ausdrucken. Hierzu stehen jedem Schüler 30 kostenlose Seiten pro Schulhalbjahr zur Verfügung. Weitere Seiten können gegen eine geringe Gebühr pro Seite gedruckt werden. Gerechnet wird weiter auf normalem Papier. Auch Hausaufgaben werden auf Papier abgegeben. Das hat sich im Matheunterricht als praktischer erwiesen als ein elektronisches Heft.

Nach Mathe hat Sabine noch Deutsch. Dort behandeln sie gerade Schillers “Die Räuber”. Das Buch gibt es frei über das eLearning System der Schule und kann von den Schülern auf ihrem Tablet gelesen werden. Anmerkungen und Kommentare sind ebenfalls möglich. Dazu gibt es noch weitere Sekundärliteratur und anderes Zusatzmaterial.
Die Hausaufgaben in Deutsch werden üblicherweise auf dem Computer geschrieben und online abgegeben. Das System überprüft automatisch im Hintergrund, ob mehrere Schüler den gleichen Text abgegeben haben. Sollte dies der Fall sein wird der Lehrer automatisch informiert. Die abgegebenen Hausaufgaben werden dann entweder alle oder nur Stichprobenartig von Herrn Schneidereit korrigiert. Eine Bewertung und Feedback erfolgen ebenfalls online und können dort vom Schüler eingesehen werden.

Während Sabine Schillers Räuber genießt ist Rolf heute an der Reihe sein Referat in Bio zu halten. Die Präsentation und das Handout hat er am Abend vorher über das eLearning System abgegeben. Seine Mitschüler können sich sie Präsentation und das Handout hier direkt anschauen oder runterladen. Auch die Bewertung für das Referat ist später online zu finden. Natürlich kann diese nur von den Beteiligten eingesehen werden. Um das Referat zu halten verbindet Rolf sein Tablet via WLAN das überall in der Schule zur Verfügung steht mit dem Beamer. In dem Referat zur Feldheuschrecke zeigt Rolf zusätzlich zur klassischen Präsentation noch ein kurzes Video und er spielt ein kurzes Beispiel der für die Heuschreckenart typischen Zirp-Geräusche über die im Klassenraum montierten Lautsprecher vor.

Am Abend macht Rolf seine Mathehausaufgaben. Da er an einer Stelle nicht weiter kommt schaut er im Matheforum des eLearning Systems der Schule nach, ob jemand anderes das gleiche Problem und vielleicht eine Lösung hat. Fehlanzeige. Leider ist auch im Chat gerade niemand online der ihm die Frage beantworten könnte. Daher erstellt er im Forum ein neues Ticket mit seiner Frage. Dieses kann von seinen Mitschülern oder einem Lehrer beantwortet werden. Zusätzlich gibt es auch noch Tutoren, Schüler aus einem höheren Jahrgang, die freiwillig in einem oder mehreren Fächern anderen Schülern Fragen beantworten.
Zusätzlich zu den Schüler-Tutoren hat die Schule vor kurzer Zeit ein Projekt ins Leben gerufen, um die Schüler noch besser zu unterstützen: für jeden Fachbereich beschäftigt die Schule einen oder mehrere Studenten, die im eLearning System helfen und einmal die Woche eine Sprech-und Übungsstunde anbieten. Die Schüler bekommen so die Möglichkeit nicht verstandene Dinge noch einmal erklärt zu bekommen. Auf diese Weise bekommen insbesondere schwächere Schüler die Möglichkeit nicht hinten abzukippen. Gleichzeitig werden die Lehrer entlastet.

 

Ist so etwas denn überhaupt möglich? Alles nur Wunschdenken? Nein. Die nötige Technologie gibt es schon heute zu bezahlbaren Preisen. Der Punkt an dem die “Schule 2.0″ heute scheitert ist leider ausschließlich die Schulpolitik. Anstatt moderne Mittel zu nutzen um die Bildung zu verbessern wird an alten Strukturen festgehalten. Schade. Man könnte so viel machen. Man könnte so viel besser machen.