Physlets — configureerbare simulaties voor het natuurkunde-onderwijs

Werkgroep 4

F.F. Schweickert

Amstel Instituut, Universiteit van Amsterdam

Multimedia in het natuurkunde-onderwijs

Dit kort verhaal over de simulatietechniek Physlets begint met een onderwijskundige redenatie en wordt vervolgens steeds technischer voor diegenen die eigen simulaties voor hun leerlingen willen opzetten. Dus kunnen sommige lezers het einde van deze tekst eerst even vluchtig doorlezen en bij een andere gelegenheid in detail herlezen.

Er bestaat enige verwarring over de begrippen rond het ICT-gebruik (digitale informatie- en communicatietechnologie) in het natuurkundeonderwijs: simulaties, animaties, applets, virtuele of computer experimenten, modelleren, enz. Ik stel hier zonder wetenschappelijke referenties een grove indeling voor om met name de physlettechnologie in een vakdidactische samenhang te kunnen plaatsen. Natuurkunde luistert naar de natuur zelf (empirie) en trekt logische conclusies uit veronderstellingen (theorie). ICT wordt empirisch gebruikt tijdens het meten met computerinterfaces of bij het videometen (zoals bij Coach). Voor een groot deel empirisch zijn verder de interaktive bildschirmexperimente (IBE) van de Technischen Universität te Berlijn, omdat hier echte experimenten multimediaal worden geconserveerd1. Ook afstandsexperimenten via Internet zijn uiteraard empirisch2.

Tot de theoretische kant behoren alle ICT-toepassingen die zich alleen op wiskundige berekeningen baseren.

Simulaties zijn in de wetenschap en in het onderwijs een hulpmiddel om door numerieke methoden conclusies uit een bepaald theoretisch model te trekken. Deze conclusies moeten steeds met experimenten worden vergeleken. Een simulatie hoeft dus niet de illusie van een echt experiment voort te brengen, maar zij moet wel de toegepaste theorie exact volgen.

Modelling is een softwaretechniek waarmee de leerlingen zelf een theorie van gewone differentiaalvergelijkingen kunnen opzetten. Dit gebeurt door het intoetsen van aanschouwelijke relaties tussen differentialen (zoals ds = v*dt) of met behulp van speciale structuurdiagrammen. Bekende modellingpakketen zijn Coach 5, Stella, Pakma, Dynasys, Modellus, Moebius, Powersim, Vensim, Modus enz. Simulaties vertonen hun resultaten als cijfers of in de vorm van diagrammen of als een animatie. Een animatie is een doorlopende serie van kunstmatig voortgebrachte enkelbeelden die een illusie van beweging geeft. Helaas gebruiken veel onderwijskundigen het woord animatie alleen als de vertoonde beweging niet kan worden beïnvloed door de leerling, dus voor een tekenfilm op computer.

Applets zijn computerprogramma's die op webpagina's draaien en in Java zijn geprogrammeerd. Java is als een algemene programmeertaal geschikt voor de implementatie van grootscheepsere numerieke methoden. Voor meer eenvoudige maar effectrijke animaties zijn bovendien de producten van de firma Macromedia (Shockwave en Flash) populair omdat er doelgerichte ontwikkelingsomgevingen voor bestaan.

Physlets® van het Davidson College in North Carolina zijn circa 40 configureerbare simulatieprogramma's op webpagina's voor natuurkunde3. Het verschil tussen Physlets en andere Java applets is dat Physlets door leraren kunnen worden aangepast aan hun eigen ideeën zonder zich met de implementatie van numerieke methodes (hier b.v. Runge-Kutta 4/5) hoeven te bemoeien. Wolfgang Christian schreef de applets zeer algemeen: van elk Physlet kunnen oneindig veel verschillende concrete opdrachten voor leerlingen worden opgezet. Daardoor zijn Physlets geschikt voor toepassingen op maat uit diverse natuurkundige gebieden:

Verder bestaan er algemene Physlets voor diagrammen of het oplossen van gewone differentiaalvergelijkingen. Deze applets werken samen met andere Physlets op dezelfde webpagina. Door de uitgebreide mogelijkheden om een Physlet vorm te geven krijgt de didactiek van simulaties een bijzondere aandacht in de 'Physlet community'.

Didactiek van Physlets

