Python-oefeningen bij Youtube videoreeks UHasselt (2023–2024)

Dirk Peeters

Deze oefeningen werden geselecteerd en opgesteld als begeleidende oefeningen bij de Youtube videoreeks die “jou leert programmeren in Python”.

Zoek op Youtube naar het kanaal “UHasselt tutorials” en abonneer je erop (zodat je de reeks de volgende keer - via je abonnementen - makkelijk terug vindt). Daar er soms maanden zitten tussen het verschijnen van nieuwe video’s kan het zinvol zijn om “meldingen” te activeren.

Na het bekijken van een video is het raadzaam om de kennis uit de video te verwerken aan de hand van het werkboek. Deze aanpak garandeert dat de kennis met aandacht verwerkt wordt, dat jargon eigen gemaakt wordt en dat het oplossen van oefeningen daarna vlotter verloopt. Bovendien bouwt men zo een “eigen” syllabus op die nadien vlot raadpleegbaar is. (Computationeel denken en handelen - Programmeren met Python - Pelckmans - ISBN 978-94-6401-371-9)

De oefeningen in deze reeks zijn meestal erg kort, en zijn bedoeld om heel specifieke kennis in te oefenen. De eerste 71 oefeningen (tem for-lus) kunnen opgelost worden na het bekijken van de eerste 32 video’s van de videoreeks. Dit omvat de leerstof die in 1 schooljaar behandeld kan worden naar rato van 1 lesuur/week.

Voor de leerstof nodig voor het oplossen van de resterende oefeningen (48 van 119) verwijzen we op dit moment graag door naar het fantastische boek “de programmeursleerling”. Voor het verwerken van de leerstof en het maken van deze oefeningen is opnieuw 1 schooljaar nodig naar rato van 1 lesuur/week.

Dit betekent natuurlijk ook dat, naar rato van 2 lesuren/week, het haalbaar moet zijn om alle kennis en alle oefeningen uit deze reeks te behandelen in 1 schooljaar.

Wil je graag - in het Nederlands - contact hebben met anderen die de videoreeks volgen, die aan de oefeningen werken, die Python aan het leren zijn … dan ben je welkom op onze discord server. Hier is de link –> https://discord.gg/TbdFCp4

Opgelet! Je kan tegenwoordig code schrijven en testen binnen Dodona (dat was vroeger niet het geval). Voor beginnende programmeurs raden we dat zeker aan. Meer gevorderde programmeurs kunnen hun code ook schrijven in een andere IDE (Integrated Development Environment). Vervolgens copy-paste je de code naar Dodona om in te dienen. Er zijn online IDE”s (bv. replit.com) maar ook IDE’s die je kan installeren op je computer (bv IDLE, Mu, Pycharm, Visual Studio Code, …).

De oefeningen zijn geïnspireerd op het werk van Vitaly Pavlenko (www.snakify.org).

Je bent niet geregistreerd voor deze cursus.

Registreren

Oefeningenreeksen

Oefeningen die je aanleren om vlot te werken met de inbegrepen Python functies input() en print().

Deze functies maken invoer via het toetsenbord en uitvoer naar het scherm (afdrukken) mogelijk.

Zonder invoer en uitvoer is interactie dmv een Python programma/script niet mogelijk.

Je kan al deze oefeningen oplossen na het bekijken van de video’s 1 tem 10.

(Aanvulling: voor het oplossen van de laatste oefening uit deze reeks moet je video 12 bekijken)

Oefeningen die je allerlei berekeningen laten uitvoeren.

Natuurlijk gaat dat over de som, het verschil, de vermenigvuldiging en de deling.

Maar ook de machtsverheffing, de geheeltallige deling (floor division) en de restberekening (modulo) komen aan bod.

Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 18.

Oefeningen die het if\else-statement inoefenen, alvorens (binnen dezelfde reeks) uit te breiden naar het if\elif\else-statement.

Na de if of elif hoort steeds een bewering (Booleaanse expressie) te staan.

Het bouwen van zinvolle Booleaanse expressies, is (in deze oefeningenreeks) net zo belangrijk als het onder de knie krijgen van de if/elif/else-syntax.

Het opstellen van zinvolle Booleaanse expressies, vereist al snel het gebruik van relationele operatoren, Booleaanse operatoren, ingebouwde functies zoals abs(), max(), min(), len(), …

Geraak je er niet meteen uit, dan heb je misschien één van de nodige onderwerpen nog niet behandeld gezien in de video’s, kijk dan even verder.

Na het maken van deze oeningen zullen de begrippen relationele operator, takenlijst, indentatie en booleaanse waarde geen geheimen meer hebben.

Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 27.

Titel Voortgang groep Status
Kleinste van 2 getallen
Even of oneven
Getal van 3 cijfers
Schaakspel - donker veld
Schaakspel - zelfde kleur
Cijfers in volgorde
Schaakspel - paardensprong
1 van 2 is positief
Schaakspel - Toren aan zet
Palindroom van 4 cijfers
De volgende dag
Schrikkeljaar
Schaakspel - Loper aan zet
Schaakspel - Koning aan zet
Schaakspel - Koningin aan zet
Groter, kleiner, gelijk aan 0
Aantal dagen in maand
Het zwarte schaap
Het 4de hoekpunt
Sorteer 3 getallen
Lineaire vergelijking
Kleinste van 3 getallen
Aantal gelijke getallen
Kleinste van 5 getallen

