ID.nl logo
Leren programmeren? Met deze tools is coderen geen geheimcode meer
© Chaosamran_Studio - stock.adobe.
Huis

Leren programmeren? Met deze tools is coderen geen geheimcode meer

Of je nu een eigen website of mobiele app wilt ontwikkelen, een database wilt beheren of processen wilt automatiseren, kennis van programmeren is eigenlijk onmisbaar. Wij wijzen je de weg naar de betere online leerplatformen, cursussen en andere tools die je helpen om programmeervaardigheden te ontwikkelen of te verbeteren.

In dit artikel vind je talloze tools om te leren programmeren, of om je bestaande vaardigheden op te krikken. We bespreken:

  • Low- en no-code programmeren
  • Programmeren voor kinderen en jongeren
  • Nederlandse beginnerscursussen
  • Engelse beginnerscursussen
  • Gecertificeerde leerplatformen
  • Programmeren voor gevorderden

Ook interessant: Een leven lang leren? Zo breid je je kennis uit of houd je het op peil

Voordat je diep in digitale cursussen duikt om een script- of programmeertaal te leren of je vaardigheden daarin te verbeteren, kun je eventueel ook overwegen om websites, apps en andere software te maken zónder te programmeren. Al decennialang heeft het concept van Rapid Application Development (methodisch en snel software ontwikkelen in projectvorm) geleid tot een low-code- en zelfs no-code-aanpak.

Low-code platformen zoals Mendixen OutSystems stellen gebruikers in staat om applicaties te maken vanuit toegankelijke interfaces, met eenvoudige logica en drag-and-drop functies. Je kunt indien nodig zelf code aanpassen of toevoegen.

Naast deze hybride aanpak zijn er ook heuse no-code platformen die softwareontwikkeling toegankelijk maken voor mensen zonder programmeerervaring. Hierin draait alles om een visuele interface waarin je componenten selecteert en organiseert om applicaties te bouwen.

Mendix: een low-code platform voor apps, bijvoorbeeld op basis van eigen spreadsheets en data.

Liever no?

Als je een mobiele app wilt ontwikkelen met weinig of geen programmeerkennis, zijn er verschillende opties. Glide, het opensourceproject Mit App Inventor, Thunkable, Kodular en Adalo zijn enkele platformen die je hiervoor kunt gebruiken. Voor webapplicaties zijn Wix Studio en Bubble goede keuzes, evenals de applicatie WYSIWYG Web Builder (What You See Is What You Get) van Nederlandse origine. Deze bieden sjablonen die je kunt aanpassen door elementen als tekst, menu’s, knoppen en formulieren toe te voegen of te verwijderen.

Voor een praktische introductie in no-code omgevingen zoals Glide, Adalo en Bubble, kun je onder meer terecht bij TechAcademy (39,95 euro).

Met Wix Studio kun je fraaie websites bouwen zonder je om code te bekommeren.

Wat voor wie?

In de rest van dit artikel focussen we ons wel op het verbeteren van je vaardigheden in een script- of programmeertaal. De keuze voor de meest aangewezen tool, cursus of platform hangt natuurlijk af van verschillende factoren, zoals je huidige programmeerkennis. Ben je een volslagen beginner of wil je je kennis uitbreiden? Zoek je een leermiddel voor jezelf of wil je je kinderen de beginselen van het programmeren bijbrengen? Welke script- of programmeertaal wil je vooral leren? Is Nederlands een vereiste voor de instructietaal of is Engels ook prima? Heb je een budget beschikbaar of zoek je alleen naar gratis opties? Werk je het liefst zelfstandig door een cursus heen, of verkies je een interactieve omgeving met een community om ideeën en problemen te bespreken? Hoe dan ook, in de rest van het artikel vind je vast een tool, cursus of leeromgeving die aansluit bij je behoeften.

AI-code-assistenten

Al meer dan een decennium wordt er geëxperimenteerd met AI in softwareontwikkeling. Aanvankelijk was dit beperkt tot eenvoudige taken, zoals automatische code-aanvulling en foutopsporing (debugging). De laatste maanden is er echter een versnelling opgetreden, mede dankzij de introductie van OpenAI’s Codex in 2021. Dit project is gebaseerd op het GPT-3-model en is een AI-systeem dat natuurlijke taal in code omzet.

