
Projektwebsite: https://feli10.github.io/math-coding/
Im Jahr 2022 beauftragten mich meine Eltern, meinem jüngeren Bruder die Mathematik der Grundschule zu lernen. Zu dieser Zeit war er sechs Jahre alt und ich war ein Neuling in der High School. Um dieses Projekt anzugehen, formulierte ich einen Plan - nachdem er jede Einheit in seinem Mathematik -Lehrbuch abgeschlossen hatte, würde ich ihm 1-2 Codierungsübungen, die in Python geschrieben geschrieben wurden, entwerfen und zuweisen, die sich eng auf den Inhalt des Geräts beziehen. Mit diesem Ansatz, der Mathematik und Codierung kombiniert, gelang es uns, alle zwei Monate einen Durchschnitt der Kursarbeit eines Semesters abzuschließen. In etwa einem Jahr hatten wir den Mathematiklehrplan der chinesischen Grundschule von drei bis fünf Klassen abgeschlossen.
Die Projektbibliothek enthält 60 Python -Programme, die wir im Laufe des Jahres geschrieben haben, darunter 22 mit grafischen Benutzeroberflächen und 38 mit Befehlszeilenschnittstellen. Diese Programme decken alle 49 Einheiten vom dritten bis fünften chinesischen Mathematik-Lehrbücher der People's Education Press ab. Die Datei math_coding_handbook.pdf enthält die wichtigsten mathematischen Themen für jede Einheit und Beschreibungen der entsprechenden Programme. Wir haben auch detaillierte Dokumentation und Kommentare in alle Programme aufgenommen.
Graphical User Interface | Command Line Interface |
|---|---|
![]() | ![]() |
Alle Programme und das Lernhandbuch haben separate Versionen in Englisch und Chinesisch. Das _en -Verzeichnis enthält die englische Version mit allen grafischen Anzeigen und Programmkommentaren in englischer Sprache. Das _cn -Verzeichnis enthält die chinesische Version mit allen grafischen Anzeigen und Programmkommentaren in Chinesisch.