Het nieuw physletboek Physlet Physics in het Engels omvat ruim 800 voorbeelden, ingedeeld in explorations, illustrations en problems met het oog op een soort van learning-cycle4. Exploraties bestaan uit open en vaak meer kwalitatieve vragen die bedoeld zijn om nieuwe onderwerpen aan te snijden. Als illustraties zijn Physlets ingebed in iets langere leerboekachtige teksten en reageren op hyperlinks in de tekst. De specifiekere en vaak kwantitatieve problemen controleren het begrip van doorgenomen leerstof.

Daarenboven zijn er meer dan 5000 physletpagina's op het web verkrijgbaar. De zoekmachine PhysletSearch helpt ze op te sporen en ze voor het off-linegebruik binnen te halen.

Er bestaat een historisch verband tussen Physlets en Just-in-Time-Teaching (JiTT5). Sommige physletpagina's bevatten een webformulier dat de antwoorden of vragen van leerlingen automatisch per e-mail naar hun docent stuurt. Door deze feedback kan de docent de volgende les beter voorbereiden. De les staat dichter bij de leerlingen, omdat men het over hun eigen formuleringen heeft. De Physlets problemen in JiTT dienen tot oriëntatie/motivatie voor nieuwe natuurkundige onderwerpen (warm-ups), tot toepassing van theoretische kennis (puzzles) en tot uitbreiding van de natuurkundige samenhang (What is Physics good for?). De bijkomende tijd voor het verwerken van leerlingenantwoorden is een investering in het werken van leerlingen buiten de contacttijd. Bovendien verliezen voorbereide leraren en leerlingen (!) minder energie door 'wrijving' tijdens de les.

Copyright van Physlets

De meeste auteurs van niet-commerciële Physlet pagina's zullen op verzoek gaarne het gebruik van hun webpagina's in een andere educatieve context toestaan. Verder kan iedereen de Physlet technologie, d.w.z. de blote applets, benutten om eigen simulaties te configureren. Dit is door de maker van de Physlets (W. Christian) voor het niet-commercieel gebruik toegestaan, indien per hyperlink naar de physlet homepage6 wordt verwezen. Commerciële rechten aan de physlet technologie (b.v. voor leerboeken) in andere talen dan het Engels zijn met Wolfgang Christian, Davidson, bespreekbaar. Daarbij zou meestal een bijzondere bijdrage met betrekking tot de verspreiding van de Physlets in het betreffende land worden verwacht.

Een physletpagina lokaal opslaan

Om zelfstandig webpagina's met Physlets te produceren is geen programmeercursus noodzakelijk. Niettemin zullen wel een of twee weekenden moeten worden geïnvesteerd om met andermans physletpagina's te experimenteren en om de meest belangrijke configuratiemogelijkheden van een bepaalde Physlet te leren kennen. Maar ook wie volkomen zonder aanpassing alleen werkende simulaties uit het Internet wil overnemen zou beter moeten weten hoe physletpagina's in elkaar zitten: de gewone download optie van een webbrowser doet het namelijk meestal niet.

Wie met PhysletSearch7 een physletpagina van het web als een gecomprimeerd bestand binnenhaalt, vindt na het uitpakken8 twee mappen. In een van deze bevindt zich een webpagina (b.v. start.html) die ook zonder internetverbinding in een browser de gewenste simulatie vertoont. Maar hetzelfde bestand start.html kan ook in een gewone text editor worden geopend, b.v. in Windows Notepad: kies in de browser 'bron weergeven'. Op deze wijze weergegeven ziet men iets verder beneden de HTML-formatteringsaanwijzingen met hun karakteristieke haakjes, b.v. </font>. De gemiddelde physletgebruiker zal 98% van deze aanwijzingen gewoon negeren, omdat er comfortabeler manieren zijn om tekst en opzet van een webpagina te veranderen (b.v. door webeditoren als Netscape Composer, Namo, Dreamweaver, Frontpage enz.).

