Talentuur
Ik geef een talentuur programmeren aan middelbare scholieren.
Mijn doel met de cursus is om programmeren te introduceren bij scholieren. Ik kies de taal python omdat het de taal is waar ik zelf de meeste ervaring heb, het is gemakkelijker voor beginners om te leren en het is veel gebruikt voor kunstmatige intelligentie gerelateerde projecten. Mijn plan is om zoveel mogelijk bestaand cursusmateriaal te hergebruiken. Dat is makkelijker voor mij, maar zorgt er ook voor dat de studenten bekend kunnen raken met verschillende online platforms om te leren.
Voor ING kan ik de tijd die ik hier aan besteed registreren onder Maatschappelijk verantwoord ondernemen.
resultaten
Ik vond het leuk om deze 6 keer les te geven. Ik denk dat de studenten een basisbegrip hebben gekregen over python programmeren, en gerelateerde begrippen. Ze waren in staat de meeste oefeningen van learn-python.adamemery.dev te voltooien. uiteindelijk hebben we deze onderwerpen behandeld:
- Basics
- Operators and Expressions
- Control Flow
- Functions
- Data Structures - List
- Data Structures - Dictionar
De code die de studenten geschreven hebben staat here.
reflectie
Goed:
- studenten hebben enige programmeerervaring opgedaan
- online tutorials waren duidelijk, leuk en werkten goed.
- het spelen van het spel was een leuke onderbreking van het programmeren
- snoepjes en een kleine prijs waren een leuke afsluiting.
Het slechte:
- tempo lag iets te hoog
- opdracht was iets te ambitieus voor beginners
Toen ik begon wist ik nog niet goed wat het niveau zou zijn van de studenten. Ik had verwacht dat de leerlingen die zich aanmeldden voor zo’n talentuur al enige ervaring zouden hebben, maar in het eerste lesuur kwam ik er achter dat de meeste studenten weinig tot geen programmeerervaring hadden. Als ik nog een keer zo’n cursus geef zal ik het tempo iets lager inzetten, en iets minder materiaal behandelen. Het viel me op dat we soms ons door een bepaald onderwerp moesten haasten, in plaats van de tijd te nemen om het goed te begrijpen. Ik zou de online tutorial met de opdrachten behouden. Het was erg handig om de uitleg naast een kleine opdracht te hebben, en zo meteen de kennis te kunnen toetsen. Ik vond het grappig hoe er confetti op het scherm kwam als het goede antwoord gegeven werd. Ik zou waarschijnlijk meerdere kleine opdrachtjes geven in plaats van een grote in de laatste les. In de vijfde les kwam ik er achter dat het nog steeds best moeilijk was om voortgang te boeken omdat nog niet alle nodige concepten behandeld waren. Ik heb nog steeds geen programmeerprobleem bedacht dat zowel toegankelijk is voor beginners, maar ook leuk genoeg om beginners te verleiden om het uit te proberen. De snoepjes die bij het thema pasten en een klein cadeautje werden goed ontvangen. Dat zou ik de volgende keer ook weer doen.
anecdote about LLM prevalence
One interesting thing happened while I was explaining print statements and comments. They were doing the following assignment:
# use comments to make sure only the last line is printed
print("this line should not be printed")
print("this line should also not be printed")
print("this line should be printed")
One of the things I noticed during the first lesson is that one of the students wrote:
# use comments to make sure only the last line is printed
print("this line should not be printed")
print("this line should also not be printed")
print("this line should be printed")
print("print only the third line")
I think I have to explain a bit more clearly the difference between using an LLM and programming. My first experience using computers was typing commands in MS-DOS to start up a game. If you did not type the correct command, the game would not start, so it was obvious to me you would have to provide very precise instructions when programming. For the kids I’m teaching now their experience is a bit different. They’re used to typing or speaking to a computer in natural language, and it just understands them.