Laden Sie math_coding_handbook.pdf herunter (englische Version)
Download math_coding_handbook.pdf (chinesische Version)
Durch dieses Projekt haben mein Bruder und ich in der Praxis bewiesen, dass das Erlernen der Grundschule mit Codierung die Lernenden ermöglicht, die Mathematik effizient und effektiv zu studieren und gleichzeitig gleichzeitig eine Programmiersprache zu erfahren.
Um die Grundschule mathematisch mit Codierung durch dieses Projekt effektiv zu lernen, müssen Folgendes Folgendes benötigen:
Es gibt zwei Möglichkeiten, dieses Projekt zu verwenden:
Als mein jüngerer Bruder Henry im Jahr 2022 sechs Jahre alt war, baten mich meine Eltern, vorübergehend seine Mathematik und englische Ausbildung zu übernehmen. Zu dieser Zeit war ich zehn Jahre älter als er und in meinem ersten Schuljahr. Das ursprüngliche Ziel, auf das wir uns einigten, war, dass ich ihm helfen würde, die Grundschule zu vervollständigen und ein Maß an Englischkenntnissen zu erreichen, wo er sich unabhängig verbessern konnte. Da ich der Beste in der Familie in Englisch war, gab es nicht viele Unsicherheiten darüber, aber wie würde ich ihm Mathematik beibringen?
Ich habe die Grundschule Mathematik abgeschlossen, als ich neun Jahre alt war. Rückblickend erinnere ich mich, dass ich viele Lehrbücher gelesen, viele Übungsprobleme gemacht und einige Scheintests durchgeführt habe. Nach einigen Überlegungen erkannte ich, dass Henry, der erst sechs Jahre alt war, einen anderen Ansatz brauchte. Basierend auf meiner Lernerfahrung, wenn jemand ständig mit einer bestimmten Art von Mathematikproblemen zu kämpfen hat, liegt dies normalerweise daran, dass er ein tiefes Verständnis der zugrunde liegenden Konzepte fehlt. Der Zweck der Ausführung von Praxisproblemen sollte darin bestehen, diese Schwächen zu identifizieren und anzugehen. Wenn man jedoch Probleme sinnlos übt, erscheinen immer wieder die gleichen Fehler. Aus diesem Grund ist es oft keine effiziente Möglichkeit, neue mathematische Themen zu lernen. Daher wollte ich einen Ansatz finden, der es Henry ermöglichen würde, alle mathematischen Konzepte und Fähigkeiten, die er lernen muss, gründlich zu verstehen, bevor er in eine umfangreiche Problemlösung eintaucht.
Die Hauptinspiration für die Kombination von Mathematik und Codierung ergab sich aus der Belastung von Mathematikkursen auf hoher Ebene im Rahmen eines Forschungsprojekts für maschinelles Lernen. Während ich die Kurse belegte, stellte ich fest, dass die Verwendung von Programmierwerkzeugen zum Erlernen der Mathematik auf Universitätsebene weit verbreitet und sehr effektiv war. Beim Lernen Kalkül, lineare Algebra und Statistiken wurde die Programmierung verwendet, um mathematische Experimente durchzuführen und praktische Probleme zu lösen. In Verbindung mit der Visualisierung der Ergebnisse wurde mein Verständnis der abstrakten mathematischen Konzepte und Theoreme stark unterstützt. Später fand ich mit Hilfe der Programmierung auch einige Ressourcen für das Erlernen der Mathematik der Mittelschule. Ich habe jedoch nie etwas Ähnliches für die Mathematik der Grundschule gefunden.
Nachdem ich meine Idee mit Henry besprochen hatte, wurde das Projekt "Mathematik" Learnary School mit Coding "geboren.
Zusätzlich zum einjährigen Projekt mit Henry haben wir mehrere „Programmierwochenende“-Veranstaltungen organisiert, bei denen ich Gruppen von 5-10 Kindern dazu führte, Mathematik mit Programmierung zu lernen. Da diese Ereignisse recht erfolgreich waren, kann dieses Projekt mehr Kindern zugute kommen - so dass sie mit verbesserten Lernergebnissen effizient lernen und gleichzeitig mit Programmierfähigkeiten ausgestattet sind.
Für Kinder, die dem Schullehrplan folgen, hoffen wir, dass dieses Projekt ihnen helfen kann, ihre Mathematik- und Programmierfähigkeiten zu verbessern. Wir hoffen auch, dass dieses Projekt denjenigen, die ihr mathematisches Lernen wie Henry beschleunigen möchten, dies erlaubt. Ein Vorteil des beschleunigten Lernens besteht darin, dass das Wissen über grundlegende Mathematik die Entwicklung der frühen Interessen erleichtern kann. Zum Beispiel hat Henrys mathematische Fähigkeiten sein Musiklernen stark unterstützt und es seinem musikalischen Interesse und seinem Talent erlaubt, sich frühzeitig zu entwickeln.
Ich hoffe, dieses Projekt kann den Menschen einen neuen Ansatz zum Erlernen der Mathematik bieten und denjenigen, die es verwenden, mehr Möglichkeiten bieten. Wenn Sie Fragen oder Vorschläge zum Projekt haben, können Sie mich an mich an diese E-Mail kontaktieren: [email protected].
Die Organisation der Verzeichnisse ist identisch mit der Grundschule Chinesische Mathematik -Lehrbücher der People's Education Press. Für den Verzeichnisnamen g311_time wird beispielsweise der "G311" zu Beginn festgestellt, dass das Verzeichnis der Einheit 1 des Semesters 1 des Lehrbuchs der Klasse 3 entspricht.
Der Text nach der Kennung zeigt den Hauptlerninhalt der Einheit an. Bei der G311 -Einheit geht es hauptsächlich um Zeit, sodass der Verzeichnisname dieser Einheit g311_time lautet.
Jedes Verzeichnis enthält 1-2 Python-Programmdateien. Die Namen der Programme weist auf ihren Inhalt hin. Zum Beispiel enthält g311_time zwei Programme: clock.py , auf dem eine funktionierende analoge Uhr angezeigt wird, und digital_clock.py , auf der eine funktionierende digitale Uhr angezeigt wird.
Die Datei math_coding_handbook.pdf im _en -Verzeichnis enthält Beschreibungsseiten für alle 60 Programme in 49 Einheiten von den Klassen 3 bis 5. Jede Programmbeschreibung enthält die folgende:

Alle Programme enthalten am Anfang eine detaillierte Dokumentation und nützliche Kommentare.

Das Lernhandbuch und alle Programme haben separate englische und chinesische Versionen. Die Verzeichnisse _en und _cn sind auf die gleiche Weise organisiert, aber mit Inhalten in englischer und chinesischer Sprache.
Einige Programme in der Codebibliothek enthalten Verweise auf einander. Daher empfehlen wir das Herunterladen der gesamten Codebibliothek vor der Verwendung.
Ein paar Hinweise zum mathematischen Inhalt des Programms:
Alle mathematischen Einheiten befinden sich in SI (International System).
Die Anzeige der vertikalen Formarithmik in bestimmten Programmen basiert auf den in chinesischen Lehrbüchern gezeigten vertikalen Formen.