Tegenwoordig zijn er verschillende AI-code-assistenten beschikbaar die zich integreren in populaire code-editors als Visual Studio Code. Bekende voorbeelden zijn GitHub Copilot, Tabnine en Amazon CodeWhisperer. Deze assistenten helpen niet alleen met het detecteren van gebrekkige of onveilige code en het becommentariëren van code, maar kunnen ook zelf codes genereren op basis van een eenvoudige omschrijving.

Github Copilot aan het werk in Visual Studio Code.

Generatieve AI-bots

AI-code-assistenten zijn ontworpen om te integreren in een IDE (Integrated Development Environment). Als beginner ben je mogelijk nog niet vertrouwd met zo’n omgeving, maar dat betekent niet dat je AI niet kunt gebruiken voor je codeerprojecten. AI-chatbots, zoals Bard, Copilot en ChatGPT kunnen je zeker ook ondersteunen. We nemen ChatGPT als voorbeeld.

Lees ook eens deze reeks: Programmeren in Python met ChatGPT

Na een (gratis) aanmelding kun je met de juiste prompts code laten genereren, aanvullen, aanpassen, converteren en becommentariëren. ChatGPT is bekend met meerdere script- en programmeertalen, waaronder Python, JavaScript, Java, C++, Ruby, PHP, SQL, HTML en CSS. Experimenteer gerust zelf met prompts zoals de volgende:

  • Schrijf een Python-script dat de faculteit van een getal berekent.

ChatGPT blijkt van vele (code)markten thuis.
  • Maak een VBS-script voor Word dat alle woorden vanaf 10 letters vet maakt.

  • Pas het volgende Java-programma […] aan dat een reeks getallen sorteert, zodat de min- en maxwaarden worden afgedrukt.

  • Leg uit waarom de onderstaande SQL-query code een fout veroorzaakt en corrigeer.

  • Herschrijf de onderstaande Python-code in JavaScript.

  • Leg in het Nederlands uit wat de onderstaande coderegels precies doen.

We raden je wel aan altijd grondig de gegenereerde code te controleren, aangezien deze in praktijk niet altijd feilloos werkt.

Naast ChatGPT kun je ook ZZZ Code AI gebruiken. Dit platform biedt op basis van ChatGPT modules aan voor het genereren, debuggen, herstructureren en beoordelen van code, met directe links voor talen als C, C++, C#, CSS, HTML, Java, JavaScript en Python.

ZZZ Code AI werkt op basis van ChatGPT, maar is specifiek op programmeren gericht.

Voor kinderen

Generatieve AI-chatbots kunnen nuttig zijn voor oudere kinderen, maar om kinderen een solide programmeerbasis te geven, is het beter ze eerst vertrouwd te maken met basisprincipes van algoritmiek.

Scratch, ontwikkeld door het MIT Media Lab, is een visueel programmeerplatform gericht op kinderen vanaf 8 jaar (en andere beginners). Nadat je je gratis aangemeld hebt, aanmelding start je direct in een visuele programmeeromgeving. Scratch gebruikt gekleurde blokken die verschillende programmeercommando’s vertegenwoordigen. Deze blokken kunnen gesleept, neergezet en gecombineerd worden om scripts te maken. Ook basisconcepten als lussen en variabelen zijn beschikbaar in blokvorm. Je kunt ‘sprites’ (personages), achtergronden, geluid en muziek toevoegen. Bovendien kan elke sprite zijn eigen script hebben en doordat je deze met gebeurtenissen als muisklikken en toetsaanslagen kunt laten interageren, zijn animaties en zelfs eenvoudige games mogelijk. Je projecten delen en ideeën uitwisselen is eveneens mogelijk.

Klikken, slepen en combineren voor een originele animatie.

Voor jongeren

CodeCombat is een andere omgeving die gericht is op jongeren. Hierin draait het om ‘gamificatie’. Je schrijft dan code, zoals Python of JavaScript, om uitdagingen in de game-opstellingen op te lossen. Je ziet de impact van je code in realtime op de gamewereld en leert gaandeweg geavanceerdere concepten. Er zijn hints, beloningen en punten beschikbaar. CodeCombat houdt ook netjes je voortgang bij.

Al spelend leren programmeren, en dat mag je bij CodeCombat vrij letterlijk nemen.

Code.org pakt het wat anders aan. Het is een initiatief van een Amerikaanse non-profitorganisatie die zich richt op jongeren en aansluit bij het typische informatica-curriculum van K-12-scholen (12 jaar doorlopend onderwijs vanaf de kleuterschool). De website biedt diverse cursussen rond computertechnologie aan in verschillende talen, waarvan de meerderheid Engelstalig is. De cursussen zijn ingedeeld in leeftijdscategorieën en omvatten ook visuele programmeeromgevingen zoals App Lab, Game Lab en Web Lab.

