Physik mit JavaScript
Konzept
In der 7. Jahrgangsstufe wird nach dem bayerischen Lehrplan für Gymnasien Physik und Informatik im Fach Natur und Technik gemeinsam unterrichtet.
Zentraler Inhalt der Informatik sind dabei Hypertexte und Algorithmen, so dass sich JavaScript als Programmiersprache zu HTML (HyperTextMarkupLanguage) eigentlich aufdrängt, von der Informatik-Didaktik aber nicht gefördert wird..
Am Bildschirm simulierte Bewegungen stellen für die Schüler*innen eine ideale Motivation für die Umsetzung von Algorithmen mit JavaScript dar.
Unterstützung findet dieser Ansatz in der Programmierumgebung Scratch und dem Mathematik-Programm Geogebra.
Physikalische Simulationen im Internet (Phet, Walter Fendt) arbeiten ebenfalls mit JavaScript.
Außerdem lassen sich in einem Browser mit HTML und JavaScript unabhängig von Programmen wie z.B. Tabellenkalkulation oder Geogebra Werte berechnen und Formeln darstellen.
Um das Fach Informatik zu unterstützen, sollte auf objektorientierte Programmierung geachtet werden. Inzwischen kann in JavaScript, wie auch in der Weiterentwicklung TypeScript, genauso wie in Java mit einer Konstruktormethode und sogar zusätzlich mit Klassen gearbeitet werden (Allerdings basiert JavaScript grundsätzlich auf Objekten und nicht auf Klassen.)
Innerhalb der Einführung in JavaScript werden bereits einige physikalische Programme entwickelt, die durch weitere Beispiel in nebenstehenden Menüergänzt werden.
Programmierung mit JavaScript
Kopiert man den JavaScript-Quellcode der Beispiel-Programme in einen online Web-Editor, der den gesamten Code ausführen und anzeigen kann (wie z.B. w3schools.com) oder speichert ihn mit einem Text-Editor wie Notepad von Windows als HTML-Datei ab (nicht als TXT-Datei!) werden die Programme ausgeführt.
Da Änderungen am Quellcode im Anzeige-Fenster eines online Web-Editors sofort sichtbar sind, hilft den Schülerinnen und Schülern den Quellcode besser zu verstehen. ansonsten muss die abgespeicherte HTML-Datei in einem Browser aufgerufen und angezeigt werden.
Die Programmierung mit JavaScript soll langfristig der Motivation dienen, selbst Quellcode zur Animation und Berechnung physikalischer Zusammenhänge zu entwickeln, um damit zum einen Physik, aber auch das Modellieren von Problemstellungen durch das Aufstellen von Algorithmen, zu erlernen.
Animationen in JavaScript
window.requestAnimationFrame(Wiederholung) ist eine Methode in JavaScript des Objekts window (darf weggelassen werden), welche die Funktion mit dem Namen Wiederholung immer wieder aufruft.
requestAnimationFrame gibt einen Wert zurück, mit dem durch window.cancelAnimationFrame(Wert) die Wiederholung beendet wird.
Wird die Animation nicht gestoppt oder die Methode bekommt beim Aufruf nicht die richtigen Zeitinformationen für die Wiederholung (z.B. durch einen neuen Aufruf der Datei) wird die Animation leider immer schneller (komplizierte Erklärung in MDN)