| Einheit ID | Einheitsname | Programm (en) |
|---|---|---|
| G311 | Zeit sagen - Stunden, Minuten und Sekunden | 1. Analoguhr 2. Digitaluhr |
| G312 | 2stellige Addition und Subtraktion | Üben Sie die 2-stellige Addition und Subtraktion |
| G313 | Messungen | Konvertierung der Einheit |
| G314 | Vertikale Addition und Subtraktion | 1. Vertikale Zugabe 2. Vertikale Subtraktion |
| G315 | Multiplikationswortprobleme | Üben Sie Multiplikationswortprobleme |
| G316 | Kurze Multiplikation | Kurze Multiplikation |
| G317 | Rechtecke und Quadrate | Rechteckklasse erstellen |
| G318 | Brüche verstehen | Üben Sie beim Vergleich von Brüchen |
| G319 | Sets | Operationen festlegen |
| G321 | Orientierungen | Üben Sie die Identifizierung von Orientierungen |
| G322 | Kurze Division | Kurze Division |
| G323 | Tische | Erstellen und Anzeigen von Tabellen |
| G324 | 2-stellige lange Multiplikation | Lange Multiplikation 1 |
| G325 | Bereich | Verbessern Sie die Rechteckklasse - Berechnen Sie den Bereich und zeichnen Sie Rechtecke |
| G326 | Jahre, Monate und Tage | Kalender anzeigen |
| G327 | Dezimalstellen verstehen | 1. Dezimalpraxis 1 2. Visualisierung von Dezimalstellen |
| G328 | Kombinationen | Drei übliche Zählprobleme |
| G411 | Arbeiten mit großen Zahlen | Lesen Sie eine natürliche Zahl vor |
| G412 | Große Einheiten | Umwandlung der Einheit des Übungsbereichs |
| G413 | Messwinkel | Zeichnen Sie die Uhr Zifferblatt |
| G414 | 3-stellige lange Multiplikation | Lange Multiplikation 2 |
| G415 | Parallelogramme und Trapezoide | Trapez zählen |
| G416 | Lange Division | Lange Division |
| G417 | Balkendiagramme | 1. Erstellen von Balkendiagrammen mit Matplotlib 2. Erstellen der Unterklasse der Tabellenklasse, um Balkendiagramme zu zeichnen |
| G418 | Optimierung | Spiel zählen |
| G421 | Operationsreihenfolge | Arithmetische Ausdrücke bewerten |
| G422 | Objekte beobachten | Drei Ansichten von Würfeln |
| G423 | Grundgesetze des Betriebs | Lösen Sie 24 |
| G424 | Bedeutung und Eigenschaften von Dezimalstellen | Dezimalpraxis 2 |
| G425 | Dreiecke | 1. Zeichnen Sie iszelische Dreiecke 2. Zeichnen Sie reguläre Polygone |
| G426 | Addition und Subtraktion von Dezimalstellen | Addition und Subtraktion von Dezimalstellen in vertikaler Form |
| G427 | Reflektierende Symmetrie | Erzeugen reflektierende symmetrische Formen |
| G428 | Mittelwert und gruppierte Balkendiagramme | Mittelwert und gruppierte Balkendiagramme |
| G429 | Huhn- und Kaninchenproblem | Huhn- und Kaninchenproblem |
| G511 | Dezimalvervielfachung | Lange Multiplikation von Dezimalstellen |
| G512 | Position | 1. Eingaberokoordinaten basierend auf Positionen 2. Klicken Sie auf Positionen basierend auf Koordinaten |
| G513 | Dezimalabteilung | 1. Lange Abteilung von Dezimalstellen 2. Üben Sie die Umwandlung gemeinsamer Brüche in Dezimalstellen |
| G514 | Wahrscheinlichkeit | 1. Zufällige Auswahl mit Gewichten 2. Summe von zwei Würfelrollen |
| G515 | Einfache Gleichungen | Lösen von Hühnchen- und Kaninchenproblemen mit Gleichungen |
| G516 | Fläche von Polygonen | Polygonklassen mit Flächeneigenschaften |
| G517 | Baumpflanzungsproblem | Baumpflanzungsproblem |
| G521 | Objekte beobachten 2 | Drei Ansichten von Cubes V2 |
| G522 | Faktoren und Vielfachen | 1. Holen Sie sich Primzahlen 2. Goldbach -Vermutung |
| G523 | Quader und Würfel | 1. Quadersklasse mit Einheiteneigenschaft 2. Umwandlung von Volumeneinheit Übung |
| G524 | Bedeutung und Eigenschaften von Brüchen | 1. Größter gemeinsamer Divisor und am wenigsten gemeinsames Multiple 2.. Konvertieren Sie die Dezimalzahlung in den einfachsten Bruch |
| G525 | Drehung | Drehung |
| G526 | Addition und Subtraktion von Brüchen | Addition und Subtraktion von Brüchen |
| G527 | Zeilendiagramme | Verbesserung der Datenklasse, um Multi-Line-Diagramme zu zeichnen |
| G528 | Identifizieren Sie den Ausreißer | Identifizieren Sie den Ausreißer |
Das Ziel von Programmen in diesem Projekt ist es, die Methoden zur Problemlösung des Menschen in Maschinensprache (dh Python-Programme) so klar und explizit wie möglich zu übersetzen. Dies ist hauptsächlich auf die folgenden Überlegungen zurückzuführen:
Daher haben wir für die meisten unserer Programme die Ergebnisse über die Effizienz priorisiert. Wenn jedoch auf Szenarien stoßen, in denen die Laufzeit stark von Eingabedaten beeinflusst wird, werden die Lernenden dazu geführt, verschiedene Programmiermethoden mit unterschiedlichen Effizienzsteigerungen auszuprobieren.
Laden Sie den Python -Installateur von der offiziellen Website von Python (geeignet für verschiedene Betriebssysteme) herunter. Überprüfen Sie bei Windows -Benutzern die Option "Python.exe to Pfad hinzufügen" während der Installation.

