DOT programmeren/Hulpmiddelen
Programmeren met blokken
Voor beginnende programmeurs is het vaak lastig om met een tekst-representatie te werken. Niet alleen moet je heel zorgvuldig zijn om syntaxfouten e.d. te voorkomen: je hebt ook een bijna onbeperkte keuze aan opdrachten eb besturingsstructuren. Het gebruik van een beperkte set van blokken (grafisch weergegeven) kan dan helpen.
Blockly
Code.org: app lab
Met app lab kun je apps programmeren in JavaScript. Je hebt de keuze uit twee representaties: blokken, of tekst. Je kunt de ene representatie omzetten in de andere.
- mogelijk moet je je registreren (suggestie: als docent) om hiermee aan de slag te gaan.
- je kunt je eigen klas, met je eigen leerlingen, organiseren, en hun voortgang volgen.
(code.org heeft veel materiaal voor het CS Principles curriculum, zie elders op deze wiki.)
Scratch
Python tutor
Python tutor biedt een toepassing voor het visualiseren van de uitvoering van een programma. Je kunt stap voor stap een programma uitvoeren, vooruit en achteruit, en bij elke stap zien hoe de toestand van het proces verandert. Dit kun je bijvoorbeeld gebruiken om te laten zien hoe variabelen en toekenning werken, hoe lijsten werken, en bijv. recursie.
- je kunt de voorbeelden direct op de website van Python tutor uitproberen;
- je vindt daar een serie voorbeelden;
- je kunt daar je eigen voorbeelden invoeren.
- je kunt een sessie via het web delen met iemand anders: je ziet dan dezelfde visualisatie, je kunt beide ingrijpen, en je kunt communiceren via "chat".
- je kunt een voorbeeld op een eigen webpagina toevoegen.
- dan heb je alleen de mogelijkheid om het voorbeeld af te spelen, niet om de programmatekst te veranderen
Inmiddels is dit hulpmiddel ook beschikbaar voor andere talen zoals Java en JavaScript.
Jupyter Notebook
Met Jupyter Notebook kun je in één document tekst en uitvoerbare programmacode combineren. Oorspronkelijk is dit ontworpen voor Python (IPython Notebook), maar tegenwoordig zijn er ook andere talen beschikbaar.
De programmacode wordt uitgevoerd op de server; daar kun je ook de data bewaren. Het notebook wordt weergegeven in een browser-venster. Daar kun je eventueel ook HTML- en JavaScript-code toevoegen.
- Jupyter Notebook wordt veel gebruikt voor "Data Science"; je kunt dan experimenteren met allerlei analyses en transformaties op de data, terwijl je dit tegelijkertijd documenteert. Zelfs de uiteindelijke publicatie kan in de vorm van een Notebook.
- GitHub geeft Notebooks weer in de statische vorm - je kunt de programmatekst niet uitvoeren, maar de uitvoer wel bekijken;
- O'Reilly (de uitgever) gebruikt Jupyter Notebooks als één van de formaten om een boek te schrijven. Zie bijvoorbeeld:
- https://www.oreilly.com/learning/intro-to-svm
- Paco Nathan: Jupyter for Education: Beyond Gutenberg and Erasmus (https://www.youtube.com/watch?v=BVueLWN2QPc)
Voor het gebruiken van "actieve" notebooks, waarin de code door de lezer uitgevoerd kan worden, heb je een server nodig.