© PXimport

Hoe leer je programmeren?

Geplaatst: 10 december 2015 - 08:34

Aangepast: 14 december 2022 - 15:07

Redactie ID.nl

Deze week staat in het teken van Hour of Code, en Computer!Totaal draagt natuurlijk graag zijn steentje bij. Het immers van cruciaal belang om kinderen te blijven leren hoe ze moeten programmeren! Programmeren kan iedereen namelijk zelf doen. Maar hoe leer je dat nou, je eigen programma's maken?

We schreven het al eerder dit jaar in Computer!Totaal: programmeerles op school neemt wereldwijd een grote vlucht. Eén op de tien Amerikaanse scholen is er al mee gestart. En als het aan president Obama ligt, zullen nog veel meer scholen volgen. Daartoe is de website Code.org in het leven geroepen, een platform voor docenten en leerlingen die zelf hun programmaatjes willen maken.

Sommige landen zijn een stap verder. In Engeland en Estland is programmeren inmiddels een verplicht vak. Misschien wel het verst is Vietnam. Daar leren kinderen op de basisschool programmeren, blijkbaar gebeurt dat heel voortvarend: naar verluidt doorstaan Vietnamezen na hun eindexamen moeiteloos de sollicitatietests van Google, het walhalla voor ICT-toppers.

Ook Nederland begint aan de weg te timmeren. Afgelopen voorjaar werd de CodePact ondertekend. Daarin staat dat 400.000 scholieren in groep 8 van de basisschool en eveneens 400.000 brugklassers gaan leren programmeren. Het besef is groter dan ooit: het is nuttig om te kunnen programmeren, al is het maar een beetje. En het is echt niet voorbehouden aan kinderen: met leren programmeren ben je nooit te laat.

 

© PXimport

Bob den Otter, oprichter van ICT-bureau Two Kings dat websites, apps en webtoepassingen ontwikkelt.

Iedereen kan het leren

Maar programmeren hoef je niet op school te leren, of op jonge leeftijd. Meer dan een gezond stel hersenen, enthousiasme en geduld is er niet voor nodig. Je hoeft er niet speciaal voor gestudeerd te hebben, je hoeft ook geen nerd te zijn of heel veel technische kennis te hebben. Komen we meteen bij het grootste vooroordeel: mannen zouden van nature meer talent hebben voor programmeren. ICT-deskundigen vegen dit beeld echter van tafel. Volgens Bob den Otter, oprichter van ICT-bureau Two Kings dat websites, apps en webtoepassingen ontwikkelt, kunnen ook meisjes prima leren programmeren: "Vooral op conferenties zie je dat de ICT-wereld helaas nog steeds een mannenbolwerk is, maar dat heeft denk ik meer te maken met rolpatronen en vooroordelen dan met natuurlijke aanleg. Meisjes krijgen sneller negatieve reacties uit hun omgeving. Daardoor raken ze sneller ontmoedigd."

Docent en onderzoeker Marieke Huisman van de Universiteit Twente: "Op de basisschool vinden meisjes de techniek meestal nog best leuk, maar in de pubertijd slaan de twijfels toe. Dan denken ze dat techniek niet leuk is, of iets voor nerds. Ook de media bevestigen deze beeldvorming. Over Yahoo-topvrouw Marissa Mayer werd ooit geschreven: 'Ze mag dan ingenieur zijn met een cijferfetisj, ze is ook een modeliefhebber met een exquise smaak'. Mijn interpretatie: hoewel ze allerlei nerdy, saaie dingen doet, heeft ze toch ook nog aandacht voor vrouwendingen."

Beiden denken dat ook meisjes echt wel slim genoeg zijn om te programmeren. Den Otter: "In principe kunnen ze het even goed als jongens. Er is geen wezenlijk verschil." Huisman: "Van de pakweg zeventig eerstejaars bij ons zijn er maar drie of vier vrouw. Dat is sneu. Maar die vrouwen doen qua prestaties niet onder voor de mannelijke studenten."

Girls only: het DigiVita Code Event

