10:00
Mathematikverständnis stärken in Zeiten von KI
Workshop Gesellschaft für Didaktik der Mathematik Schweiz
Was wir heute erreichen möchten:
- show and tell
- Ideen für die LP-Ausbildung
- Ideen und Wünsche für Unterrichtsmaterial
- einen angenehmen Austausch
Sneak Peak
import random
import time
anzahlRichtige = 0
while anzahlRichtige < 10:
startzeit = time.time ()
x = int (50000 * random.random())
y = int (50000 * random.random())
z = x+y # korrekte Lösung = z
Lösung = input("Was ergibt " + str (x) + " + " + str(y) + "? ")
endzeit = time.time()
anzahl_sekunden = int (endzeit - startzeit)
if int(Lösung) < z*1.03 and int (Lösung) > z*0.97:
anzahlRichtige = anzahlRichtige + 2
print("sehr gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
elif int(Lösung) < z*1.06 and int (Lösung) > z*0.94:
anzahlRichtige = anzahlRichtige + 1
print("gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
else:
print("Zu ungenau, dass wäre die korrekte Lösung: " + str (z) + " , du hast " + str(anzahl_sekunden) + " Sekunden gebraucht.")
print (anzahlRichtige)
Ausgangslage
Lehrplan 21 M&I
können Programme mit Schleifen, bedingten Anweisungen und Parametern schreiben und testen.
können selbstentwickelte Algorithmen in Form von lauffähigen und korrekten Computerprogrammen mit Variablen und Unterprogrammen formulieren.
Lehrplan 21 M&I
Grundansprüche müssen erfüllt sein, damit die Basis für das Weiterlernen im Fachbereich gelegt ist.
Der Elephant im Raum 🐘
Registration and Access Minimum Age. You must be at least 13 years old or the minimum age required in your country to consent to use the Services. If you are under 18 you must have your parent or legal guardian’s permission to use the Services.
(openai?)
Hands on!
Tools
Wir benutzen heute folgende Webseiten:
- https://www.online-python.com/
- https://chat.openai.com/ (benötigt Account)
Selbst ausprobieren
- Primzahlen finden mit Sieb des Erathostenes
- Primzahlzerlegung
- Ggt, kgV
- Brüche addieren
- …
Probiert eigene Ideen aus.
Mathematikverständnis stärken
Was denken andere?
Ich empfand Mathematik als anstrengend, weil sie einen ungeheuer kreativen Umgang mit lose definierten formalen Systemen erfordert, während einem die Informatik Kreativität mit streng definierten formalen Systemen abverlangt.
Interessante Diskussionen
- Wie unterscheidet sich der Begriff “Funktion” und “Variable” in Mathematik und Informatik?
- Was ist besser:
- Differenz als Summe mit negativen Zahlen?
- Differenz als Umkehroperation der Addition?
Weitere Ideen sammeln
https://phbern.padlet.org/richardconrardy/workshop-gdm-f7fukgt5ggad1j13
Aufgaben erstellen?
Es folgt ein Python-Programm, welches mit Ihnen das Überschlagen von Summen und Differenzen von Dezimalzahlen übt.
Eine “sehr gute” Lösung liegt +/- 3% von der richtigen Lösung weg, eine “gute” Lösung liegt +/- 6% von der richtigen Lösung weg.
Üben Sie, bis Sie regelmässig gute Lösungen erreichen.
Herausforderung: Schreiben Sie das Programm selbst! Benutzen Sie dazu die random library mit import random und generieren Sie eine zufällige Zahl zwischen 0 und 1 mit random.random() und mit random.choice(+,-) eine zufällige Operation.
Herausforderung: Bauen Sie eine Stoppuhr in den Code ein, welche die Zeit bis zur Antwort zählt und ausgibt. (Tipp: import time und time.time() gibt die Zeit in Unixzeit aus.)
Code von Studentin
import random
import time
anzahlRichtige = 0
while anzahlRichtige < 10:
startzeit = time.time ()
x = int (50000 * random.random())
y = int (50000 * random.random())
z = x+y # korrekte Lösung = z
Lösung = input("Was ergibt " + str (x) + " + " + str(y) + "? ")
endzeit = time.time()
anzahl_sekunden = int (endzeit - startzeit)
if int(Lösung) < z*1.03 and int (Lösung) > z*0.97:
anzahlRichtige = anzahlRichtige + 2
print("sehr gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
elif int(Lösung) < z*1.06 and int (Lösung) > z*0.94:
anzahlRichtige = anzahlRichtige + 1
print("gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
else:
print("Zu ungenau, dass wäre die korrekte Lösung: " + str (z) + " , du hast " + str(anzahl_sekunden) + " Sekunden gebraucht.")
print (anzahlRichtige)