Oefeningen die je aanleren om vlot te werken met de eerste van 2 lussen; namelijk de while-lus.

Zoals je in de videoreeks leert kan de while-lus altijd gebruikt worden. Men hoeft op voorhand niet te weten hoe vaak een herhaling zal worden uitgevoerd.

Zoals je zag in de videoreeks, sluit de while-lus heel goed aan bij het if-statement. Beiden starten met een booleaanse expressie!

Regelmatig moeten waarden op het scherm verschijnen, zonder dat die steeds op een nieuwe regel verschijnen. Daarvoor zal je de keyword argumenten sep en end, die horen bij de functie print() moeten gebruiken.

Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 29.

Titel Voortgang groep Status
Serie van kwadraten
Kleinste gehele deler
Machten van 2
Start to Run
Lengte van een reeks
Som van onbepaalde reeks getallen
Gemiddelde van onbepaalde reeks getallen
Maximum van onbepaalde reeks getallen
Positie van maximum waarde
Aantal even getallen in reeks
Groter dan voorgaande in reeks
Op één-na-hoogste waarde in de reeks
Aantal maal hoogste waarde in de reeks
Langste serie gelijke waarden in reeks
Fibonacci reeks
Is het een Fibonacci waarde

Oefeningen die je aanleren om vlot te werken met de eerste van 2 lussen; namelijk de for-lus.

Zoals je in de videoreeks leert is de for-lus bruikbaar wanneer je op voorhand weet hoe vaak een herhaling zal worden uitgevoerd.

Of wel omdat je het op voorhand vastlegt, ofwel om dat je beschikbare collectie gebruikt.

Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 32.

Titel Voortgang groep Status
Som van 10 getallen
Som van N getallen
Tel het aantal nullen
Print de getallen x tem y
Faculteit berekenen
Som van 3de machten
Som van faculteiten
De verloren kaart
De getalladder
Print getallen x tem y op of af

Oefeningen die je aanleren om vlot manipulaties te kunnen uitvoeren op waarden van het datatype string.

Slicing, len(), …

Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen, al zitten ze wel in de pijplijn.

Deze oefeningen kunnen klassiek opgelost worden (zonder het gebruik van string-methodes), al is het vaak makkelijker om wel string-methodes te gebruiken. Leerkrachten kunnen zowel een model-oplossing met en zonder string-methodes terugvinden.

Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 10, ben je in staat om de oefeningen uit deze reeks te maken.

Titel Voortgang groep Status
Slicing basics
Twee halve strings
Wis elk 3de teken
Aantal woorden
Woorden omwisselen
Tweede verschijning
Eerste en laatste verschijning
Verwijder het tussenstuk
Keer het tussenstuk om
Vervang substring
Verwijder teken
Vervang binnen fragment

Oefeningen die je aanleren om vlot manipulaties te kunnen uitvoeren op waarden van het datatype list.

Slicing, len(), …

List methodes zoals append(), extend(), pop(), …

Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.

Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 12, ben je in staat om de oefeningen uit deze reeks te maken.

Titel Voortgang groep Status
Maak en toon getallenlijst
Maak en toon onbepaalde getallenlijst
Maak getallenlijst van string
Even indices
Even waarden
Groter dan linker buur
Goede buren
Aantal groter dan de buren
Aantal verschillende waarden
Buren wisselen van plaats
Maximum van de lijst
Wissel minimum en maximum van plaats
Aantal paren in lijst
Unieke waarden
Acht koninginnen
Bowling

We zien 2D lijsten als een uitbreiding op de gewone lijst.

Een 2D lijst, is een lijst die bestaat uit lijsten.

Een wiskundige matrix, kan makkelijk gemodelleerd worden adhv 2D lijsten.

Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.

Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 12, ben je in staat om de oefeningen uit deze reeks te maken.

Dit hoofdstuk nam je reeds door voor de oefeningenreeks over lijsten, een 2D lijst is slechts een kleine uitbreiden van de lijst.

Titel Voortgang groep Status
Schaal toepassen
Maximum waarde vinden in 2D lijst
Diagonaal vullen van 2D lijst
Driehoeken vullen van 2D lijst
Wissel kolommen van 2D lijst
Sneeuwvlok
Schaakbord

Deze oefeningen leren je werken met het datatype set.

Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.

Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 14, ben je in staat om de oefeningen uit deze reeks te maken.

Titel Voortgang groep Status
Aantal verschillende waarden
Aantal waarden in doorsnede
Waarden in doorsnede
Deja vu
Raad het getal

Je leert werken met waarden van het datatype dictionary (dict).

Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.

Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 13, ben je in staat om de oefeningen uit deze reeks te maken.

Titel Voortgang groep Status
Aantal verschijningen
Tegengestelden
Verkiezingen
Vaakst voorkomend woord
Toegangsrechten
Landen en steden
Tekstanalyse
Woordenboek Ned-Latijn