VHTO, landelijk expertisebureau meisjes/vrouwen en bèta/techniek, organiseert diverse bijeenkomsten voor meisjes die graag willen programmeren. Bij het DigiVita Code Event gaan meisjes in diverse workshops aan de slag met het maken van een app, game of website. Daarbij krijgen ze begeleiding van ICT-studentes en vrouwelijke ICT-professionals. Dit evenement duurt één dag. Meisjes die de smaak te pakken hebben, kunnen tijdens de DigiVita Zomerkamp zelfs een week lang leren programmeren op het Science Park in Amsterdam.

Aan de slag: de Bendoo Box

Enthousiast geworden om zelf te gaan programmeren? Je kunt op je eigen computer gaan programmeren, maar je kunt ook kiezen voor een losse mini-computer, zoals de Raspberry Pi. Het grote voordeel hiervan is dat je hem voor dat ene project(je) inzet, en er allerlei sensoren mee kunt verbinden. Het moederbedrijf van Computer!Totaal geeft de Raspberry Pi met software en toebehoren in een kant-en-klare set uit, in de vorm van de Bendoo Box. De box is vooral gericht op kinderen van 10 tot 14 jaar, maar uiteraard kan iedereen ermee aan de slag. De programma's Scratch en Python helpen je je eerste programmaatjes te maken. Gamers opgelet: zelfs Minecraft zit erop!

Het kloppend hart van de Bendoo Box is de Raspberry Pi, feitelijk alleen maar een chip. Maar wel een chip met aansluitingen voor usb, audio, HDMI en uiteraard voeding. Ook zitten er kleine GPIO-pinnetjes op, daarmee kun je de Pi verbinden met sensoren en een schakelaar. Naast de Raspberry Pi bevat de box diverse snoertjes, een geheugenkaartje met software, een wifi-adapter en een stevige behuizing waar de chip precies in past. En die behuizing heb je ook wel nodig, één keer koffie morsen en je noeste werk is mogelijk voor niets geweest ... Je moet zelf nog een beeldscherm aansluiten (dit mag ook een televisiescherm zijn, als er maar een HDMI-aansluiting aan zit). Heb je een computerscherm met alleen DVI? Dan moet je even een verloopkabeltje bijbestellen.

 

© PXimport

Aansluiten

De box bevat een duidelijk instructieboekje dat je stap voor stap uitlegt hoe je de Pi aan de praat krijgt. In feite is het niet veel meer dan alle stekkertjes aansluiten, het geheugenkaartje erin steken en aanzetten. De eerste keer zal dit iets langer duren, doordat er dan allerlei instellingen goed moeten worden gezet. Na het opstarten krijg je een scherm dat een beetje aan Windows doet denken. Daarin kies je een programma om mee te werken, bijvoorbeeld Scratch, Python en Minecraft.

 

© PXimport

Productinformatie

Website: www.bendoobox.nl

Prijs: 99 euro (standaardversie), 119 euro (snellere versie)

Besturingssysteem: Raspbian (meegeleverd)

Los verkrijgbare accessoires: 7inch-touchscreen, sensorplaat, verloopkabel HDMI-DVI, wifi-dongel

Wat kun je met de Bendoo Box?

Je eigen spelletjes

Met de programmeertaal Scratch ontwerp je zelf een simpel spelletje. De taal is speciaal bedacht voor kinderen en voor ieder ander die nog nooit heeft geprogrammeerd.

Je eigen website

Tover de Raspberry Pi om in een webserver. Je installeert WordPress en bouwt je eigen site. Die kun je koppelen aan je eigen domein.

Minecraft

Het populairste computerspel ooit draait ook op de Bendoo Box. Deze speciale versie heeft zelfs veel extra mogelijkheden dankzij de programmeertaal Python.

En verder?

Dit zijn de drie belangrijkste toepassingsmogelijkheden die in het instructieboekje worden besproken. Maar trouwe lezers weten dat er met de Raspberry Pi nog veel meer mogelijk is. Een eigen robot, een bewakingscamera, een mediaspeler, een navigatiesysteem voor in je auto, een helicam waarmee je luchtfoto's maakt? Dat kan allemaal. Wij hebben ook een aantal projecten uitgewerkt, hier vind je de workshops om het allemaal voor elkaar te krijgen.

