Einführung
Eine Sache vorweg: Ich bin weder Informatiklehrkraft, noch bin ich erfahrener Programmierer. Trotzdem war ich begeistert davon, mit wie wenig Vorerfahrung es möglich ist, Python im Physikunterricht einzusetzen.
Zu Beginn des ersten Jahres der gymnasialen Oberstufe (Einführungsphase) steht man bei uns vor der Herausforderung, dass zur Lösung vieler mechanischer Probleme, von der beschleunigten Bewegung, bis zur Raketengleichung eigentlich Wissen in Integral- und Differenzialrechnung nötig ist, welches aber zu diesem Zeitpunkt nicht vorhanden ist.
Ein Lösungsansatz liegt in der Verwendung von Tabellenkalkulationsprogrammen. Hier ein einfaches Beispiel:
Ein Fahrzeug beschleunigt mit 2 m/s², es wird also jede Sekunde 2 m/s schneller. Wir wollen jetzt wissen, wie weit es in 10 s gefahren sein wird.
In der Tabellenkalkulation können wir jetzt nähern, dass das Auto die erste Sekunde mit 0 m/s, die 2. mit 2 m/s, die 3. mit 4 m/s usw. fährt. Das wird natürlich ungenau, da das Fahrzeug ja kontinuierlich schneller wird. Wir zerlegen es also in kleine Schritte, von 0,1 s oder 0,01 s. Damit wird es zwar beliebig genau, aber unsere Tabelle wird auch beliebig lang.
Eleganter wird das ganze mit Python und einer einfachen "while"-Schleife# Beschleunigte Bewegung
x=0 # Der Startpunkt
v=0 # Die Startgeschwindigkeit ist
t=0 # Die Zeit startet normalerweise bei 0
dt=0.01 # Hier kann das Intervall für die Berechnung gewählt werden
a=2 # Die gewählte Beschleunigung
while(t<=4): # Hier wird die betrachtete Zeit angegeben
v=v+a*dt # Die Berechnung der Geschwindigkeit für das nächste Intervall
x=x+dt*v # Die neue Position
t=t+dt # Der neue Zeitpunkt
print("x=", x)
Dies ist natürlich eine sehr, sehr schlichte Lösung, aber sie lässt sich schon mit minimalen Programmierkenntnissen erreichen. Schülerinnen und Schüler mit fortgeschrittenen Kenntnissen können hier natürlich auch eine Abfrage der Variablen einbauen, oder eine Wertetabelle für die Ergebnisse.
Mein Ziel besteht darin, auch Menschen, die eigentliche keinen Bezug zum Programmieren haben, einen niederschwelligen Erstkontakt zu bieten und im besten Fall auch Freude am Programmieren zu wecken.
Wenn das Prinzip verstanden wurde, kann man das Programm auch leicht für andere Probleme, wie zum Beispiel Würfe oder den Treffpunkt zweier Züge anpassen. Wenn die Züge aufeinander zu fahren, muss der Körper 2 eine negative Geschwindigkeit bekommen.# Wann treffen sich zwei Körper?
dt = 0.1
v1 = 6.75 # Geschwindigkeit Körper 1
v2 = 2.13 # Geschwindigkeit Körper 2
x1 = 0 # Startpunkt Körper 1
x2 = 2000 # Startpunkt Körper 2
t = 0
while x2>x1: # Körper 1 hat Körper 2 eingeholt
x1 = x1 + v1*dt
x2 = x2 + v2*dt
t = t + dt
print(x1,"m", t, "s")
Auch im Mathematikunterricht ist der Einsatz denkbar. Zum Beispiel für Näherungsverfahren oder Simulationen zu Statistik.
Um eine Verwendung auf möglichst vielen Plattformen zu ermöglichen, habe ich im Unterricht die browsergestützte IDE https://pythononline.net/ genutzt.
Erfahrung
Von der Schülerschaft gab es vorwiegend positives Feedback: Schülerinnen und Schüler mit Vorerfahrungen haben sich gefreut, das Gelernte in neuem Kontext anwenden zu können und selbst Schülerinnen und Schüler, die noch nie programmiert hatten, waren stolz auf ihre ersten Programme. Wenn der Zeitrahmen es zulässt, werde ich das Projekt so weiterführen.
Titelbild: https://pixabay.com/photos/to-learn-school-pupil-mathematics-1996845/
Ich erinnere mich noch, wie verpöhnt und belächelt Interpretersprachen waren. Mit Basic geht das auch. Aber wenn ich ehrlich bin, habe ich die Welt nie so richtig verstanden und tue es nach 55 Jahren immer noch nicht.
VG
Im Prinzip ein Forwärts-Euler-Verfahren. Das ist sehr gut um sich etwas in Numerik und auch Grenzwertprozesse (ohne dass es viel Abstraktionsprache braucht) durch Herumspielen an den Parametern hineinzudenken. Auch der Schritt von der Tabelle zum Programm, hier dann ein gewisser Abstraktionsschritt, ist sehr schön. Und dann nach dem Auto irgendwann mal die Rakete oder das Pendel .. super!
Die Rakete habe ich nicht mehr in den Artikel genommen, aber auch die war Teil des Projektes, ebenso die Optimierung des schiefen Wurfs.
Maga! Bitte mehr davon . m.