Installieren Sie Anaconda oder Miniconda (geeignet für verschiedene Betriebssysteme). Conda ist ein Open-Source-Paket- und Umgebungsmanagementsystem. Die Installation von Conda installiert auch Python und einige häufig verwendete Module.
Verwenden Sie Homebrew, um Python zu installieren (geeignet für MacOS- und Linux -Betriebssysteme). Homebrew ist ein Open-Source-Paketverwaltungssystem. Wenn Homebrew bereits in Ihrem System installiert ist, können Sie den folgenden Befehl verwenden, um Python zu installieren:
brew install python-tkLeerlauf (integrierte Entwicklungs- und Lernumgebung) ist das integrierte Programmierwerkzeug für Python. Es enthält einen interaktiven Interpreter- und Code -Editor. Der Idle hat nur Funktionen für bloße Knochen, daher wird empfohlen, einen leistungsstärkeren Code-Editor wie VS-Code zu verwenden.

VS -Code (Visual Studio Code)

Ein interaktiver Python-Interpreter, der auch als Shell bezeichnet wird, ist eine sehr nützliche Befehlszeilenschnittstelle, in der Sie jeden Python-Ausdruck eingeben können, und die Ergebnisse werden sofort auf dem Bildschirm angezeigt. Der Dolmetscher ist ideal für das Experimentieren mit kleinen Codeausschnitten, z. B. das Testen der integrierten Datentypen oder -funktionen. Es wird empfohlen, beim Programmieren nicht nur Code im Code -Editor einzugeben, sondern auch gleichzeitig einen interaktiven Interpreter geöffnet. Auf diese Weise können Sie die Ergebnisse sofort im Interpreter experimentieren und überprüfen, wenn das Ergebnis eines Ausdrucks ungewiss ist.
Sie können auf folgende Arten auf den interaktiven Dolmetscher von Python zugreifen:
Für MacOS- oder Linux -Benutzer können Sie python in das Terminal eingeben, um auf den interaktiven Dolmetscher zuzugreifen. Wenn das System python nicht erkennt, können Sie python3 probieren.

Windows -Benutzer können auf den interaktiven Interpreter zugreifen, indem Sie im Menü auf "Python" klicken oder python in das Eingabeaufforderungfenster (CMD.EXE) eingeben. Wenn das System python nicht erkennt, können Sie python3 oder py ausprobieren.
Das integrierte Programmierwerkzeug in Python öffnet beim Start direkt den interaktiven Dolmetscher.

Sie können über das integrierte Terminal oder das interaktive Fenster von VS Code auch auf den interaktiven Interpreter zugreifen.
Module oder Pakete wie Turtle und Tkinter sind Teil der Python Standard Library und werden mit Python vorinstalliert, sodass keine zusätzliche Installation erforderlich ist.
Matplotlib ist eine beliebte Python -Datenvisualisierungsbibliothek und kann mit den folgenden Methoden installiert werden:
Installieren Sie mit dem pip -Modul von Python. Wenn das System python nicht erkennt, können Sie python durch python3 oder py (für Windows -Benutzer) in den folgenden Befehlen ersetzen:
python -m pip install -U matplotlib Wenn Conda installiert ist, können Sie den conda -Befehl zur Installation verwenden:
conda install matplotlibPygame ist eine beliebte Python Game Development Library. Das G512 -Programm "Koordinatenspiel" verwendet das Soundmodul aus Pygame. Sie können es auf ähnliche Weise wie Matplotlib installieren:
Installieren Sie mit dem pip -Modul von Python:
python -m pip install -U pygame Wenn Conda installiert ist, können Sie den conda -Befehl zur Installation verwenden:
conda install pygame⏫ Zurück nach oben