
Cursus Software Programmeren
Leer echte software vanaf de basis schrijven — van je eerste coderegel tot een volledig verpakte, geteste applicatie. Deze cursus behandelt alles wat een beginner nodig heeft om snel praktische programmeervaardigheden op te doen. Je werkt aan praktijkprojecten, beheerst kernconcepten en bent klaar om bij te dragen aan een professioneel ontwikkelingsteam.
Wat jouw team gaat beheersen:
Je begint met het opzetten van een professionele ontwikkelomgeving en leert hoe computers code daadwerkelijk uitvoeren. Van daaruit beheers je de kerngrammatica, datatypen, control flow en functies, voordat je overgaat naar objectgeoriënteerd programmeren en datastructuren. Je leert fouten correct afhandelen, bestanden lezen en schrijven, en web-API's gebruiken. De cursus behandelt ook Git-samenwerking, geautomatiseerd testen en codekwaliteitspraktijken. Na afloop heb je een compleet project in je portfolio en een duidelijke route naar je eerste ontwikkelaarsrol.
Hoe jouw team praktisch leert Cursus Software Programmeren
Hoe jouw team oefent Cursus Software Programmeren
Professionals van deze bedrijven leren bij Dedika









Cursusinhoud
8 Hoofdstukken • 39 LessenDuur tussen 4 en 360 uren (jij beslist)
Hoofdstuk 1VerbergenVerberg detailsBekijk detailsProgrammeerfundamenten en Omgevingsinstallatie
Programmeerfundamenten en Omgevingsinstallatie
Les 1 • Een taal kiezen en installeren
Vergelijkt programmeertaalparadigma's en leidt de installatie van een beginner-vriendelijke taal-runtime. Stelt een consistente toolchain in voor de gehele cursus.
Les 2 • Hoe computers programma's uitvoeren
Legt de fetch-decode-execute-cyclus, het geheugen en de rol van het besturingssysteem uit. Grondt alle latere codeerconcepten in de hardwarerealiteit.
Les 3 • Versiebeheer met Git-basisprincipes
Introduceert Git als een vangnet voor codewijzigingen en samenwerking. Studenten committen hun eerste project en vestigen gewoonten die in elk later hoofdstuk worden gebruikt.
Les 4 • De ontwikkelomgeving configureren
Behandelt editorselectie, extensies en terminalbasisprincipes. Een goed geconfigureerde omgeving vermindert wrijving in alle volgende hoofdstukken.
Hoofdstuk 2VerbergenVerberg detailsBekijk detailsKern-taal-syntaxis en gegevenstypen
Kern-taal-syntaxis en gegevenstypen
Les 1 • Werken met strings
Onderzoekt string-indexering, slicing, concatenatie en veelgebruikte ingebouwde methoden. Stringmanipulatie is essentieel voor gebruikersinvoer en -uitvoer in latere projecten.
Les 2 • Variabelen en toewijzing
Behandelt variabele declaratie, naamgevingsconventies en geheugenbinding. Het begrijpen van variabelen is een voorwaarde voor elk volgend codeerconcept.
Les 3 • Operatoren en expressies
Leert rekenkundige, vergelijkings-, logische en toewijzingsoperatoren met voorrangsregels. Expressies zijn de bouwstenen van alle control flow die hierna wordt behandeld.
Les 4 • Primitieve gegevenstypen
Onderzoekt integers, floats, booleans en strings met hun geheugenimplicaties. Correcte typeselectie voorkomt veelvoorkomende bugs die later in logica-hoofdstukken worden geïntroduceerd.
Les 5 • Invoer- en uitvoerbewerkingen
Toont het lezen van gebruikersinvoer en het afdrukken van opgemaakte uitvoer naar de console. Deze vaardigheden maken interactieve programma's mogelijk die gedurende de cursus worden gebouwd.
Hoofdstuk 3VerbergenVerberg detailsBekijk detailsControl flow en besluitvorming
Control flow en besluitvorming
Les 1 • Voorwaardelijke statements
Behandelt if-, else-if- en else-takken met Booleaanse condities. Conditionals zijn het primaire mechanisme voor door beslissingen gedreven logica in alle programma's.
Les 2 • Control flow-logica debuggen
Gebruikt print-statements en een debugger om voorwaardelijke en lusuitvoering te traceren. Systematische debugvaardigheden verminderen de tijd die wordt besteed aan het oplossen van logische fouten in latere projecten.
Les 3 • Lussen en iteratie
Introduceert while- en for-lussen voor het herhalen van bewerkingen op gegevens of tellingen. Iteratie vormt de basis voor collecties, algoritmen en gegevensverwerking die later worden behandeld.
Les 4 • Luscontrolestatements
Legt break, continue en return binnen lussen uit om de iteratiestroom te wijzigen. Precieze luscontrole is cruciaal voor het schrijven van efficiënte, correcte algoritmen.
Les 5 • Itereren over collecties
Past lussen toe op lijsten, strings en ranges met idiomatische patronen. Bereidt studenten voor op het collecties-hoofdstuk door iteratie in context te tonen.
Hoofdstuk 4VerbergenVerberg detailsBekijk detailsFuncties en code-organisatie
Functies en code-organisatie
Les 1 • Code organiseren in modules
Laat zien hoe je code verdeelt over bestanden en functionaliteit importeert tussen modules. Modulair ontwerp is de basis van de grotere projecten in gevorderde hoofdstukken.
Les 2 • Functies definiëren en aanroepen
Behandelt functiesyntaxis, parameters, retourwaarden en aanroepmechanica. Functies zijn de primaire eenheid van codehergebruik gedurende de rest van de cursus.
Les 3 • Recursiefundamenten
Introduceert recursief denken met basisgevallen en recursieve gevallen. Recursie is fundamenteel voor boomtraversal en divide-and-conquer-algoritmen die later worden geïntroduceerd.
Les 4 • Standaard- en keyword-argumenten
Toont optionele parameters, standaardwaarden en benoemde argumentdoorgifte. Flexibele functiehandtekeningen maken API's eenvoudiger te gebruiken en uit te breiden.
Les 5 • Scope en variabele levensduur
Legt lokale, omsluitende en globale scope uit met risico's op variabele shadowing. Goed scoping-beheer voorkomt subtiele bugs in multifunctieprogramma's.
Hoofdstuk 5VerbergenVerberg detailsBekijk detailsDatastructuren en collecties
Datastructuren en collecties
Les 1 • Het juiste datastructuur kiezen
Vergelijkt tijd- en ruimtecomplexiteit van lijsten, dicts en sets voor veelvoorkomende bewerkingen. Geïnformeerde structuurselectie is cruciaal voor het algoritme-hoofdstuk dat voor ons ligt.
Les 2 • Sets en uniciteitsbewerkingen
Introduceert sets voor deduplicatie, lidmaatschapstesten en setalgebra. Setbewerkingen bieden efficiënte oplossingen voor problemen met unieke elementen.
Les 3 • Tuples en onveranderlijke reeksen
Legt tuples, hun onveranderlijkheid en gebruikssituaties zoals meerdere retourwaarden uit. Het kiezen van tuples boven lijsten geeft intentie aan en voorkomt onbedoelde mutatie.
Les 4 • Lijsten en dynamische arrays
Behandelt het maken, indexeren, slicen en muteren van lijsten. Lijsten zijn het meest voorkomende collectietype en komen in elk volgend project voor.
Les 5 • Dictionaries en sleutel-waarde-opslag
Leert dictionary-creatie, opzoeken, bijwerken en iteratiepatronen. Dictionaries vormen de basis voor configuratie, caching en gegevensmodellering in latere projecten.
Hoofdstuk 6VerbergenVerberg detailsBekijk detailsObjectgeoriënteerd programmeren
Objectgeoriënteerd programmeren
Les 1 • Klassen en objectinstanties
Definieert klassensyntaxis, constructoren en instantiecreatie. Klassen zijn het primaire abstractiemechanisme voor alle objectgeoriënteerde ontwerppatronen die komen gaan.
Les 2 • Objectgeoriënteerde ontwerpprincipes
Introduceert SOLID-principes en veelvoorkomende ontwerppatronen op conceptueel niveau. Deze principes sturen de architectuurkeuzes in het laatste projecthoofdstuk.
Les 3 • Polymorfisme en duck typing
Legt uit hoe objecten van verschillende klassen een gemeenschappelijke interface delen door polymorfisme. Polymorf ontwerp maakt systemen flexibel en eenvoudiger uit te breiden.
Les 4 • Overerving en codehergebruik
Toont enkelvoudige en meerlaagse overerving met methode-overriding. Overerving maakt hiërarchische modellering mogelijk en vermindert codeduplicatie tussen gerelateerde klassen.
Les 5 • Methoden en inkapseling
Behandelt instantiemethoden, de self-parameter en toegangsconventies. Inkapseling verbergt implementatiedetails en vermindert koppeling tussen componenten.
Hoofdstuk 7VerbergenVerberg detailsBekijk detailsFoutafhandeling en robuuste code
Foutafhandeling en robuuste code
Les 1 • Logboekregistratie en observeerbaarheid
Introduceert gestructureerde logging als vervanging voor print-gebaseerd debuggen. Logs bieden runtime-zichtbaarheid die essentieel is voor het diagnosticeren van problemen in geïmplementeerde toepassingen.
Les 2 • Uitzonderingen en fouten begrijpen
Onderscheidt syntaxisfouten, runtime-uitzonderingen en logische fouten per categorie. Correcte classificatie versnelt diagnose en informeert de juiste afhandelingsstrategie.
Les 3 • Invoervalidatie en defensief programmeren
Past validatiepatronen toe om functies te beschermen tegen slechte invoer voordat deze wordt verwerkt. Defensief programmeren vermindert het oppervlak voor runtime-falen in productie.
Les 4 • Uitzonderingen gooien en aangepaste uitzonderingen maken
Laat zien hoe je opzettelijk uitzonderingen gooit en domeinspecifieke uitzonderingsklassen definieert. Aangepaste uitzonderingen maken bibliotheek- en API-foutcontracten expliciet.
Les 5 • Try-except- en finally-blokken
Leert try-, except-, else- en finally-syntaxis voor gestructureerde uitzonderingsafhandeling. Deze constructies voorkomen crashes en zorgen ervoor dat opschooncode altijd wordt uitgevoerd.
Hoofdstuk 8VerbergenVerberg detailsBekijk detailsToegepast project en softwarevakmanschap
Toegepast project en softwarevakmanschap
Les 1 • Projectplanning en vereisten
Vertaalt een probleemstelling in user stories, acceptatiecriteria en een moduleplan. Duidelijke vereisten voorkomen scope creep en sturen alle implementatiebeslissingen.
Les 2 • Documentatie en code-opmerkingen
Leert docstring-conventies, inline-opmerkingen en het genereren van API-referentiedocumentatie. Goede documentatie maakt code bruikbaar voor teamgenoten en toekomstige beheerders.
Les 3 • Uw project verpakken en delen
Begeleidt afhankelijkheidsbeheer, projectverpakking en publicatie naar een pakketregister. Distribueerbare pakketten zijn de standaardoplevering in professionele softwareteams.
Les 4 • Geautomatiseerd testen met unit tests
Behandelt testcase-ontwerp, assertions en het uitvoeren van een testsuite met een standaardframework. Geautomatiseerde tests vangen regressies op en valideren gedrag naarmate het project groeit.
Les 5 • Codekwaliteit en refactoring
Past linting, opmaak en systematische refactoring toe om leesbaarheid en onderhoudbaarheid te verbeteren. Schone code vermindert inwerktijd en onderhoudskosten op lange termijn.
Jouw geldig certificaat van voltooiing
Deze cursus is voor jou:
Carrièreswitchers: op zoek naar een gestructureerd pad naar softwareontwikkeling vanuit niet-gerelateerde vakgebieden.
Recent afgestudeerden: die praktische codeervaardigheden willen toevoegen aan hun academische achtergrond.
Ondernemers: die hun eigen digitale producten zelfstandig willen prototypen en bouwen.
Analisten en dataprofessionals: klaar om repetitieve taken te automatiseren via maatwerk scripts.
Hobbyisten: enthousiast om creatieve projectideeën om te zetten in volledig functionerende applicaties.
Freelancers: die hun dienstenaanbod willen uitbreiden door programmeermogelijkheden toe te voegen.
Gerelateerde cursussen
FAQ
Wie is Dedika?
Is het certificaat geldig in Nederland?
Zijn de cursussen gratis?
Wat is de studielast van de cursus?
Hoe zien de cursussen eruit?
Hoe werken de cursussen?
Wat is de duur van de cursussen?
Wat zijn de kosten of prijzen van de cursussen?
Wat is een EAD- of online cursus en hoe werkt het?
PDF-cursus



















