Wat bieden wij aan?

Bij CoderDojo Gouda hebben wij opdrachten voor onderstaande onderwerpen:

Scratch

Scratch is een programma ontwikkeld door MIT Media Lab rond 2002/2004. Het is speciaal ontwikkeld om kinderen te leren om creatief te zijn, en te leren om logisch en gestructureerd na te denken. Oftewel, te leren programmeren. In Scratch kun je voornamelijk eigen games of animaties maken.

Scratch is geen geschreven programmeertaal met syntax. In plaats daarvan kun je blokjes in elkaar klikken (denk aan Lego). Ieder blokje heeft één bepaalde functie, bijvoorbeeld om je karakter een aantal stappen te laten zetten. Door blokken slim te combineren, maak je al snel complexe programma’s.

Ondanks dat Scratch geen geschreven programmeertaal is, en daarom minder als traditioneel programmeren aanvoelt, kunnen kinderen in Scratch de logica van programmeren spelenderwijs leren. Denk bijvoorbeeld aan if-statements (condities) of for-loops (herhalingen). Of je die nu typt, of dat je blokjes in elkaar schuift: de onderliggende logica blijft hetzelfde!

Advies leeftijd: 8+ (normaal), 7+ (hoogbegaafd)
Advies voorkennis: Je kunt Scratch zonder enige voorkennis gaan leren!
Begrijpend kunnen lezen is echter wel handig.

Arduino

Met Arduino is het relatief eenvoudig om zelf electronica (hardware) te maken en te programmeren. Denk aan het aansturen van lampjes (LED’s), knoppen, lichtsensoren, buzzers, een joystick en motoren. Hiermee kun je bijvoorbeeld een mini zelfrijdende auto maken en programmeren, of je slaapkamer op slot doen met een (RFID) pasje. Zoek maar eens op YouTube naar alle mogelijkheden! Wij beginnen echter met het leren van de basis: je kunt geen robot maken, zonder eerst een lampje te kunnen aansturen.

De Arduino programmeertaal is gebaseerd op C++, met wat extra dingen daarbovenop gebouwd om het programmeren te vermakkelijken, en om hardware aan te kunnen sturen. De logica van condities en loops is hetzelfde als in Scratch, waardoor het mogelijk is om van Scratch naar Arduino over te stappen. Als je echter nog nooit met een geschreven programmeertaal hebt gewerkt, zal één van je grootste uitdagingen zijn om ervoor te zorgen dat de haakjes en puntcomma’s (syntax) op de juiste plaats staan.

Advies leeftijd:  12+ (normaal), 9+ (hoogbegaafd)
Advies voorkennis: Gevorderde Scratch of een andere programmeertaal. Wat basis Engels is ook handig, want de programmeertaal is Engelstalig.

Python

Python is één van de meest populaire programmeertalen van onze tijd. Software geschreven in Python is over het algemeen langzamer dan software geschreven in bijvoorbeeld C++ of Fortran, maar omdat Python een simpelere taal is, is het veel eenvoudiger en sneller om iets te programmeren. In bijvoorbeeld wetenschappelijk programmeren wordt Python veel gebruikt om stukjes C++ en Fortran aan elkaar te lijmen. Zo wordt een snelle taal (C++/Fortran) gebruikt voor de berekeningen (die erg snel moeten zijn!), maar een makkelijke taal (Python) voor het grootste gedeelte van het programmeerwerk.

In Python kun je, met behulp van bijvoorbeeld de PyGame library, ook zelf games maken. Dit zal veel meer als “het echte werk” aanvoelen dan wanneer je een spel in Scratch maakt, omdat Python een geschreven programmeertaal is. Een spel in Scratch is gelimiteerd tot wat Scratch kan. In Python echter, is je enige limitatie je eigen fantasie.

Je kunt Python ook leren als tussenstap. Voordat je een moeilijkere geschreven taal zoals C++ of Java gaat leren, zou je eerst Python kunnen leren.

Advies leeftijd:  11+ (normaal), 9+ (hoogbegaafd)
Advies voorkennis: Gevorderde Scratch of een andere programmeertaal. Wat basis Engels is ook handig, want de programmeertaal is Engelstalig.

OpenSCAD + 3D Printer

In OpenSCAD kun je met een eenvoudige geschreven programmeertaal zelf 3D objecten modelleren op je computer. Zo kun je drie bollen op elkaar zetten, twee ronde gaatjes in de bovenste bol maken, en een kegel aan de bovenste bol vastmaken, en je hebt zelf een sneeuwpop gemaakt! Alleen deze keer was sneeuw niet het materiaal wat je gebruikte.

Deze 3D modellen kun je voor meerdere doeleinden gebruiken. Wellicht wil je het 3D model in een 3D game gebruiken? Of wellicht wil je iets maken om het vervolgens met een 3D printer uit te printen? Zo kun je bijvoorbeeld een fidget spinner modelleren en vervolgens uitprinten!

Advies leeftijd:  10+ (normaal), 8+ (hoogbegaafd)
Advies voorkennis: Gevorderde Scratch of een andere programmeertaal. Wat basis Engels is ook handig, want de programmeertaal is Engelstalig.

Wat als ik wat anders wil leren?

Dat kan! Van bovenstaande onderwerpen hebben wij opdrachten beschikbaar, maar je hebt geen opdrachten nodig om iets te leren: alles is te vinden op het internet. Dus heb je een idee van iets wat je wilt maken? Of wil je iets specifieks leren? Kom dan gerust een keer bij ons langs!

Wij hebben in ieder geval (wat) kennis in huis van de volgende dingen:

Blender

Blender is een gratis software pakket voor 3D modelleren en animeren. Zo kan het bijvoorbeeld door architecten gebruikt worden voor fotorealistisch renderen, of game designers om 3D karakters te modelleren en animeren.

C++

C++ is samen met Java ook één van de meest gebruikte programmeertalen. C++ kun je zien als een raceauto: je kunt er snellere software mee schrijven dan bijv. Java, maar als je niet goed kan sturen… CRASH! Relatief moeilijk om te leren.

Bash

Bash is de taal van de terminal op UNIX systemen (Mac, Linux). Het is niet een taal die veel kan, maar het voordeel is dat de taal dicht bij je operation system zit. Daarmee kun je relatief eenvoudig bijv. files manipuleren.
Verder geldt dat iedere dojo onafhankelijk wordt gerund en daarmee uniek is. Je zou dus ook eens bij een andere dojo in de buurt kunnen kijken.