Programmeren met Python

Werkt spelletjes maken met Scratch vooral visueel en interactief, de programmeertaal Python is heel anders. Hiervoor moet je reeksen commando's formuleren, die samen als één programma worden uitgevoerd. Door die tekstuele commando's is Python minder laagdrempelig, maar de extra moeite wordt royaal beloond: de mogelijkheden van deze taal reiken vele malen verder dan van Scratch.

Maar wat is dat Python eigenlijk? Even een snelle introductie: eind 1989 is deze taal bedacht door Guido van Rossum, destijds medewerker van het Centrum voor Wiskunde en Informatica (CWI) in Amsterdam. Python - genoemd naar Guido's favoriete tv-serie Monty Python's Flying Circus - is losjes gebaseerd op BASIC. Deze programmeertaal won vanaf de jaren 60 enorm aan populariteit, maar kreeg ook felle kritiek, met name vanuit academische kringen. Ook andere programmeertalen hadden zo hun nadelen. Dat kan beter, dacht men daar, en men voegde de daad bij het woord.

Lego voor programmeren

De introductie van Python bleek een gouden idee. Eigenlijk is Python het Lego van de programmeertalen: het is begrijpelijk genoeg om er snel iets eenvoudigs mee te maken, maar uitgebreid genoeg om er vrijwel elke klus mee te kunnen klaren. Geen wonder dat Python al snel over de hele wereld werd gebruikt. Eind jaren 90 maakten Google-oprichters Larry Page en Sergey Brin er dankbaar gebruik van bij het bouwen van de allereerste versie van hun zoekmachine. Python staat al jarenlang in de top 10 van meest toegepaste programmeertalen en wordt overal toegepast: internet, bankwereld, geografische informatiesystemen, kantoorautomatisering ... je kunt het zo gek niet bedenken.

Zelf kennismaken met Python? De Bendoo Box helpt je op weg met een speciale versie van Minecraft, waar je met Python extra kunstjes aan kunt toevoegen. Op www.bendoobox.nl zijn kant-en-klare Python-programma's als download beschikbaar; ideaal om te kijken hoe Python in elkaar zit. Uiteraard kun je ook je eigen programmaatjes bedenken.

Python draait niet alleen op de Raspberry Pi, maar ook op 'gewone' desktopcomputers. Daarvoor moet je eerst de meest recente Python-software downloaden (zie kader 'Nuttige websites'). Met name op Windows-pc's komt dan een heel scala aan nieuwe toepassingsmogelijkheden binnen handbereik. Python werkt namelijk ook in combinatie met Excel en andere Windowstoepassingen.

 

© PXimport

Programmeerpioniers in 1998: de allereerste Google-computer bij Stanford University werd met Lego gebouwd en grotendeels met Python geprogrammeerd.

 

© PXimport

Een simpel Python-programma om de Body Mass Index (BMI) van de gebruiker te berekenen, afhankelijk van opgegeven gewicht en lengte.

Nuttige websites

Smaakt de eerste kennismaking met Python op de Bendoo Box naar meer? Deze links helpen je verder.

www.python.org De officiële website waar je Python kunt downloaden. Ook vind je er documentatie, een forum en nieuwtjes.

www.codecademy.com/tracks/python Een uitstekende interactieve Python-cursus. Enig minpuntje is misschien voor sommigen de Engelse taal.

www.programmerenvoorkinderen.nicolaas.net Nederlandstalige serie Python-lessen, vooral gericht op kinderen.

Online cursussen

Een paar websites die je niet mag missen als je echt wilt leren programmeren.

www.codecademy.com Zonder twijfel is Codecademy de nummer-1-website van de online programmeercursussen. Een greep uit de talen die je er kunt leren: Python, PHP, jQuery, JavaScript, Ruby, HTML, CSS en sinds kort ook SQL (databases). Alle cursussen zijn gratis. De site is in 2011 gelanceerd en vier jaar later hebben al miljoenen gebruikers een of meer cursussen afgerond.

