DOT programmeren/Hulpmiddelen

Uit Inf20
Naar navigatie springen Naar zoeken springen
DOT programmeren
  1. Problemen
  2. Beschikbaar materiaal
  3. Hulpmiddelen
  4. Keuzes en prioriteiten

Manier van werken

Zie ook Regels en richtlijnen
Zie ook Artikelen bewerken

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:

Voor het gebruiken van "actieve" notebooks, waarin de code door de lezer uitgevoerd kan worden, heb je een server nodig.

GitHub

GitHub is een web-platform voor git, een veelgebruikt systeem voor versiebeheer. GitHub wordt gebruikt door een groot aantal open source projecten. GitHub kan als centrale opslag dienen voor een project waarin meerdere mensen samenwerken.

Een "open" account voor GitHub is gratis. Je bestanden zijn dan wel voor iedereen zichtbaar. Een account met prive-bestanden is tegen betaling mogelijk.

GitHub heeft ook "educational accounts", voor docenten die hun leerlingen via GitHub willen laten (samen)werken. Leerlingen kunnen hun opdrachten krijgen via GitHub, en hun uitwerkingen via GitHub inleveren. Feedback kan ook via de GitHub-middelen daarvoor.

Trello

Trello is een middel voor het maken van planningen, en voor het bijhouden van de voortgang daarvan. Je kunt dit organiseren als een Scrum-bord.

Trello is aan veel andere diensten te koppelen; dit kan soms via Trello zelf, en soms via een externe dienst. (Zowel Trello als GitHub hebben API's die daarvoor gebruikt kunnen worden.)

Er zijn diensten en uitbreidingen voor het gebruik van Trello in een Scrum-proces.

Je kunt een planning in Trello maken voor je leerlingen. Deze kunnen dan zelf hun voortgang bijhouden. In een later stadium kunnen de leerlingen een groter deel van de planning zelf maken. Voor een eindproject kunnen de leerlingen de complete planning zelf maken.

Met wat extra hulp kun je de voortgang van een groep leerlingen met eenzelfde planning bijhouden (P.M.)