- Er zijn twee belangrijke dingen die je moet weten over leren coderen:
- Het eerste punt heb ik keer op keer gezien. Mensen die me vertellen dat ze gaan leren coderen, dan beginnen ze te leren, en ze denken dat het zo saai is als de hel.
- Dat brengt me bij punt nummer twee. Leren coderen betekent niet meer hetzelfde.
- Het probleem is dat dat niet is wat mensen willen. Ze willen iets bouwen. En we moeten er niet langer van uitgaan dat je om iets te bouwen alles moet leren over computers of zelfs coderen in het algemeen.
- Als leraren moeten we erkennen dat als mensen zeggen dat ze willen leren coderen, ze vaak bedoelen dat ze een web- of mobiele applicatie willen bouwen.
- Als student: leer wat je wilt leren.
- Dus hoe lang duurt het om te leren coderen?
Er zijn twee belangrijke dingen die je moet weten over leren coderen:
- De meeste mensen willen eigenlijk niet “leren coderen”
- Leren coderen betekent niet meer één ding
Het is belangrijk om deze twee dingen te weten, omdat anders de manier waarop we mensen over coderen leren verkeerd is, en mensen het niet zullen leren.
Het eerste punt heb ik keer op keer gezien. Mensen die me vertellen dat ze gaan leren coderen, dan beginnen ze te leren, en ze denken dat het zo saai is als de hel.
Ik noem het de codering denkfout. Mensen denken dat ze willen leren coderen, maar wat ze echt willen doen is een product bouwen.
Wanneer we erover nadenken, zou dit vrij duidelijk moeten zijn. Kennis van code op zich is niet waardevol als je er niets mee kunt doen. Dus voor de meeste mensen is de grootste motivatie om te leren coderen het bouwen van iets (hoewel een goede tweede het krijgen van een beter betaalde baan is).
Dat brengt me bij punt nummer twee. Leren coderen betekent niet meer hetzelfde.
Ooit was het zo dat je om te kunnen coderen bijna alles over computers moest weten (vandaar de term “Informatica”). Daarna werden de dingen zo geabstraheerd dat je je niet meer in bepaalde onderwerpen hoefde te verdiepen, tenzij dat echt nodig was. Bijvoorbeeld, als een ontwikkelaar van webapplicaties op dit moment, hoef ik heel weinig te weten over systeembeheer, omdat het meestal voor mij wordt gedaan door tools zoals Heroku en Amazon Web Services.
Dus wanneer mensen zeggen dat ze willen leren coderen, beginnen de meeste docenten waar ze aannemen dat ze moeten (waar ze altijd hebben gedaan), met gegevenstypen, de verschillende structuren van een taal, en helpen studenten een dieper begrip van computers te ontwikkelen.
Het probleem is dat dat niet is wat mensen willen. Ze willen iets bouwen. En we moeten er niet langer van uitgaan dat je om iets te bouwen alles moet leren over computers of zelfs coderen in het algemeen.
Als iemand bijvoorbeeld al samenwerkt met een geweldige back-end ontwikkelaar, zou het zinvol zijn om ze alleen de front-end te leren, omdat dat het nuttigste voor ze zal zijn. Ze zullen sneller gedaan krijgen wat ze willen, en ze zullen de back-end op een later tijdstip kunnen leren. Door dit te doen verminderen we de cognitieve belasting van de student en stellen we hem of haar in staat sneller te leren.
Wanneer je voor het web ontwikkelt, krijg je specifiek te maken met:
- HTML
- CSS
- JavaScript
- Back-end Programmeren
- Databases
- Hosting/DNS
Er is hier een hoop te leren. En het meeste is tamelijk irrelevant voor niet-webontwikkeling (behalve databases en applicatiestructuur natuurlijk).
De manier waarop ik het zie, is de meeste coding-opleiding een aas en wissel. Het gaat als volgt:
Student: “Ik wil leren coderen.” (Maar wat ze eigenlijk – maar weet niet genoeg om te vragen – is ik wil een web of mobiele applicatie te bouwen.)
Docent: “Oke laten we beginnen met data types.”
Student: “…”
(2 weken later)
Docent: “Nu kunnen we efficiënte algoritmen ontwerpen.”
Student: “Maar ik wilde alleen maar een mooie website maken!”
Als leraren moeten we erkennen dat als mensen zeggen dat ze willen leren coderen, ze vaak bedoelen dat ze een web- of mobiele applicatie willen bouwen.
Dat is omdat voor hen dat is wat coderen IS. Het is alles wat ze ooit hebben blootgesteld aan over coderen. Het probleem is dat ze niet weten hoe ze er om moeten vragen! Dus we moeten niet alles wat ze zeggen zomaar aannemen. Het is onze taak als opvoeders om tussen de regels door te lezen.
Ik herinner me dat ik een paar jaar geleden een toneelstuk zag waarin een priester zegt dat je de waarheid moet vertellen, zelfs in moeilijke omstandigheden. De persoon met wie hij praat vraagt: “Maar wat als iemand je een vraag stelt en je weet dat de waarheid je zal kwetsen?” De priester antwoordt: “Als iemand je een vraag stelt, beantwoord dan de vraag die ze ECHT stellen.”
Ook in het onderwijs moet je tussen de regels door lezen om erachter te komen wat mensen werkelijk willen. Als ze iets specifieks vragen, moet je de persoon begeleiden in de richting van wat hen naar hun ideale leerervaring zal leiden.
Het is dus aan ons als opvoeders en als deskundigen om mensen in de juiste richting te leiden en ze niet gewoon te laten spartelen. Als we dit kunnen doen, dan kunnen we veel meer mensen in staat stellen om geweldige dingen te doen.
Als student: leer wat je wilt leren.
Een van de beste dingen die je in je eigen leeravonturen kunt doen, is een beetje leren over veel dingen – zodat je weet waar je later dieper in wilt duiken.
Hier bij One Month, wanneer we zeggen dat je kunt “leren coderen in 30 dagen”, wat we bedoelen is dat je in slechts 30 dagen genoeg van HTML (JavaScript of Python) kunt leren om conversatie in code te zijn, zelfverzekerd genoeg dat je je kunt onderscheiden op de arbeidsmarkt.
Dus hoe lang duurt het om te leren coderen?
We heten “One Month”, dus betekent dat dat na 30 dagen coderen onze studenten klaar zijn met leren? Helemaal niet. Ik codeer nu al meer dan 15 jaar en er zijn nog zoveel dingen die ik niet weet – maar daar gaat het niet om. “Leren coderen” gaat niet over alles weten in de taal, het gaat over genoeg weten om een gesprek te kunnen voeren en een stempel op de wereld te drukken met je geest en je creatieve vaardigheden.