www.codeavengers.com Online cursussen voor HTML, CSS, Javascript en Python. Elke cursus is in twaalf uur af te ronden. Sommige zijn gratis, voor het merendeel wordt een vergoeding van enkele tientallen dollars gevraagd. Code Avengers is gevestigd in Nieuw Zeeland, maar de website is er ook in het Nederlands.

www.jorcademy.nl De 13-jarige Nick Jordan uit Rotterdam begon vier jaar geleden met programmeren en heeft inmiddels een uitgebreide website en een YouTube-kanaal met vele tientallen videolessen over Python, Scratch, Unity, C#, Git, WordPress en PHP.

 

© PXimport

Niet alleen in het programmeren, maar ook in het léren programmeren kun je het ver schoppen. Nick Jordan (13), won afgelopen jaar met zijn website JorCademy een Gouden @penstaart.

Leren programmeren

Wil je nu wel leren programmeren, maar weet je niet waar je moet beginnen? Het zal je niet verbazen dat je op internet enorm veel handleidingen en cursusmateriaal kunt vinden (Zie kader 'Online cursussen'). Hier kun je zelfstandig mee aan de slag. Maar vind je dit lastig, dan kun je je ook aansluiten bij een computerclub! Zo kun je samen uitpluizen hoe het zit.

Nederland telt honderden computerclubs, bijna elke gemeente heeft er wel een. Soms maakt zo'n club deel uit van landelijke organisaties als HCC, vaak zijn het lokale initiatieven. We spreken met Erno Mijland, onderwijsadviseur op gebied van ICT en sociale media. Hij stond zelf aan de basis van een computerclub voor tieners in het Brabantse Middelbeers: Beers Hackwerk.

 

© PXimport

Hoe is je computerclub gestart?

"Vorig jaar plaatste ik een advertentie met een oproep. Daar reageerden zes kinderen op. Nu zijn we al met z'n twaalven. Elke maandagavond gaan we aan de slag met allerlei projectjes, zoals knutselen met hardware, programmeren en video-editing."

Wat is jouw rol in de groep? De expert die alles uitlegt?

"Nee hoor. Ik noem mezelf meer een begeleider dan een docent of coördinator. Van huis uit ben ik leraar Nederlands en Engels, geen ICT-specialist. Meestal laat ik de kinderen zelf uitzoeken hoe ze iets voor elkaar moeten krijgen. Op internet is heel veel informatie te vinden. Soms komt er een gastdocent uit het bedrijfsleven iets vertellen."

Wat deed je besluiten een computerclub op te richten?

"In de eerste plaats natuurlijk omdat ik het zelf leuk vind. Maar er zijn nog meer redenen. Als onderwijsadviseur vind ik het belangrijk om feeling te houden met de doelgroep. Wat maken ze zoal mee? Hoeveel mediawijsheid hebben ze? Verder zie ik dat basisscholen helaas nog steeds weinig met ICT doen. Toch is het belangrijk dat kinderen er meer kennis van hebben."

Waarom lid worden van een computerclub, je kunt ook zelf thuis aan de slag gaan?

"Dat kan natuurlijk, maar bij programmeren loop je vaak al snel vast. Eén simpel tikfoutje en het programma werkt niet, of verkeerd. Met de frisse blik van anderen die even over je schouder kunnen meekijken, ontdek je veel sneller waar de fout zit."

Waarom is programmeren leuk?

"Inmiddels zijn mobiele telefoons en Facebook vanzelfsprekend geworden. Juist daarom is het interessant om eens onder de motorkap te kijken. Hoe werkt het allemaal? Zo'n timeline van Facebook zit vol keuzes van programmeurs. Soms moeten die ook ethische keuzes maken. Neem het programmeren van een zelfrijdende auto. Stel dat op zeker moment zo'n auto moet beslissen tussen een botsing met een oud vrouwtje of een spelend kind, wat dan? Kennis van ICT maakt je veel meer bewust van dergelijke keuzes."

 

© PXimport

Twee leden van computerclub Beers Hackwerk aan het werk.

Welke programmeertaal moet je kiezen?

