Programmeren voor Kinderen

Leren programmeren op de basisschool

Les 1

Een computerprogramma is een verhaal dat je aan de computer vertelt. Je zegt tegen de computer: “Doe dit, doe dan dat, en als je dat gedaan hebt, doe dan nog even dit.” Maar computers zijn erg dom. Dus je moet ze heel precies vertellen wat ze moeten doen. Zomaar even zeggen: Hallo computer, hoeveel is 2 + 2, dat werkt niet. Je moet het precies zo zeggen:

print 2 + 2

Print betekent: Schrijf op het scherm. Wat 2 + 2 betekent dat snap je wel.

Python gebruiken

We gaan programmeren in Python. Dat is een programmeertaal. We beginnen zo. Klik op het menu van Windows, de Start-knop linksonder. Type ‘cmd’ en dan Enter. Er verschijnt nu een zwart scherm.

Het Cmd-window

Het Cmd-window

Type daar maar eens python en dan Enter. Nu staat er >>> onderaan wat tekst. Probeer print 2 + 2maar eens. Heb je ook Enter gedaan? En? Klopt het? Kan je nu ook andere sommen doen? Kijk maar eens hoe dom de computer is (al kan hij heel goed rekenen.) Type maar eens iets anders dan print. Bijvoorbeeld plint. Snapt-ie het nog? Weet je wat ‘Error’ betekent? Dat betekent ‘Fout’. Je hebt het dus fout gedaan. En de computer snapt het meteen niet meer. Volgens mij bedoelde je gewoon print. Je kunt ook eens iets anders geks proberen. Wat dacht je van

print a + b

Weer fout. Maar als je goed kijkt zie je dat het een andere fout is dan de vorige keer.

Notepad gebruiken

Stel nou dat je dit verhaal voor de computer wil bewaren. Dan kun je het later nog een keer laten doen door de computer, en hoef je het niet weer in te typen. Om dat voor elkaar te krijgen maken we een programma. Een programma is een soort recept, zoals in een kookboek. Een recept vertelt je heel precies wat je moet doen om een cake te bakken. Doe bloem in een kom, doe de boter erbij, enzovoorts. Een programma vertelt de computer heel precies wat hij moet doen. Tel twee en twee bij elkaar op. En schrijf het antwoord op het scherm, graag, want anders kan ik het niet zien. Type maar eens

quit()

achter de >>>. En Enter natuurlijk. Dat betekent dat we heel even willen stopppen met opdrachten geven. We gaan namelijk even iets anders doen. Type nu

notepad print.py

(en Enter.) Zeg maar ‘Yes’ of ‘Ja’ als hij vraagt of er een nieuw bestand moet komen.

Foutmelding van Notepad.

Foutmelding van Notepad.

Dit is Notepad. Dat is een soort Word. Daarin kan je een programmaatje typen.

Notepad

Notepad. Hier kun je een programma typen.

Doe maar eens print 2 + 2en nog een paar sommen. Na iedere som moet je Enter doen, zodat iedere som op een eigen regel staat. Bewaar wat je hebt getypt (File, Save. Of Bestand, Bewaren.) Ga nu terug naar het zwarte scherm en type

python print.py

En? Deed ie het? Als je iets verkeerds gedaan hebt, staat er zoiets als:

  File "print.py", line 2
    print 9:3
           ^
SyntaxError: invalid syntax

Dit is heel handig. De eerste regel betekent: ‘In het bestand print.py heb je een fout gemaakt op regel 2’ (Een File is een bestand, een line is een regel.) Daarna staat die regel met de fout erin, maar eronder staat een pijltje:

       ^

en dat wijst precies aan wat er fout is. Hier is de dubbele punt fout, want die gebruikt de computer niet om te delen. Dit zijn de rekentekens die de computer wel snapt:

plus +
min -
keer *
gedeeld door /

Probeer maar eens. Ga terug naar Notepad, verbeter de fouten, bewaar het weer (file, save) en ga terug naar het zwarte scherm en type

python print.py

Deed ie het nu wel? Gefeliciteerd! Je hebt een computerprogramma geschreven! Kun je je programmaatje in Notepad veranderen zodat het de tafel van zeven laat zien?

Wat heb je geleerd?