Probeer ook eens een Raspberry Pi

Een andere vorm van programmeren

Engelse beginnerscursussen

Als Scratch, CodeCombat of Code.org niet aansluiten bij je behoeften en je bent een (volwassen) beginner, zijn er zeker nog andere mogelijkheden.

Voor wie zich vooral op webontwikkeling wil richten, is W3Schools een uitstekend startpunt. Deze website biedt een groot aantal tutorials, voorbeelden en oefeningen op het gebied van webtechnologieën. Het materiaal is gestructureerd in modules voor technologieën als HTML(5), CSS, JavaScript (inclusief frameworks zoals Angular en Node.js), XML, JSON en serverside-technologieën als PHP en ASP.NET. Je kunt voorbeelden interactief uitproberen op de site. De inhoud is vrij toegankelijk en wordt regelmatig bijgewerkt. Ook kun je je eigen code en webpagina’s gratis opslaan in ‘W3Schools spaces’ en delen met anderen. Voor betaalde certificaten die je kennis aantonen, kun je ook bij W3Schools terecht.

Codecademy biedt interactieve cursussen in diverse programmeertalen, waaronder Python, JavaScript en HTML/CSS. Het Basic-plan is gratis en biedt toegang tot veel cursussen, lesmateriaal zoals cheatsheets, video’s en een actieve community. Er zijn veel cursussen beschikbaar. We telden er bijvoorbeeld meer dan 60, zowel voor Python als JavaScript, waarvan telkens een goede helft gericht is op beginners. Het Plus-abonnement geeft voor ongeveer 10 euro per maand toegang tot alle cursussen en quizzen, oefenmogelijkheden op de mobiele app, meer gepersonaliseerde trajecten en realistische projecten.

Een min of meer vergelijkbaar leerplatform is Educative, met een uitgebreid cursusaanbod op het gebied van softwareontwikkeling. De cursussen zijn tekstgebaseerd, maar bevatten tevens interactieve codevoorbeelden en oefeningen (in een code playground, zodat je geen externe ontwikkelingsomgeving nodig hebt). Grafieken houden netjes je voortgang bij. Een Standard-account kost circa 143 dollar per jaar (voor toegang tot 700 cursussen).

W3Schools heeft een uitgebreid en behoorlijk up-to-date aanbod voor allerhande webtechnologieën.

Nederlands voor beginners

W3Schools en Codecademy bieden uitstekende en gevarieerde programmeercursussen aan, maar de instructietaal en voorbeelden zijn helaas nagenoeg uitsluitend Engelstalig. Is dat voor jou een probleem, dan kun je eventueel uitwijken naar de Khan Academy, hoewel ook hier het aanbod aan Nederlandstalige cursussen beperkt is. De focus ligt vooral op wiskunde, natuurwetenschappen en economie, maar er zijn ook cursussen rond informatica en programmeren. Al het cursusmateriaal, inclusief talrijke korte en toegankelijke video’s, is geheel gratis. Een account aanmaken, stelt je in staat je voortgang bij te houden en gepersonaliseerde leeraanbevelingen in de vorm van gedetailleerde rapporten te ontvangen. Er zijn ook oefeningen en quizzen beschikbaar waarmee je de aangeleerde kennis kunt toetsen.

Ongeveer hetzelfde verhaal geldt voor Udemy. Dit is wereldwijd een van de grootste en bekendste leerportalen met enkele tienduizenden instructeurs en cursussen. Er is een breed scala op het vlak van programmeren, zowel voor beginners als voor gevorderden. Je vindt onder meer cursussen over webontwikkeling, data-analyse, machine learning enzovoort, ook in het Nederlands. Udemy hanteert een pay-per-course model, wat betekent dat je afzonderlijke cursussen kunt kopen, vaak tegen democratische prijzen – prijzen van 10 euro zijn eerder regel dan uitzondering. Het cursusaanbod is dus divers, gelukkig zijn er zoekcriteria als topic, relevantie, waardering, niveau en videolengte (hoewel de filtering ons nogal simplistisch lijkt). Weet wel dat Udemy geen traditionele academische accreditatie biedt maar vooral is gericht op zelfstudie.

Udemy: uiteenlopende cursussen aan betaalbare prijzen (ook in het Nederlands).

Gecertificeerd