Je ziet het: er zijn programmeertalen genoeg. We hebben al een paar suggesties gegeven voor talen die geschikt zijn voor beginnende programmeurs. In het overzichtje van online cursussen zie je echter nog veel meer programmeertalen voorbij komen. Hoe maak je een keuze uit al die mogelijkheden? Welke talen zijn wel en niet geschikt als volgende stap? We vragen het aan de experts.

Informaticus Marieke Huisman geeft bij de Universiteit Twente programmeercolleges aan eerstejaars studenten. Welke talen leren ze daar? "Na lang beraad viel de keuze uiteindelijk op Java. Deze taal is 'full-fledged' en heel geschikt om de basisconcepten van het programmeren te leren, zoals algoritmen en datastructuren. Als je die concepten eenmaal begrijpt, dan is het vrij gemakkelijk om daarna nog andere talen erbij te leren, mocht dat ooit nodig zijn. Naast Java is ook wel Javascript geschikt om die programmeerconcepten te leren. Beter dan bijvoorbeeld C, een vrij low-level taal waarmee je dichter op de hardware zit."

Beroepsprogrammeur Bob den Otter bekijkt het van de praktische kant: "De vraag is vooral wat je ermee wilt. Programmeren is geen doel op zich, maar een middel. Wil je websites bouwen? Prima om dan PHP en MySQL te leren. Maar als je graag games wilt ontwikkelen of systeemprogrammeur wil worden, dan kun je beter met heel andere talen aan de slag. Je kunt niet bij voorbaat zeggen dat één taal het meest geschikt is. Kies eerst je doel en dan pas de taal om dat doel te bereiken."

En als je van programmeren uiteindelijk je beroep wilt maken, hoe belangrijk is dan een informaticastudie? Den Otter: "Ook dat hangt ervan af. Ons bureau richt zich op websites en apps. Daarvoor moet je in de eerste plaats een aantal programmeertalen en tools goed beheersen. Of je een voltooide opleiding hebt, is minder belangrijk. Maar ik kan me voorstellen dat als je game-developer wilt worden, zo'n studie veel belangrijker is. Bij games krijg je bijvoorbeeld ook te maken met complexe 3D-berekeningen."

Tot slot

Zodra je eenmaal bent begonnen met programmeren, zijn de mogelijkheden om je je er verder in te ontwikkelen vrijwel eindeloos. Dit artikel heeft je daarvoor praktische tips gegeven. Maar zo ver hoef je natuurlijk niet te gaan. Je kunt het ook bij een eerste kennismaking laten - ook dat is al interessant en leerzaam.

Terug naar de vraag aan het begin van dit artikel: waarom zou je leren programmeren? Je kunt die vraag ook omkeren: waarom zou je het niet leren? Want wat is leren nu eigenlijk? Mensen leren voortdurend nieuwe dingen om de wereld ietsje beter te begrijpen en om nieuwe vaardigheden op te doen. Neem de vakken die we allemaal op school kregen: economie, aardrijkskunde, natuurkunde, scheikunde, biologie etc. Allemaal vakken die ons iets leren over de complexe wereld waarin we leven. Dat leren blijft niet beperkt tot alleen maar kennis opdoen uit leerboekjes, soms steken we daarbij ook de handen uit de mouwen. Chemische stoffen laten reageren bij scheikunde of heel soms zelfs kikkers opensnijden bij biologie. Geen vaardigheden die veel mensen later in hun leven nodig zullen hebben. Toch doen we dit op school, omdat het moet bijdragen aan een klein beetje beter begrip van onze wereld.

Maar die wereld is in de afgelopen halve eeuw sneller dan ooit veranderd. Zonder computers kunnen en willen we niet meer. Toch blijven het voor veel mensen tamelijk ondoorgrondelijke apparaten. Is het dan niet de hoogste tijd om wat meer te leren over hun werking? En hoe doe je dat beter dan door kennis te maken met wat die apparaten aanstuurt: de software? En wat is dan leerzamer dan daarvoor zelf een stukje software te schrijven? En misschien wel het belangrijkste: programmeren is te leuk om níet te leren!

Deel dit artikel
Voeg toe aan favorieten