Maar tenminste één HTML-aanwijzing zou iedereen moeten begrijpen die ooit een niet werkende physletpagina tegenkomt, waarin in plaats van de draaiende simulatie slechts een leeg veld verschijnt. Net als plaatjes (gif, jpg, png, ...) zitten de physletprogramma's niet in het HTML-bestand, maar moeten door de browser elders worden gevonden. Een voorbeeld: de HTML-aanwijzing
<applet
height="150" width="320"
archive="Optics4_.jar,STools4.jar"
codebase="../classes/"
code="optics.OpticsApplet.class"
>
</applet>
reserveert een veld van 150 keer 320 pixel in de opzet en zoekt de physletprogramma's in de bestanden Optics4_.jar en Stools4.jar. De locatie van deze JAR-bestanden (Java archives) is door het kenmerk codebase aangegeven. Dus moeten vanuit het HTML-bestand in het voorbeeld gezien de JAR-bestanden een map hoger (../) en daar in de map classes zitten. Door PhysletSearch wordt dit allemaal geregeld, maar anders moeten de nodige bestanden handmatig van de Physlet-homepage in Davidson worden gedownload en in de juiste mapstructuur worden opgeslagen. Zonder het kenmerk codebase in de <applet>-aanwijzing moeten alle JAR- een HTML-bestanden in dezelfde map zitten. Maar voor de goede orde wordt aangeraden de meest recente versies van de JAR-bestanden in een centrale map classes te verzamelen en voor elk onderwerp een aparte map met HTML-bestanden aan te leggen. Voor onlinegebruik kan codebase ook een absolute URL (http://...) naar de JAR-bestanden bevatten.

Physletpagina's veranderen

De functionaliteit van de Physlets, d.w.z. de beschikbaren objecten en de numerieke methoden, zijn kant en klaar in Java geprogrammeerd en zijn verstopt in de JAR-bestanden. De physletgebruiker heeft er niets mee te maken. Maar elk Physlet heeft een bepaald aantal commando's — JavaScript methodes — waar het naar luistert. Hieruit kan iedereen een klein programma van een paar regels in de HTML-pagina zetten. De JavaScript sectie staat meestal aan het begin van de HTML-pagina (headscript). Alle methodes hebben het voorvoegsel 'document.'. Een gevorderde gebruiker configureert Physlets vaak door copy/paste direct in de bronaanzicht met behulp van een teksteditor. Men vindt een overzicht van alle bestaande methodes van een Physlet in de documentatie op de Davidson homepage.

De beginner vindt een interactieve documentatie van de meest populaire Physlets in de vorm van de physlet scriptoren9. Een physlet scriptor voor een bepaald Physlet draait offline als HTML-pagina in een browser. De scriptor bevat een tabel met beschrijvingen van alle belangrijke methodes (=commando's) van het Physlet, en voor elk methode zijn er velden om parameters te bepalen (b.v. de brandpuntsafstand f als een lens zal worden gegenereerd). Vervolgens voegt een muisklik op het gekozen bevel een correcte regel JavaScript aan de configuratie toe. Een pop-up-venster vertoont de draaiende simulatie tot zover (b.v. de gewenste lens). De bron van dit voorproefje kan ook lokaal worden opgeslagen. Het zal dan onafhankelijk in een browser draaien, indien de codebase naar de JAR-bestanden klopt. Als voorinstelling zou de zelfgemakte physletpagina in dezelfde map als de physlet scriptor terechtkomen.

Technische voorwaarden en troubleshooting


1http://fips-server.physik.uni-kl.de/medienserver/html/ (Suche, Medientyp: IBE, user: medien, psw: uni-kl).
2http://www.mech.uwa.edu.au/jpt/tele/remote-labs.html
3'Physlet' verwijst hier steeds naar het gedeponeerd handelsmerk van het Davidson college en wordt dus hier met een hoofdletter geschreven. Elders vindt men (bij vergissing) de benaming physlets algemeen voor fysica applets of - nog algemener – voor alle interactieve natuurkundeprogramma's op webpagina's, zelfs in b.v. Macromedia Shockwave- of Flash-technologie.
4http://webphysics.davidson.edu/physlet_resources/physlet_workbook_demo/start.html
5http://webphysics.iupui.edu/jitt/jitt.html
6http://webphysics.davidson.edu/applets/applets.html
7http://pen.physik.uni-kl.de/physlets/
8b.v. met WinZip. Anders kan PhysletSearch ook de bestanden ook als zelfuitpakkend .exe aanleveren.
9http://pen.physik.uni-kl.de/physlets/
10http://java.com/