We zullen ons nu wat meer op gevorderden richten met online leerplatformen die gecertificeerde cursussen aanbieden, wat belangrijk kan zijn als je een carrière in het programmeren beoogt.

Een bekend platform met geaccrediteerde certificaten is Coursera, dat samenwerkt met universiteiten en educatieve instellingen. Veel cursussen kun je gratis uitproberen, maar voor onbeperkte toegang tot de meer dan 7000 cursussen is een abonnement op Coursera Plus nodig (368 euro per jaar). Je kunt filteren op onder meer onderwerp, taal (inclusief Nederlands), niveau en duur.

Coursera heeft een uitgebreid cursusaanbod dat je met diverse criteria kunt filteren.

Edx biedt eveneens certificaten en heeft ongeveer 4000 cursussen, waaronder Python, JavaScript, C, algoritmiek en data-analysecursussen als SQL en Excel. Veel cursussen zijn ook gratis te volgen, maar dan krijg je geen certificaat, en ze zijn niet in het Nederlands.

Vermeldenswaardig zijn nog Pluralsight (ongeveer 5000 Engelstalige IT-gerelateerde cursussen vanaf 26 euro per maand) en Udacity. Deze laatste biedt gratis individuele cursussen aan, waaronder programmeercursussen, maar focust vooral op betaalde ‘nanodegree’ programma’s voor praktische vaardigheden in specifieke domeinen. Sololearn biedt eveneens gratis Engelstalige cursussen in programmeren aan. Een nog groter aanbod vind je bij FreeCodeCamp, met circa 9000 gratis Engelstalige zelfstudiecursussen, onder meer in web- en databasetechnologieën. Zowel Sololearn als FreeCodeCamp bieden certificaten aan bij het voltooien van de cursussen. Deze zijn helaas niet geaccrediteerd, maar kunnen wel waardevol zijn voor je cv of LinkedIn-profiel.

De cursussen in Sololearn zijn meestal opgedeeld in behapbare, interactieve deellessen.

Vooral voor gevorderden

We hebben al enkele online leerplatformen besproken die voor zowel beginners als gevorderden geschikt zijn. The Odin Project is gericht op meer gevorderde webdevelopers met cursussen over HTML, CSS (inclusief Flexbox) en JavaScript. TheCodePlayer biedt ook projecten aan met HTML5, CSS en JavaScript. Je krijgt toegang tot video’s en interactieve codevoorbeelden die verschillende effecten en functies implementeren, inclusief inzicht in de achterliggende code, aangevuld met stapsgewijze tutorials.

LeetCode (159 dollar per jaar) biedt een uitgebreide reeks technische en algoritmische uitdagingen en oefeningen, voornamelijk in het Engels. Deze zijn gerangschikt op moeilijkheidsgraad, en je kunt de oplossingen van anderen bekijken. LeetCode organiseert tevens programmeercompetities.

Voor meer gevorderde programmeurs kan ‘project-based learning’ een uitdagende, alternatieve aanpak zijn. Je volgt online tutorials die je stap voor stap door een groot en concreet project leiden, zoals het bouwen van je eigen tekstverwerker, neuraal netwerk of database, en veel meer. Op GitHub vind je daarvoor projectlijsten, zoals Build Your Own X en Project Based Learning. Bij deze laatste kies je een project op basis van de gewenste programmeertaal. Ook het al eerder vermelde FreeCodeCamp biedt diverse projecten aan. Je vindt hierover meer informatie op deze pagina, inclusief links naar diverse projecten in Python en JavaScript.

LeetCode schotelt je tal van uitdagingen voor (met een betaald abonnement).
Watch on YouTube
▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.

▼ Volgende artikel
Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp
© Gorodenkoff Productions OU
Huis

Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp

Resolutie is marketing, refreshrate is beleving. Waar 4K zorgt voor een mooi plaatje, zorgt een hoge verversing (Hz) ervoor dat je daadwerkelijk wint. Hieronder lees je waarom snelheid in feite de échte koning is in gaming.

Veel gamers staren zich blind op 4K-resolutie. Ze kopen een duur scherm, zetten de settings op Ultra en vragen zich vervolgens af waarom hun spel stroperig aanvoelt. De misvatting is dat 'mooier' gelijkstaat aan 'beter'. In werkelijkheid is de vloeibaarheid van het beeld – de refreshrate, oftewel verversingssnelheid – veel bepalender voor hoe direct en responsief een game aanvoelt. Aan het eind van dit artikel weet je precies of jij moet kiezen voor pixels of snelheid.

