Scientific computing met Python

Arc

Wil jij een bèta-studie gaan doen en heb je natuur- en wiskunde in je pakket? Of ben je gewoon heel erg geïnteresseerd in programmeren? In dit programma leer je de basis van programmeren met het wereldwijd groeiende Python; een objectgeoriënteerde programmeertaal met grenzeloze mogelijkheden, en ga je dit gebruiken om je eigen simulatie-game te bouwen.

Let op: voor deze mastermodule geldt vol = vol, schrijf je dus snel in!


DoelgroepBovenbouw Havo en VWO met natuurkunde en wiskunde
Aantal deelnemers20 leerlingen
Periode1 & 2
LengteEen uur per week
Tijdstipwoensdag het 8e uur (op hetzelfde moment is ook de module voor gevorderden – zie de module programmeren voor gevorderden)
WerkvormBegeleide werklessen op eigen CB waarop in de eerste les de software zal worden geïnstalleerd
DocentenJeroen van Tilburg en Wouter Koning

In dit volledig vernieuwde programma leer je de basis van programmeren in Python en gebruik je dit vervolgens voor het opzetten van een eigen programmeerproject. Het programma loopt in periode 1 en 2 waarin verschillende onderwerpen aan bod zullen komen. In periode 1 wordt de droge basis behandeld, en in periode 2 ga je dit toepassen in eigen kosmische simulaties en visualisaties. Als je al ervaring hebt met programmeren of je hebt deze cursus eerder gedaan, dan kun je de eerste stappen sneller, in je eigen tempo, doorlopen. De opzet van de cursus is als volgt:

Periode 1

In periode 1 ga je basisprincipes van programmeren verkennen. Wij gebruiken Python, een wereldwijd groeiende programmeertaal, met dezelfde principes als andere talen (zoals Java, C#, JavaScript, C++, etc)

  • Python en Visual Studio Code installeren op je Chromebook
  • Variabelen en types 
  • basis rekenkundige functies
  • Input en output 
  • functies en condities
  • Loops en iteratoren
  • Eenvoudige “algoritmen” schrijven

Periode 2

In dit project ga je met behulp van een duidelijke stap-voor-stap instructie een “engine” maken om interactieve fysische simulaties te kunnen uitvoeren en tegelijkertijd “live” op je beeldscherm te visualiseren. Je leert hierbij objectgeorienteerd te programmeren. Je gaat helemaal zelf een game maken waarbij zoveel mogelijk aan alle natuurwetten zal worden voldaan om realistische situaties na te kunnen bootsen. Je begint met een eenvoudige simulatie-game met een aarde die je als speler kunt bewegen om een op hol geslagen maan te “vangen” door deze in een baan om de aarde te manoeuvreren. Deze “engine” ga je vervolgens gebruiken om zelf complexere simulatie-games  te bouwen. Hiermee kun je bijvoorbeeld simuleren hoe een reuzenkomeet planeet aarde uit het zonnestelsel kan slingeren zonder de aarde aan te raken, of hoe een zonnestelsel kan ontstaan uit een gaswolk die onder invloed van gravitatiekracht in elkaar klapt tot een zonnestelsel met roterende planeten eromheen.

Een gravitatie-simulatie waarbij de aarde met de pijltjestoetsen wordt gestuurd om een passerende maan met zijn gravitatiekracht te “vangen”.

LEERDOELEN

Aan het eind van deze lessenserie kun je: 

  • Een programmeertaal aansturen met een integrated development environment (IDE) vanuit waar je codes kunt schrijven en uitvoeren.
  • objectgeoriënteerd programmeren in Python (en daarmee ook in C#, JavaScript, etc).
  • Gestructureerd een project opzetten waardoor je overzichtelijk complexiteit kan toevoegen. 
  • Zelf achter meer functionaliteit en mogelijkheden van een programmeertaal komen.