Rubrik: Mathematik, Logik und Programmierung
Ein Schüler kann eine Mathematikaufgabe lösen.
Er erkennt die Formel, setzt die richtigen Zahlen ein und kommt auf das richtige Ergebnis.
Dann bekommt er fast dieselbe Aufgabe noch einmal — diesmal soll die Lösung jedoch mit Python dargestellt werden.
Plötzlich entsteht ein Problem.
Nicht unbedingt, weil Python zu schwierig ist. Und auch nicht, weil der Schüler die Mathematik nicht verstanden hat.
Die eigentliche Schwierigkeit liegt häufig dazwischen:
Eine mathematische Lösung und ein ausführbarer Algorithmus sind nicht dasselbe.
Genau dieser Übergang wird im Unterricht oft unterschätzt.
Auf Papier dürfen Denkprozesse unsichtbar bleiben
Nehmen wir eine einfache Aufgabe:
Drei Werte sollen addiert und anschließend ihr Durchschnitt berechnet werden.
Ein Schüler schreibt vielleicht sofort:
[
(18 + 24 + 30) / 3 = 24
]
Mathematisch ist damit alles erledigt.
Der Rechenweg ist kurz, weil der Schüler mehrere gedankliche Schritte gleichzeitig ausführen kann. Er weiß, welche Zahlen zusammengehören, warum durch drei geteilt wird und was das Ergebnis bedeutet.
Ein Computer weiß davon nichts.
Python sieht weder „Durchschnitt“ noch „drei Werte“ noch die Absicht hinter der Rechnung.
Diese Struktur muss zuerst ausdrücklich formuliert werden.
a = 18
b = 24
c = 30
summe = a + b + c
durchschnitt = summe / 3
print(durchschnitt)Das Programm ist länger als die Rechnung auf Papier.
Aber gerade darin liegt der entscheidende Unterschied:
Der Code zwingt uns, Teile des Denkens sichtbar zu machen, die auf Papier selbstverständlich erscheinen.
Python prüft nicht nur Mathematik
Viele Schüler erwarten, dass Programmieren ungefähr so funktioniert wie ein Taschenrechner: Man gibt eine Formel ein und erhält ein Ergebnis.
Bei einfachen Aufgaben kann das tatsächlich so aussehen.
Sobald eine Aufgabe jedoch Bedingungen, mehrere Berechnungsschritte, verschiedene Fälle oder wiederholte Operationen enthält, reicht eine Formel nicht mehr.
Dann muss der Schüler Entscheidungen treffen:
- Welche Informationen brauche ich zuerst?
- Welche Werte müssen gespeichert werden?
- Welche Berechnung hängt von welcher anderen Berechnung ab?
- Muss eine Bedingung geprüft werden?
- Welche Schritte müssen wiederholt werden?
- Was soll am Ende ausgegeben werden?
Das sind keine reinen Syntaxfragen.
Es sind Fragen der Modellierung und Strukturierung.
Deshalb hilft es einem Schüler nicht immer, einfach noch mehr Python-Befehle zu lernen.
Wer if, for, input() und print() kennt, kann trotzdem Schwierigkeiten haben, eine mathematische Aufgabe in ein Programm zu verwandeln.
Eine Formel ist noch kein Algorithmus
Das lässt sich besonders gut an Prozentaufgaben erkennen.
Auf Papier kann ein Schüler beispielsweise problemlos berechnen, wie viel ein Produkt nach einem Rabatt kostet.
Preis: 80 Euro
Rabatt: 15 Prozent
Die Rechnung ist schnell gemacht:
[
80 – 0{,}15 \times 80 = 68
]
Für Python müssen wir jedoch entscheiden, wie wir die Situation darstellen.
preis = 80
rabatt_prozent = 15
rabatt = preis * rabatt_prozent / 100
endpreis = preis - rabatt
print(endpreis)Natürlich könnte man alles auch in eine einzige Zeile schreiben.
Aber für das Lernen wäre das oft die schlechtere Lösung.
Warum?
Weil die Variablen rabatt und endpreis zwei verschiedene Bedeutungen sichtbar machen.
Der Code zeigt dadurch nicht nur was gerechnet wird, sondern auch wie die Aufgabe gedanklich zerlegt wurde.
Das ist besonders wichtig, wenn später komplexere Aufgaben folgen.
Ein häufiger Fehler zeigt das eigentliche Problem
Betrachten wir diese Berechnung:
x = 10
y = 20
print(x + y / 2)Der Schüler wollte den Mittelwert berechnen.
Mathematisch weiß er wahrscheinlich, dass beide Zahlen addiert und anschließend durch zwei geteilt werden müssen.
Der Code berechnet aber etwas anderes:
10 + (20 / 2)also 20 statt 15.
Natürlich kann man sagen: „Die Klammern fehlen.“
Das ist technisch richtig, aber pädagogisch noch nicht ausreichend.
Interessanter ist die Frage:
Warum fehlten die Klammern?
Vielleicht hat der Schüler die mathematische Idee im Kopf als einen einzigen Vorgang gespeichert: „Mittelwert berechnen“.
Python verlangt jedoch eine präzisere Darstellung der Struktur:
mittelwert = (x + y) / 2Der Fehler zeigt deshalb nicht automatisch, dass der Schüler den Mittelwert nicht versteht.
Er kann zeigen, dass er noch lernen muss, seine mathematische Vorstellung in eine formale Reihenfolge zu übersetzen.
Zwischen Mathematik und Python liegt eine dritte Ebene
Im Unterricht werden häufig zwei Dinge getrennt betrachtet:
Mathematik: Verstehst du die Aufgabe?
Programmierung: Kennst du den richtigen Python-Befehl?
Dazwischen liegt aber eine entscheidende Ebene:
Kannst du aus deiner Lösung einen Algorithmus bauen?
Genau hier entstehen viele Schwierigkeiten.
Ein sinnvoller Lösungsweg sieht deshalb eher so aus:
Problem → mathematisches Modell → Einzelschritte → Algorithmus → Code → Kontrolle
Wenn ein Schüler direkt von der Aufgabenstellung zum Python-Code springt, versucht er mehrere Denkprozesse gleichzeitig zu erledigen.
Das erhöht die kognitive Belastung erheblich.
Vor allem bei Schülern, die noch wenig Programmiererfahrung haben.
Warum „mehr Python üben“ nicht immer die Lösung ist
Wenn ein Schüler bei solchen Aufgaben scheitert, liegt die naheliegende Reaktion oft darin, zusätzliche Programmierübungen zu geben.
Das kann sinnvoll sein, wenn tatsächlich Syntaxkenntnisse fehlen.
Aber nicht jedes Python-Problem ist ein Python-Problem.
Manchmal versteht der Schüler:
- Variablen,
- Operatoren,
- Bedingungen,
- Schleifen,
und kann trotzdem keine neue Sachaufgabe selbstständig programmieren.
Dann fehlt möglicherweise nicht Wissen über Python.
Es fehlt Transfer.
Der Schüler kann einen bekannten Code nachvollziehen, aber noch nicht selbst entscheiden, welche Struktur eine neue Aufgabe benötigt.
Das ist ein fundamentaler Unterschied.
Excel, GeoGebra und Python trainieren unterschiedliche Denkweisen
Auch digitale Werkzeuge sollten deshalb nicht einfach gleichgesetzt werden.
Mit GeoGebra kann ein Schüler mathematische Beziehungen sehr gut visualisieren.
Mit Excel lassen sich Tabellen, Datenreihen, Prozentrechnungen und wiederkehrende Berechnungen effizient darstellen.
Mit Python muss der Schüler Prozesse besonders explizit formulieren.
Keines dieser Werkzeuge ist grundsätzlich „besser“.
Sie machen unterschiedliche Aspekte eines Problems sichtbar.
Ein Schüler kann deshalb sicher mit GeoGebra arbeiten und trotzdem Schwierigkeiten mit Python haben. Ebenso kann jemand Excel-Formeln verwenden, ohne einen Algorithmus selbstständig formulieren zu können.
Digitale Kompetenz besteht nicht darin, irgendein Programm bedienen zu können.
Sie besteht auch darin zu verstehen, welche Art von Denken ein Werkzeug verlangt.
Die Fremdsprache kann eine zusätzliche Ebene schaffen
In internationalen Schulprogrammen kommt häufig noch ein weiterer Faktor hinzu.
Ein Schüler muss möglicherweise:
- eine Aufgabenstellung auf Deutsch oder Englisch verstehen;
- daraus das mathematische Problem rekonstruieren;
- den mathematischen Lösungsweg finden;
- diesen Lösungsweg algorithmisch strukturieren;
- ihn anschließend in Python ausdrücken.
Dann handelt es sich nicht mehr um eine einzelne Schwierigkeit.
Mehrere Repräsentationssysteme greifen ineinander:
Sprache → Mathematik → Logik → Code
Ein Fehler im Programm kann deshalb viel früher entstanden sein.
Vielleicht wurde ein mathematischer Begriff sprachlich falsch interpretiert.
Vielleicht wurde die Bedingung der Aufgabe nicht vollständig verstanden.
Vielleicht stimmt die Mathematik, aber die Reihenfolge der Operationen wurde beim Programmieren verändert.
Deshalb reicht die Diagnose „Der Schüler kann Python nicht“ häufig nicht aus.
Was ein guter Unterricht hier leisten muss
Die wichtigste Frage lautet nicht sofort:
Welchen Python-Befehl brauchst du?
Oft sind andere Fragen produktiver:
Was genau soll das Programm berechnen?
Welche Informationen haben wir am Anfang?
Welches Zwischenergebnis brauchen wir zuerst?
Wovon hängt der nächste Schritt ab?
Kannst du den Lösungsweg erklären, ohne eine einzige Zeile Code zu schreiben?
Wenn der Schüler diese Struktur formulieren kann, wird der eigentliche Python-Code häufig wesentlich einfacher.
Der Unterricht verbindet dann Mathematik und Programmierung nicht oberflächlich.
Er arbeitet an der entscheidenden Schnittstelle zwischen beiden:
Wie wird aus einer Idee eine ausführbare Folge von Schritten?
Mathematik + Logik + Programmierung
Bei Levitin Language School / Language Learnings betrachten wir solche Aufgaben deshalb nicht als isolierte „Python-Probleme“.
Je nach Schüler kann der Schwerpunkt unterschiedlich liegen:
- mathematisches Verständnis;
- logische Zerlegung einer Aufgabe;
- algorithmisches Denken;
- Python;
- oder die Sprache, in der Mathematik und Informatik gelernt werden.
Gerade bei internationalen Schülern ist diese Unterscheidung wichtig.
Ein Schüler braucht nicht automatisch mehr Formeln, mehr Code oder mehr Vokabeln.
Zuerst muss geklärt werden, an welcher Stelle die Kette tatsächlich unterbrochen wird.
Denn wer eine Aufgabe auf Papier lösen kann, hat bereits einen wichtigen Teil des Problems verstanden.
Der nächste Schritt besteht darin, dieses oft implizite Denken so präzise zu machen, dass auch ein Computer ihm folgen kann.
Und genau dort beginnt algorithmisches Denken.
Mehr erfahren
Levitin Language School verbindet Sprachunterricht, akademische Fächer und integriertes Language + Subject Learning. Dadurch können Mathematik, Informatik und logisches Denken nicht nur isoliert, sondern bei Bedarf auch in der Sprache des jeweiligen Schul- oder Studienprogramms bearbeitet werden.
Levitin Language School:
https://levitintymur.com/
Language Learnings:
https://languagelearnings.com/
Tymur Levitin
Gründer & Direktor
Levitin Language School / Language Learnings
Globales Lernen. Persönlicher Ansatz.
© Tymur Levitin. Alle Rechte vorbehalten.