Hoe je ogen bedrogen worden door Hertz

Stel je voor dat je snel met je muis over je bureaublad beweegt. Op een standaard 60Hz-scherm zie je de cursor in schokjes over het beeld springen; je hersenen vullen de gaten in. Op een 144Hz- of 240Hz-gaming-monitor verdwijnen die gaten.

Het technische verschil zit hem in de verversingssnelheid: het aantal keren per seconde dat het beeld wordt vernieuwd. Bij 60 Hz krijg je elke 16,6 milliseconden een nieuw beeld. Bij 144 Hz is dat elke 6,9 milliseconden. Dat klinkt als een klein verschil, maar je voelt het direct. Het gestotter dat je onbewust gewend bent verdwijnt. Bewegingen voelen boterzacht aan, alsof de cursor (of je crosshair) aan je hand vastgeplakt zit in plaats van er achteraan zwemt. Dit effect wordt motion clarity genoemd: objecten blijven scherp, zelfs als ze snel door het beeld bewegen.

©Framestock

De winst in shooters en snelle actie

Wanneer werkt dit in je voordeel? Vooral in competitieve shooters zoals Call of Duty, Counter-Strike of Valorant. In dit soort games telt elke milliseconde. Een hogere refreshrate vermindert de input lag, oftewel de tijd tussen jouw klik en de actie op het scherm.

Stel, je draait je personage snel om. Bij een lage refreshrate wordt de vijand een fractie later getoond en zie je veel bewegingsonscherpte (motion blur). Met een hoge refreshrate zie je de vijand eerder en scherper, waardoor je sneller kunt reageren. Je hebt letterlijk actuelere informatie dan je tegenstander. Om dat te bereiken heb je wel een krachtige videokaart nodig die genoeg beelden per seconde (FPS) kan genereren om je snelle scherm bij te houden.

Wanneer resolutie het toch wint van snelheid

Is snelheid altijd heilig? Nee. Als je vooral tragere, meer verhalende games speelt (zoals Cyberpunk 2077 in de 'sightseeing' modus), Microsoft Flight Simulator of grafische RPG's, dan voegt 240 Hz weinig toe. In deze titels kijk je vaak naar stilstaande of langzaam bewegende omgevingen.

In dat geval wil je juist de texturen van de bomen, de reflecties in het water en de details in gezichten zien. Een 4K-monitor op 60 of 120 Hz is dan een logischer keuze dan een onscherp 1080p-scherm op 360 Hz. De visuele pracht weegt hier zwaarder dan de milliseconden reactietijd. Ook voor console-gamers die op de bank zitten, is een goede televisie met 4K en HDR vaak indrukwekkender dan puur de hoogste framerates.

Situaties waarin een hoge refreshrate zinloos is

Er zijn momenten dat investeren in een snel scherm weggegooid geld is. Dat gebeurt bijvoorbeeld als je hardware de snelheid niet kan leveren; als je videokaart maar 50 frames per seconde kan leveren, heeft een 144Hz-scherm geen nut omdat het scherm wacht op de computer. Daarnaast beperken oude kabels je bandbreedte, waardoor je monitor soms terugvalt naar 60 Hz zonder dat je het doorhebt. Ook op oudere consoles zoals de Nintendo Switch of de standaard PS4 heb je niets aan snelle schermen, omdat deze hardware fysiek gelimiteerd is op 60 Hz of lager.

Bepaal wat jouw setup aankan

Kijk dus kritisch naar je huidige situatie voordat je naar de winkel rent. Heb je een high-end pc die makkelijk 120+ FPS haalt in jouw favoriete games? Dan is een upgrade naar een 144- of 165Hz-monitor de grootste sprong in spelplezier die je kunt maken. Speel je op een PlayStation 5 of Xbox Series X? Zoek dan specifiek naar een scherm met HDMI 2.1-ondersteuning om 120 Hz op 4K mogelijk te maken. Zit je ver van je scherm af en speel je relaxed? Investeer dan liever in resolutie en kleurdiepte.

©Proxima Studio

Kortom: snelheid is de sleutel tot succes!

Verversingssnelheid is belangrijker dan resolutie voor iedereen die actie- of competitieve games speelt. Het zorgt voor een vloeiender beeld, minder input lag en betere motion clarity, wat je direct een voordeel geeft in het spel. Resolutie is vooral luxe voor het oog, maar refreshrate is pure prestatie voor de speler.