Hoewel een analyse en het opstellen van een algoritme zeer belangrijk is om een goed script te schrijven, focussen wij in deze nascholing vooral op de vertaling van een algoritme naar de code, op de syntax van de taal.
Door te starten vanaf eenvoudige opgaves en deze uit te breiden naar complexere hopen we dat je voldoende gewoon raakt om een algoritme op te stellen, en dat dit toch een beetje een tweede natuur wordt.
Als lesmateriaal maken wij gebruik van "De programmeursleerling" (P. Spronck). Je kan dit boek gratis in pdf-versie downloaden. Hand-on oefeningen kunnen gevalideerd worden op Dodona.
Twee maal twee halve dagen zijn te kort om alle leerstof in te oefenen. Zelfstandig (thuis) oefeningen maken is dan ook aangeraden.
Nascholing Python - deel 1
Nascholing Python - deel 2
Deze vraag kan je beantwoorden vanuit het standpunt van een programmeur:
Python wordt door velen gezien als een taal die bij uitstek geschikt is om mensen te leren programmeren.
Het is een krachtige taal, die gemakkelijk te gebruiken is, en die alle mogelijkheden biedt die andere talen ook bieden.
Je kunt Python programma’s draaien op verschillende machines en verschillende besturingssystemen.
Het is gratis verkrijgbaar.
Voor beginnende programmeurs heeft Python het voordeel dat het dwingt om nette code te schrijven.
Python wordt ook in de praktijk veel gebruikt, soms als basis voor complete programma’s, soms als uitbreiding op programma’s die in een andere taal geschreven zijn.
Het belangrijkste voordeel is dat Python het mogelijk maakt om je te concentreren op “denken als een programmeur,” in plaats van op alle excentrieke afwijkingen die een specifieke taal heeft.
Je kan deze vraag ook bekijken vanuit het standpunt van een leerkracht derde graad.
Dan is het vooral:
Dat de taal eenvoudig aan te leren is waardoor er meer tijd over is om te denken als een programmeur (computationeel denken / algoritmisch denken)
De interpreter zorgt ervoor dat je makkelijk kan experimenteren en onmiddellijk feedback van je code krijjgt.
Met Python kan je de (minimuml) doelen bereiken.
Met een afgeleide van Python (MicroPython) kan je makkelijk overstappen naar Physical Computing. Dit is interessant voor de TW richting zodat zij maar één taal moeten leren. Maar dit is ook interessant omdat studies hebben uitgewezen dat Physical Computing de motivatie van de leerlingen laat toenemen, ook bij de niet echt informatica minded leerlingen.
Toen ik in 1983 in het derde middelbaar kennismaakte met Informatica kregen we in de eerste lessen een opgava om een algoritme op te stellen om woord in een woordenboek op te zoeken. Een opgave die misschien op het eerste zicht niet meer bruikbaar is, maar woorden of termeen opzoeken in een gesorteerde lijst wordt dagelijks miljoenen keren per minuut gedaan. In de sessie met Dr. Frank Neven wordt hier zeer waarschijnlijk op in gegaan.
Het lijkt trouwens een simpel probleem omdat we deze dingen "automatisch" doen zonder verder na te denken over welke stappen we doorlopen. Maar probeer maar eens....
Op YouTube vind je zo een fimpje van een vader die aan zijn achtjarige zoon vraagt voor een algoritme om een boterham met choce te smeren.
Bekijk HIER de video.
Het idee van algoritmisch denken is om je groot probleem steeds op te splitsen in kleinere delen, tot je tenslotte tot makkelijke stappen komt.
Je krijgt zo een algoritme, een stappenplan dat, als je het volgt, leidt tot succes.
In het dagelijkse leven komen we dikswijls algoritmes tegen, al noemt men dit niet altijd zo.
Sommige bedrijven zijn zeer goed in het maken van algoritmes. Denk maar aan de montagehandleiding van IKEA meubelen. De ervaring heeft mij geleerd dat het stap voor stap volgen van de montagehandleiding de beste manier is om succesvol het meubel in elkaar te steken.
Een ander algoritme uit het dagelijkse leven is een recept uit een kookboek. Hello Fresh zorgt er zelfs voor dat de stappen gewoon op de achterkant van een blaadje kunnen.
Maar vergeet ook jezelf niet. Je hebt waarschijnlijk je leerlingen aangeleerd om bij een vraagstuk eerst het gegeven en gevraagd op te schrijven, daarna de formules, en tenslotte pas beginnen te berekenen. Ook dit is een stappenplan dat leerlingen helpt om succesvol een vraagstuk op te lossen.
Om van een probleem tot een succesvol script te komen moet je een aantal stappen doorlopen.... alsof het een algoritme is 😀.
Probleemstelling
Wat is het probleem?
Wat wordt er verwacht dat het script gaat doen?
Analyse
Welke data / input krijg je?
Hoe gaan we het probleem oplossen?
Wat zijn de deelproblemen?
Waarop moet je letten?
Hoe kan ik het testen?
Algoritme
Maak je stappenplan. Dit kan in pseudocode zijn. Dit is gewoon kort en bondig in het Nederlands (fictieve computertaal) de verschillende stappen.
Je kan ook werken met een grafische voorstelling.
Script
Je algoritme is in principe taalonafhankelijk.
Je krijgt je script in de gevraagde taal door het algoritme te vertalen naar de computertaal.
Testen
Je gaat controleren of het script niet moet aanpassen. Test zeker op randvoorwaarden.
Wanneer je de oefeningen maakt in Dodona, dan test Dodona het script voor jou.