Dit was de eerste les. Wat heb je geleerd?

  • Een computer is heel dom.
  • Je moet hem precies vertellen wat hij moet doen.
  • Je kan tegen hem praten (typen achter de >>>), maar je kan het ook voor hem opschrijven (in Notepad.)
  • Wat je voor hem opschrijft kan je bewaren, dan kan je het later nog eens gebruiken.
  • De computer kan wel heel goed rekenen, met +, -, * en /

Volgende keer meer!

Dion

96 Reacties aan “Les 1”

  1. thomas schreef:

    klein probleem het werkt niet goed bij mij hulp

  2. Dag Dion. Mooie website! Ik ben met mijn 11 jarige zoon ook python aan het leren. Ik gebruik versie 3.3.3. Ik zou graag je artikels gebruiken om een gelijkaardige site, maar dan voor Python 3.3 op te zetten. Heb je daar problemen mee? Eventueel kunnen we ook informatie uitwisselen en mag je inhoud over gelijkaardige artikels op mijn website over nemen.

  3. Joost schreef:

    Ik werk op een mac, en ik weet niet hoe ik note pad daarop moet openen. Kun jij helpen?

    • Dion Nicolaas schreef:

      Beste Joost,

      Ik kan je geen uitgebreide instructies geven voor een Mac, want ik heb zelf geen Mac. Misschien kan iemand anders je helpen?

      Dion

      • Marijn schreef:

        Gebruik op de mac Text Wrangler https://itunes.apple.com/nl/app/textwrangler/id404010395?mt=12 (gratis) of Sublime Text 2 (kost geld). Nog veel beter dan notepad

      • Eveline schreef:

        Op de Mac kun je het standaard meegeleverd TextEdit gebruiken. Als de Mac ingesteld staat op Nederlands, dan heet dat programma Teksteditor. Je kunt het starten door via de Finder naar Programma’s te gaan, en dan dubbel te klikken op Teksteditor.

        Verder staat op mijn Mac (met Mac OS 10.10.5) standaard python 2.7.10 meegeleverd. Je kunt het starten door het programma Terminal te openen. Terminal kun je terugvinden bij de Hulpprogramma’s, die in de Programma’s staan. De instructies zijn dan verder hetzelfde als de instructies na het starten van cmd in Windows. Succes, Joost!

  4. Ravi schreef:

    HELP!
    Ik probeer de opdracht ‘notepad’ maar hij geeft de volgende fout:

    File “”, line 1
    notepad print.py
    ^
    Syntax error: invalid syntax

    Help me!!!

  5. anita schreef:

    hoi! bij mij werkt de
    notepad print.py
    niet… hij doet niets maar zegt invalid syntax. ik kan wel kladblok openen maar dan weet ik niet hoe of waar ik hem moet opslaan.

    • Dion Nicolaas schreef:

      Dag Anita,

      Ik denk dat jij het zelfde probleem hebt als Ravi. Klopt dat?

      Dion

      • anita schreef:

        Beste Dion,
        ja, ik denk het wel. alleen, als ik quit () typ dan sluit python af… waar moet ik het dan intypen? gewoon als hij op het bureaublad staat? dat werkt nu namelijk niet… of moet het in een andere terminal getypt worden? of denk je dat er misschien iets fout is gegaan bij het toevoegen aan de Path? (maar volgens mij zou die moeten kloppen..) alvast heel erg bedankt weer voor je hulp!

        • Dion Nicolaas schreef:

          Beste Anita,

          notepad print.py moet je op de ‘command prompt’ typen:
          Klik op het menu van Windows, de Start-knop linksonder. Type ‘cmd’ en dan Enter. Er verschijnt nu een zwart scherm. Dat is de command prompt. Hier kun je het commando typen.

          Succes,
          Dion

          • anita schreef:

            Beste Dion,

            Super, bedankt!
            Ik gebruik Windows 8 dus het is allemaal wat anders… De command prompt kun je dan vinden bij ‘alle apps’, onder ‘systeem’ staat ‘opdrachtprompt’… en dan doet hij het inderdaad!! 😀

            groetjes, Anita

          • anita schreef:

            Hoi Dion,

            ik heb nog een vraagje: nu kan ik wel print.py openen en opslaan met notepad, maar als ik python print.py dan invul in de command prompt dan zegt hij
            ‘Python’ is not recognized as an internal or external command, operable program or batch file.
            weet je waar dit aan zou kunnen liggen? alvast bedankt!!!

          • anita schreef:

            in de opdrachtprompt zelf doet print.py het wel goed trouwens… even vergeten te zeggen.. maar we willen het in python krijgen toch?

          • anita schreef:

            ik heb hem opnieuw geïnstalleerd en nu doet hij het wel… sorry voor de verwarring 🙂

  6. xubra schreef:

    ik vind het een hele goede site

  7. Leuke site! Ik ben 12 en een progammeur / Hackertje en ik heb ook eeb minecraft server. Python is een prima taal voor: Keyloggers , rekenen &… eigen OS maken!

  8. J schreef:

    Dankjewel voor deze site. Ik ben 12 en ik wil heel graag leren programmeren. Ik heb veel sites bezocht maar die van u is makkelijk te volgen!

  9. Edo schreef:

    Beste Nicolaas,

    ik krijg de volgende foutmelding bij het geven van het volgende commando in het zwarte scherm:

    python print.py

    de foutmelding die ik krijg is:

    >>>python print.py
    File ” ” line 1
    Python print,py
    syntax error: invalid syntax

    Wat kan hier mis zijn gegaan?

    aan de sommetjes kan het niet liggen in het file print.py. dat zijn
    print 10 + 6
    print 333 + 444

    ik werk met versie 27,

    alvast dank voor je hulp
    mvg,
    Edo

    • Dion Nicolaas schreef:

      Hoi Edo,

      Voor je python print.py kunt type moet je Python even verlaten. We moeten weer door de voordeur naar binnen, zeg maar.
      Type eerst quit() (en Enter. Nu staat er op het zwarte scherm niet meer >>> , maar iets als C:\Users\Edo> . Daar kun je nu het command nog eens proberen.

      Succes, Dion

      • Edo schreef:

        Hoi Dion,

        Als ik dat doe dan verdwijnt het hele zwarte scherm. Als ik vevolgens het zwarte scherm weer oproep staat er weer >>>.
        Enig idee wat er mis gaat?
        mvg,
        Edo

        • Dion Nicolaas schreef:

          Hoe heb je Python gestart? Het handigste is om cmd te starten, zoals in de les staat uitgelegd. Als je Python vanuit het Start-menu start krijg je geen cmd-prompt…

          Succes,
          Dion

  10. Edo schreef:

    Dag Dion,

    waarschijnlijk is dat het geweest want hij doet het nu wel. Dank!

  11. simone schreef:

    waarom gebeurd mij dit:

    ik doe x nu als * maar hij zegt nog steeds x fout,

    en nog eens en nog eens

  12. Teun schreef:

    Dion, Wat een leuke site. Samen met zoon Teun (10 jaar) zijn we druk aan de slag. Een vraagje:
    Pyhton geinstalleerd in C:\python27. Het pad toegevoegd zoals door jou beschreven.
    Als we nu het commando “Notepad print.py”geven opent er een notepad alleen geeft hij de naam er niet aan.ook wil windows (7) deze opslaan in c:\windows\system32 dat lijkt me niet de juiste plek.
    zien wij iets over het hoofd?
    dank je wel..
    /Mike en Teun

    • Dion Nicolaas schreef:

      Beste Mike en Teun,

      Misschien werkt het in Windows 7 weer allemaal wat anders… Op zich maakt het niet zoveel uit waar je print.py opslaat, maar c:\windows\system32 is inderdaad niet zo’n goede plek.
      Met Notepad kun je ook ‘Bewaren als…’ of ‘Save as…’ doen, en dan kun je het bestand opslaan waar je wilt, bijvoorbeeld in C:\Users\Mike\Documents. Nu heb je alleen nog een probleem als je python wilt opstarten met print.py vanuit cmd.
      Het gemakkelijkst is om in cmd het volgende commando te geven:

      cd c:\Users\Mike\Documents

      Als het goed is zie je nu het volgende:

      C:\Users\Mike\Documents>_

      … waarbij het streepje knippert. Nu kun je het python-commando geven:

      python print.py

      … en dan zou het moeten lukken.

      Denk eraan dat je dit iedere keer moet doen als je een les doet!

      Succes,
      Dion

  13. Hi schreef:

    Dit is perfect

  14. Maurits schreef:

    Beste Dion

    Ik wil steeds naar notepad maar dat lukt niet. Kan jij mij helpen

  15. swag! schreef:

    wow echt goede site man! mijn vader kan goed progameren dus die helpt me ik wouw ook graag leren progameren om een game te maken op minecraft dit is een goede 2de stap

    Thx!!!

  16. luuk van der schaft schreef:

    toen ik die opdracht prompt opende en ik ,python, in vulde stond er: python is not recognized as an internal or external command, operable progam or batch file. wat betekent dit en wat moet ik doen om het op te lossen? en als ik daarna typ: print 2 + 2, zegt hij unable to initialize device prn. wat is er aan de hand?

    • Dion Nicolaas schreef:

      Hoi Luuk,

      Ik ben bang dat je Python niet, of niet goed, hebt geinstalleerd. Instructie hoe je Python kan installeren vind je hier: .
      Succes,
      Dion

      • Suzanne schreef:

        Hoi,

        Ik had een hetzelfde probleem als Luuk, maar nu ik python heb gedownload en geïnstalleerd doet hij het nog steeds niet! Wat moet ik nu doen?

        • Dion Nicolaas schreef:

          Hoi Suzanne,

          Heb je de instructies voor het installeren van Python goed gelezen? Ik denk dat je vergeten bent Pyton aan je path toe te voegen.

          Succes,
          Dion

          • Joshua schreef:

            Beste Dion, ik heb het zelfde probleem, ik heb het in path gezet. Ik doe het in cmd, maar het werkt nog niet! moet er misschien een spatie voordat ik het typ of wat?

          • Dion Nicolaas schreef:

            Hoi Joshua,

            Heb je CMD opnieuw gestart? Ander doet hij het niet…

            Dion

  17. Mark schreef:

    Ik heb de tafel van 7 precies zo ingetypt zoals u liet zien. Als ik mijn programma open dan verdwijnt ie gelijk weer. hoe zit dat ??

    • Dion Nicolaas schreef:

      Hoe bedoel je, het programma openen? Klik je er soms op?
      Om het programma uit te voeren type je python tafel.py in het cmd-scherm. Om het te openen in Notepad type je notepad tafel.py in het cmd-scherm.

      Helpt dat?
      Dion

  18. Andrea schreef:

    Ik heb een probleem
    Ik type python print.py en ik heb 3 keer gecontroleerd dat ik hem echt heb opgeslagen maar hij zegt:
    python: can’t open file ‘print.py’: [Errno 2] No such file or directory
    ook heb ik gekeken of ik hem als text-bestand had opgeslagen maar ook dat het bestand een python formaat is heb ik 3 gecontroleerd

    • Dion Nicolaas schreef:

      Kun je het bestand wel nog openen in Notepad? Kun je in notpad het bestand oplsaan met ‘Opslaan als…’? kun je dan zien waar op de computer het bestand wordt opgeslagen?
      Het is bijna onmogelijk om dit soort problemen op te lossen vanuit hier. Misschien kan iemand je helpen?

      Dion

  19. marikejansman schreef:

    ik vind het leuk om te doen

  20. yannicV schreef:

    dit is wel goed maar ik kom al coderen kijk maar naar mijn site http://www.impacted.nl

  21. OOVERLORDD schreef:

    help aub

    python wordt niet herkend als een interne
    of externe opdracht, programma of batchbestand.

    ?????

  22. Ewout schreef:

    De overgang van les 1 naar les 2 is niet zo duidelijk omdat er in les 1 geen tafelinstructie zit

    • Dion Nicolaas schreef:

      Aan het eind van les 1 staat dit:
      “Kun je je programmaatje in Notepad veranderen zodat het de tafel van zeven laat zien?”
      Had je daar overheen gelezen?

      Succes,
      Dion

  23. C1241 schreef:

    ik heb net python 3.5 geïnstalleerd. ik heb nauwkeurig alle stappen gevolgd, maar het werkt niet 🙁 ik heb notepad++ gebruikt?

    er staat dan in het CMD kader: SyntaxError: Missing parenteses in call to ‘print’

    ik hoop dat iemand een oplossing heeft!

    groeten!

  24. Stef van den berg schreef:

    ik gebruik Windows 10.
    werkt het daarop ook, want als ik “python” in zegt hij dat hij het niet ziet als een command.
    WAT MOET IK DOEN.

  25. aaron schreef:

    hetzelfde als J het is een heel goede site en je kan het goed volgen mijn vader is ook progammeur en die zegt dat het een goede site is.(hij heeft dagjeweg.nl gemaakt op z’n 12 verjaardag)

  26. coco schreef:

    Dion?
    ik heb een probleem.
    ik wil bijvoorbeeld de som 1 + 1 ‘printen’
    maar dat wil niet.
    hij zegt steeds:
    C:\Users\—>python print.py
    File “print.py”, line 1
    print 1 + 1
    ^
    SyntaxError: Missing parentheses in call to ‘print’
    maar volgens mij doe ik precies wat er staat.
    kan jij me helpen?

    wanhopig wezentje

    • Dion Nicolaas schreef:

      Hoi Wezentje,

      Ik denk dat je Python 3 hebt geinstalleerd in plaats van Python 2. Dat maakt het een beetje anders.
      Misschien kun je alsnog Python 2.7 installeren. Voor nu kun je ook

      print(1+1)

      typen, dan kun je in ieder geval verder…

      Succes,
      Dion

  27. Zenga schreef:

    notepad print.py werkt niet op Terminal op een Mac, heb je iets anders dat wel kan?

    • Dion Nicolaas schreef:

      Tja, ik heb zelf geen Mac, dus ik weet niet precies hoe dat werkt. Misschien kan je vader of je moeder of een broer of een vriendin je even helpen?

      • Janneke schreef:

        Hoi zenga,

        Bij een mac gaat het iets anders: je moet eerst het bestandje maken met: touch print.py
        Daarna kunt je het openen met: open -a TextEdit print.py
        Een andere manier om het te openen is: open -e print.py (dat is een soort afkorting)

        TextEdit is Notepad voor Mac 🙂

        Groetjes Janneke

  28. stan schreef:

    toffe site, mijn vader is ook programmeur en hij vindt het ook een hele leuke site.

    ik was op zoek naar een leuke programmeer site en toen vond ik dit.

    groetjes
    Stan (12)
    🙂 😉

  29. suzanne vanhoff schreef:

    hoi Dion,
    heel interessant. ik ben 13 en vind dit best wel leuk. ik wou vragen hou jij at nou allemaal weet.

  30. marieke Elzer schreef:

    ik heb quit() getypt en alles volgens de stappen gedaan maar hij kan mijn bestand niet vinden al heb ik alles opgeslagen onder de naam print.py
    maar toch geeft cmd de melding:

    can’t open file ‘ptint.py” (errno 2) no such file or directory

    wat moet ik dan doen?

  31. Rosa schreef:

    Ik heb een probleem want niks doet het [zucht].

  32. Jesse schreef:

    notepad doet het niet (zucht)

    • Tiebe Groosman schreef:

      Probeer anders eens gewoon (als je nog in python zit) quit() en dan gewoon notepad.exe? Hij maakt dan geen bestand aan, het is gewoon even om te kijken of notepad het echt niet doet.

  33. Daniël schreef:

    hooi!
    mijn CMD herkent de opdracht ‘python’ niet!

    hoe kan ik dit oplossen??

    groetjes Daniël
    (goeie uitleg trouwens)

  34. marco polo schreef:

    wie is dion nicolaas???

  35. Els schreef:

    Hallo, wat gaaf dat je dit zo hebt opgezet. Ik ben zelf samen met mijn zoontje van 10 python aan het leren via coursera. Daar gebruiken ze spyder als interface, kan ik ook aanraden. Maar respect voor je duidelijke uitleg voor kinderen, ik zal zeker af en toe even op jouw site spieken als ik iets aan mijn zoontje wil uitleggen, en misschien af en toe een opdracht van coursera overslaan en eentje van jou in de plaats doen.

  36. Tiebe Groosman schreef:

    Hoi Dion,

    Ik heb mijn eigen registratie formuliertje geschreven!
    Het is wel in het Engels omdat ik nu in de Verenigde Staten woon.

    Dit is de code:

    import os
    import time
    localtime = time.asctime( time.localtime(time.time()) )
    a = input(“What is your first name? “).title()
    b = input(“And your last name? “).title()
    c = input(“What is your e-mail adderess? “)
    d = input(“And your phone number? “)
    f = input(“When were you born? (02-01-1900 is 1 February 1900) “)
    g = (a+”-“+b)
    h = d[:3] + ‘-‘
    i = ‘-‘+ d[-4:]
    k = d[-7:]
    l = k[:3]
    j = h + l + i
    m = l[:2]
    n = m + ‘-‘

    if l == n:
    j = d
    new_path = ‘/users/Pivo/registreren/%s.txt’ % g
    new_days = open(new_path,’w+’)
    new_days.write(localtime)
    new_days.write(‘\n’)
    new_days.write(a)
    new_days.write(” “)
    new_days.write(b)
    new_days.write(‘\n’)
    new_days.write(c)
    new_days.write(‘\n’)
    new_days.write(j)
    new_days.write(‘\n’)
    new_days.write(f)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.close()
    print(“Okay, done!”)

    else:
    j = h + l + i
    new_path = ‘/users/Pivo/registreren/%s.txt’ % g
    new_days = open(new_path,’w+’)
    new_days.write(localtime)
    new_days.write(‘\n’)
    new_days.write(a)
    new_days.write(” “)
    new_days.write(b)
    new_days.write(‘\n’)
    new_days.write(c)
    new_days.write(‘\n’)
    new_days.write(j)
    new_days.write(‘\n’)
    new_days.write(f)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.write(‘\n’)
    new_days.close()
    print(“Okay, done!”)

  37. EvertA schreef:

    Zojuist heb ik les 1 gevolgd ! Dit was leuk om te doen, met een heldere uitleg. Op naar les 2 !

  38. Simon Laeven (11 jaar) schreef:

    Les 1 is geweldig Dion!

    Alleen begrijp ik niet dat 9 gedeeld door 8 als antwoord het getal 1 oplevert. Hoe zit dat precies?

    • Dion Nicolaas schreef:

      Dank je, Simon!
      Als je 9 taartje over 8 personen verdeeld, krijgt iedereen er 1. En er blijft er een over (voor mij.) Dat zeg je zo: “9 gedeeld door 8 is 1, rest 1.”
      Je kunt dat laatste taartje natuurlijk ook verdelen over die acht mensen, dan krijgt iedereen er nog 1/8 taartje bij.

      • Simon Laeven schreef:

        Hartelijk dank en geniet van je taartje!
        Dat begrijp ik, maar wat ik niet begrijp, is dat de output van 9/8 precies 1 is en niet 1,125.

        • Eveline schreef:

          Hoi Simon. Dat komt doordat er gebruik gemaakt wordt van gehele getallen. In programmeertaal heet zoiets een “integer”. Het is ook mogelijk om gebruik te maken van gebroken getallen, in programmeertaal heet dat dan een “floating point”. Bij de meeste programmeerfuncties voldoet een integer voor hetgeen je wil bereiken. Maak ik het op deze manier een beetje duidelijk?

          • Dion Nicolaas schreef:

            Inderdaad, Eveline, je bent me voor!
            Als je 9 en 8 schrijft begrijpt Python dat je met hele getallen wil werken. Dus krijg je ook hele getallen terug.
            Als je bijvoorbeeld dit schrijft: 9.0/8 denkt Python: O, je snapt blijkbaar iets van decimalen! Probeer het maar.

  39. Simon Laeven schreef:

    Wow! Het werkt. Dus een computer is toch nog niet zo dom!

    • Eveline schreef:

      De computer is zo slim als de programmeur. Van zichzelf snappen computers helemaal niets, en zijn ze dus dom. Mensen maken computers slim, door de computers heel precies te vertellen wat ze moeten doen. Als jij iets werkends hebt gemaakt Simon, dan heb jij de computer dus slim gemaakt!

  40. tayzonby schreef:

    Ik heb een probleem, mijn computer herkent python als een commands

  41. tayzonby schreef:

    herkent python niet als een command

  42. tayzonby schreef:

    Hartelijk bedankt Dion
    Ik heb een andere vraag, als je de taal van de cmd wil veranderen kan dat of niet?
    MVG
    Tayzon

Geef een reactie