Deze webpagina is ter ondersteuning van de workshop "Leren programmeren in Python". Deze workshop is een onderdeel van de STEM Inspiratiedag 2023 van UHasselt.
Hier vind je de opdrachten en scripts die behandeld gaan worden tijdens de workshop.
Heb je interesse in de sessie "MicroPython: Introductie in Physical Computing"? Klik dan op het logo hiernaast.
De Powerpoint kan je downloaden HIER downloaden.
Het schrijven van een script kan soms behoorlijk frustrerend zijn, vooral wanneer het niet doet wat je ervan verwacht en je in de wereld van debugging terechtkomt. De ene keer zijn het eenvoudige syntaxfouten die je snel kunt oplossen, maar wanneer het probleem dieper geworteld zit in het algoritme, wordt het pas echt uitdagend.
Om frustraties te verminderen en effectiever te programmeren, raden we je aan om de volgende stappen zorgvuldig te volgen:
Stap 1: Analyseer het probleem
Begin met het grondig analyseren van het probleem. Neem de tijd om het op te lossen met pen en papier, tekeningen of doodles. Als je het niet op papier kunt oplossen, zal het waarschijnlijk ook niet goed werken in code. Wees geduldig in deze fase; haastige beslissingen kunnen later voor problemen zorgen.
Stap 2: Stel je algoritme op
Het algoritme is als een gedetailleerd stappenplan. Als je dit plan nauwgezet volgt, zal je uiteindelijk het gewenste resultaat bereiken. Bij complexe problemen kun je het probleem opsplitsen in deelproblemen, die je afzonderlijk kunt aanpakken. In deze workshop gebruiken we Nassi-Schneiderman diagrammen om algoritmes grafisch voor te stellen. Alternatieve methoden zijn pseudocode en flowcharts. We raden het gebruik van ongestructureerde flowcharts af, omdat dit kan leiden tot verwarrende algoritmes.
Stap 3: Schrijf het script
Het algoritme dat je in stap 2 hebt opgesteld, is in principe "programmeertaal-onafhankelijk." Soms kan er echter al wat code insluipen om de bedoelingen duidelijk te maken. De vertaling van het algoritme naar een specifieke programmeertaal is wat we het script noemen.
Het belang van de eerste twee stappen mag niet worden onderschat. In deze workshop richten we ons echter voornamelijk op de vertaling van het algoritme naar een werkend script, gezien de beperkte tijd die we hebben. In de verschillende opdrachten zal daarom het algoritme aangeboden worden, en moet je het enkel maar vertalen naar een script.
Met deze stappen in gedachten kun je frustraties verminderen en efficiënter werken aan het schrijven van scripts. Succes met de workshop!
Over de keuze van de programmeertaal kan je debateren. Enkel taal zal zo zijn voor- en nadelen hebben. De ene taal zal misschien zeer goed zijn voor bepaalde toepassingen, terwijl een andere taal weer het voordeel heeft om heel algemeen te zijn.
Enkele voordelen van Python zijn:
veelzijdig (general purpose)
populairste taal van het ogenblik
grote ondersteuning en "community"
gebruikt voor :
data-analyse en wetenschappelijke berekeningen
automatisering
AI en machine learning
Voor een beginnende programmeur, en waarom wij deze taal vooral steunen naar het secundair onderwijs is dat Python door zijn makkelijke syntax (schrijfwijze) eenvoudig is om aan te leren, waardoor er meer aandacht kan besteed worden aan het computationeel denken.
Python is een interpreter taal. Dit wilt zeggen dat deze regel per regel uitgevoerd wordt. De interpreter nodigt uit tot experimenteren, waardoor je een korte ontwikkeltijd bekomt.
Het aantal lestijden dat in de scholen voorzien wordt voor Informaticawetenschappen (i22n) is meestal beperkt. Een samenwerking tussen de School voor Educatieve Studies en de Informatica faculteit van UHasselt leidde tot een Pythoncursus waarin met een beperkt aantal Python-instructies, toch alle minimumdoelstellingen kunnen behaald worden. Deze cursus wordt gratis ter beschikking gesteld aan de secundaire scholen. De link om de cursus te downloaden verkrijg door een mailtje te sturen naar jurgen.nijs@uhasselt.be.
Het beperkte instructieset bestaat uit:
Toewijzing
print() en input()
de basisbewerkingen: optellen, aftrekken, vermenigvuldigen, deling en machtsverheffing
de logische operatoren
int(..), float(..) en str(..)
if...else
while
bewerkingen met lijsten en strings
Gestructureerd programmeren bestaat uit de combinatie van 3 basisstructuren:
Sequentie
In programmeren verwijst een "sequentie" naar een opeenvolging van instructies die in de code worden uitgevoerd in de volgorde waarin ze zijn geschreven. Dit betekent dat de ene instructie pas wordt uitgevoerd nadat de vorige is voltooid.
Selectie
In programmeren verwijst een "selectie" naar een constructie die wordt gebruikt om beslissingen te nemen en de uitvoering van bepaalde codeblokken te beïnvloeden op basis van bepaalde voorwaarden. Deze constructie stelt een programma in staat om te kiezen welke instructies moeten worden uitgevoerd op basis van de evaluatie van een voorwaarde: de conditie.
Iteratie
In programmeren verwijst "iteratie" naar het herhalen van een reeks instructies of een codeblok meerdere keren. Iteratie is een fundamenteel concept dat wordt gebruikt om taken uit te voeren die herhaaldelijk moeten worden uitgevoerd, zoals het doorlopen van een lijst met gegevens, herhalen van een bepaalde taak tot aan een bepaalde voorwaarde is voldaan, of om een reeks bewerkingen op elk element van een dataset uit te voeren.