Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 73 reacties

Microsoft heeft Minecraft beschikbaar gesteld aan non-profit Code.org voor gebruik bij coding-tutorials. De codeerles met Minecraft-thema is nu online te proberen en wordt aan kinderen aangeboden tijdens de jaarlijkse Hour of Code.

De tutorial bestaat uit een werkveld en een instance van Minecraft met een perspectief van bovenaf. Per onderdeel van de tutorial krijgen kinderen een set met commando's tot hun beschikking als move forward en place torch. Deze commando's staan echter symbool voor javascript-code die de kinderen op ieder moment kunnen inzien. In totaal zijn er veertien puzzels te volbrengen met elementen als repeat loops en if-statements. Gaandeweg moeten kinderen bomen omhakken, schapen scheren, huizen bouwen en langs lavastromen navigeren.

In september van vorig jaar nam Microsoft Minecraft-ontwikkelaar Mojang over voor bijna twee miljard euro. Code.org-oprichter Hadi partovi zegt tegenover GeekWire dat Minecraft veruit de meest verzochte game is voor gebruik bij de coding-tutorials. Microsoft heeft sinds de oprichting van Code.org in 2013 drie miljoen dollar geschonken aan de instelling.

The Hour of Code is een wereldwijd evenement dat scholen zelf kunnen organiseren. Bij Code.org kunnen organisatoren hun evenement registreren om op de kaart geplaatst te worden. Code.org levert vervolgens coding-tutorials met thema's als Minecraft, Star Wars en Frozen voor kinderen van 4 tot 18 jaar. Code.org wil niet alleen kinderen, maar ook ondervertegenwoordigde groepen als meisjes en allochtonen aanmoedigen om zich te verdiepen in de wereld van programmeren. Code.org heeft als partners onder andere Apple, Microsoft, Google en Disney. Dit jaar worden de Hour of Code-evenementen gehouden van 7 tot 13 december.

Moderatie-faq Wijzig weergave

Reacties (73)

voor degenen die 'lesmateriaal' zoeken voor Minecraft:
http://www.devoxx4kids.org/nederland/materiaal/minecraft/

De zoon van Aron Gupta is ook een 'Minecraft hacker':
https://blogs.oracle.com/..._kids_to_java_programming
Ik snap sowieso niet waarom je veel energie zou moeten steken een (kleine) kind te leren programmeren. Beter steek je die energie in algemene ontwikkeling; logica, taal, sociale vaardigheden. Daar heeft een kind op de langere termijn meer aan.

Naar mijn mening wordt echt goed programmeren steeds minder triviaal, vooral door alle abstracties wat met een hoog tempo geïntroduceerd wordt (en er hierdoor snel en simpel "geprogrammeerd" kan worden). Veel scripts bestaan gewoon uit heldere instructies, een kind kan de was doen.

Natuurlijk is het een ander verhaal als je echt op specialistisch niveau wil gaan ontwikkelen, maar daar heb je studies voor.
Grappig. De redenen die jij aandraagt, waarom je ze niet moet leren programmeren..zijn voor mij juist de redenen om ze wel te leren programmeren! :)

Al deze zaken worden daar in meegenomen plus nog wat extra dingen zoals b.v. probleemoplossend kunnen denken, leren omgaan met frustraties en teamwork.

In mijn optiek is het zeker goed voor kinderen die programmeren/computeren al erg leuk vinden. Er zijn genoeg gevallen waarbij deze kinderen sociaal wat minder goed zijn. Door ze kennis te laten maken met kinderen die dezelfde interesse hebben kunnen ze juist aan de voor hun zo belangrijke punten werken!

Het zal je verbazen hoe "heldere instructies" van de door jouw genoemde abstractie lagen toch niet zo voor helder zijn als je hoopt :(

Studies? het hele leven is een studie! :)
In mijn optiek is het zeker goed voor kinderen die programmeren/computeren al erg leuk vinden. Er zijn genoeg gevallen waarbij deze kinderen sociaal wat minder goed zijn. Door ze kennis te laten maken met kinderen die dezelfde interesse hebben kunnen ze juist aan de voor hun zo belangrijke punten werken!
Dan kun je ze beter op het Daltononderwijs zetten. Dat is juist daarop gericht zonder de focus op het activiteit of persoon terplekke. Dus kinderen moeten samen leren omgaan om een taak te volbrengen, ook al vinden ze die taak of het andere kind niet leuk. Veel effectievere focus op sociale ontwikkeling, als je het mij vraagt..
Ik ben niet bekend met het Daltononderwijs. Kan daarom niet zeggen of dat beter zou zijn. Maar ik heb het over leren programmeren in hun vrije tijd. Als een kind ergens een mogelijke aanleg voor heeft moet je dit stimuleren op elke manier die je kan. Althans, als het iets goeds is wat ze leuk vinden ;)

Voor sommige kids is dit paardrijden voor andere programmeren en weer andere voetballen. Ik weet wel waar ik voor had gekozen als die optie er was geweest.
Omdat computers alleen maar meer gaan voorkomen in onze samenleving heb je heel simpel gezegd twee opties: je weet wat van computers programmeren en je kan ze voor je laten werken & je hebt geen idee en je moet het doen met de opties die de computer je biedt (je werkt voor de computer). Ik hoop dat mijn kinderen bij de eerste groep gaan horen.

Daarnaast kan op dit moment bijna elk beroep beter uitgevoerd worden als je OOK weet hoe je moet programmeren. Zo had ik laatst de loodgieter en die was ook CV specialist: hij had een laptop en kon het programma van mijn CV ketel aanpassen, zodat het beter werkte in mijn huis. Dit geldt ook voor Psycholoog (geautomatiseerde data analyses), Werktuigbouwkundige (Modellen & Simulaties programmeren), Automonteur (Diagnose + Emissie tuning :)), et cetera.

[Reactie gewijzigd door BCC op 18 november 2015 11:44]

Ik ben het helemaal met je eens, maar voor de zaken die je opnoemt hoef je niet "echt" te programmeren, en daarmee bedoel ik programmeren in de zin van standaard programmeertechnieken/concepten gebruiken.

Bijvoorbeeld een automonteur gebruikt software om te configureren (parametiseren) en te monitoren. Dit kun je programmeren noemen, of gewoon beetje fanatiek met computers zijn. Iets wat prima met een cursus(je) geleerd kan worden, zeker als je hulpmiddelen ter beschikking hebt als templates/domain specific languages en weet ik niet wat allemaal kan om "programmeren makkelijk te maken".

Anders voorbeeld, ik wil wat fancy software schrijven en heb daarvoor wat algoritmen nodig. Prima, eventjes googlen en ik heb een formule. Ik vul x in en krijg y, controleer het en concludeer of het prima werkt of niet. Is het handig als ik die formule begrijp? Dat wel, maar het is niet nodig ofzo. Hetzelfde met die automonteur of die beurshandelaar die zijn software gebruikt om simpel gezegd data in te voeren en output te controleren.
hoe wil je die formule implementeren als je de formule niet begrijpt?
Als je een formule niet snapt en als dat in de code staat kun je niet bepalen of het goed werkt....
Makkelijk, door vertrouwen te hebben (oorsprong van de formule enz), en eventueel risico's al dan niet in te dekken met testen.

Voorbeeldje; begrijp jij de (simpele) formule om de oppervlakte van een cirkel te berekenen? Oftewel, kun je π * straal^2 "bewijzen"? De meeste mensen kunnen dit niet hoor, betekent niet automatisch dat het onverantwoordelijk is als zo iemand deze formule dus gebruikt.
dan nog steeds, hoe kun je bepalen wat een foute resultaat is als je niet weet hoe de formule werkt?

Verder ook nog eens als je niet weet hoe die formule werkt, dan weet je dus ook niet of je het goed of op de goede plek gebruikt...

Dit soort denken heeft ervoor gezorgd dat de software wereld overspoeld is met slecht onderhoudbaar software enz.
Als je geen wiskundige bent kun je nog wel rationeel en logisch nadenken, so to speak.

Als ik de oppervlakte van een cirkel wil berekenen, is het toch logisch dat ik pi*r^2 gebruik of niet dan? Hoef ik het toch niet te kunnen verklaren. Sowieso kan ik de formule testen - functioneel gezien - aan de hand van observaties/verwachtingen (wat verwacht ik als de straal 2 keer zo groot/klein/nul is? enz), gewoon logisch nadenken dat.

Of neem Dijkstra's algoritme. Ik wil de kortste pad van A naar B hebben, hoef je toch niet de werking van Dijkstra's algoritme te kunnen begrijpen/verklaren? Je kunt gewoon testen of er inderdaad een kortste pad getrokken is uit verschillende bepaalde scenario's (zoals met de opp. van een cirkel berekenen).

Het doel van een algoritme begrijpen is dus niet onlosmakelijk verbonden met de werking van het algoritme begrijpen.

En de oorzaak van slecht onderhoudbare software staat hier totaal buiten kijf, een heel ander punt van discussie.
als je zomaar knipt en plakt zonder ook echt te begrijpen wat je aan het doen bent dan kan ik je garanderen dat je nooit ver zal komen met de software... Wat als de data dat jij hebt niet overeenkomt met de eisen van dijkstra's algorithme? hoe ga je de algorithme aanpassen voor jouw eigen gebruik als je niet weet hoe het werkt?
Ik geloof niet dat je 'nooit echt begrijpt wat je aan het doen bent'.

Ten eerste begint het met een simpele vraag- en doelstelling. Ik wil x om y te bereiken, wat kan ik gebruiken? Dan kom je na zoeken en wegen bijvoorbeeld terecht bij algoritme z. Je test z door er gewoon random input op af te voeren, en kijkt of de output is wat je verwacht (al dan niet puur observatief geredeneerd, in plaats van technisch inhoudelijk).

Als je de werking niet weet van een algoritme kun je de algoritme ook niet aanpassen inderdaad. Dan moet je hier rekening mee houden in je software. Hetzelfde geldt met het implementeren van gesloten binaries in je software, als deze bepaalde input uitsluitend in een bepaald formaat accepteert moet je ook conversies in je software voor bouwen.
waarom zou je zoiets doen als je "niet kan programmeren" (scripten valt niet onder programmeren). Je kan dan net zo goed gewoon een stuk software pakken en die gaan aanpassen.
Programmeren is niets anders dan parameteriseren, maar dan op een ander abstractie niveau. Je zult altijd kennis moeten hebben van het totale systeem en de gebruikte formules om de output van je wijzigingen te begrijpen, anders dan ben je weer slaaf van het systeem + dan is je meerwaarde ver te zoeken, want dan kun je weer eenvoudig vervangen worden door een computerprogramma :) En dan is de cirkel weer rond.

[Reactie gewijzigd door BCC op 18 november 2015 14:54]

Mijn zoontje - 7 jaar - programmeerd in Scratch op de Raspberry Pi. Plaatje laten bewegen, muziek maken en langzaam aan gaat hij steeds meer 'blokjes' gebruiken. Verder speelt hij veel Minecraft op de Pi om met het toetsenbord om te leren gaan en moet hij iedere dag twee pagina's over tikken van een schoolboek in Libre Writer zodat hij alle tekens leert op het toetsenbord leert. Tikt nu redelijk vloeiend Engels en Thai en het gaat ieder dag steeds beter. Zal vanavond eens kijken naar Minecraft op Code.org, kan hij twee dingen combineren, Scratch en Minecraft
Misschien ook leuk om dan te laten kijken naar Project Spark.
http://welcome.projectspark.com/
Project Spark herinner ik me inderdaad ook, erg mooi.

Mindstorms is ook leuk als je kind wat meer technisch is, of zijn lego (machines) tot leven wil brengen.

GameMaker heeft ook een kleine mogelijkheid voor functieblokken etc.
Daarnaast kun je het in dat geval combineren met echte code, wat een leuk opstapje kan zijn.
Het zou me zo niet verbazen als hij dan nog voor de middelbare school, C# zit te programmeren in een spel als SpaceEngineers :9
Na Scratch is de volgende stap Python misschien daarna C#
In dat geval eens naar http://kano.me/ kijken - leuke omgeving voor op de Pi

En vroeger op de MSX hadden we al Logo http://www.generation-msx.nl/software/philips/msx-logo/2568/

edit: typo en toevoeging

[Reactie gewijzigd door twcm op 17 november 2015 13:55]

Hm, die is vrij ver voor zijn leeftijd. Ik kreeg jaren later pas mijn eerste echte eigen computer. Wat ik zsm zou doen is zorgen dat hij weet hoe een computer werkt (als hij qua leeftijd en inzicht daaraan toe is). Anders blijft het OS/werk-platform voor hem de horizon c.q. hek van de speeltuin, zeker als het aan de makers van de meeste commerciele systemen ligt. Daar niet doorheen kunnen kijken kan een hardnekkige beperking worden.

Op de Raspi zit ie overigens wel goed, denk ik. De OS-sen daarvoor doen niet zo moeilijk over wie nou de controle over de hardware krijgt.

[Reactie gewijzigd door blorf op 17 november 2015 16:39]

En speelt hij ook wel eens buiten?
Ja hoor gelukkig wel maar valt niet mee met alle electronica en computers in huis.
- dan wil hij Minecraft spelen op de Raspberry Pi
- dan wil hij YouTube kijken op de Samsung Tab (mag maar 50min per dag via Screentime)
- dan wil hij de mobiel van mijn vriendin gebruiken om verder te gaan met Youtube
- dan mijn PC om Minecraft te spelen tegen zijn vrienden die thuis een Minecraft server hebben draaien.

Het is zoals je ziet een konstant gevecht om overal 'evenwicht' in te vinden - vooral in het weekend.
Kan mij voorstellen.
Met buiten spelen is later geen geld te verdienen ;)
Wanneer kinderen buitenspelen leren zij: -bewegen, - samenspelen, - creatief zijn, - - doen immuniteit op, - gevaar herkennen, - . Hier heb je later als volwassene meer dan profijt van, tov iemand die dit vroeger niet/minder deed. Het kind op de bank achter tv/computer heeft later risico op allerhande kwalen (Hartvaatziekten tot depressies) en is sociaal veel minder vaardig. (Op populatieniveau gezien, er zijn uiteraard uitzonderingen).
Ik juich buitenspelen toe. Leren computeren kunnen ze op school genoeg lees ik overal en als het donker is thuis ook nog. Geld verdienen komt wel zodra ze ouder zijn vanzelf wel he,
ik vond de raspberry pi versie van minecraft maar zeer beperkt en niet veel aan, misschien leuk om hem eens kennis te laten maken met de echte minecraft op windows.
Volgens mij is dat Blockly wat er gebruikt wordt.

Domoticasysteem Domoticz gebruikt dat ook, om events te bouwen (IF knop A = On DO lamp B = On).
Werkt best leuk en is voor beginners erg handig om snel bepaalde zaken te kunnen automatiseren. Bij Domoticz zit er intern (in de database) gewoon Lua code achter.
Een beetje zoals lego mindstorms programmeren, het mooise was dan dat bestandje nadien in kladblok openen en kijken hoe het echt werkt :P
Ook hier kun je aan het einde van een oefening op 'code' klikken en dan zie je de 'echte' code.
for (var count2 = 0; count2 < 2; count2++) {
for (var count = 0; count < 4; count++) {
moveForward();
turnLeft();
}
}
moveForward();
moveForward();
turnRight();
moveForward();
Wat ik hieraan wel zeer jammer vind is dat de nadruk gelegd wordt op de regels code.
Als je kinderen dan toch iets belangrijks wilt leren. Leer ze dan dat de correctheid van de uitvoer van groter belang is dan hoe optimaal programmeren? (Wat ik hiermee bedoel is dat je beter met 20 regels code iets kan schrijven wat goed, snel en degelijk is ipv dat je hetzelfde in 5 regels schrijft wat vervolgens onleesbaar en foutgevoelig is).

Uit eindelijk had ik het leuker/beter gevonden als ze er een soort van challenges in gemaakt hadden waarin de nadruk had gelegen in het aantal handelingen die het poppetje dood werkelijk uitvoert.

Wat ik in de praktijk vaak tegen kom is dat programmeurs zo door geslagen zijn in het efficient programmeren dat juist de effectiviteit van de code weer achteruit gaat.

[Reactie gewijzigd door Uhmmie op 19 november 2015 10:13]

Pardon? Uitvoer belangrijker? De efficiëntie gaat pas achteruit als er niet netjes geprogrammeerd wordt en de code één brij wordt. Blijkbaar is de trent helaas zoals jij het omschrijft: code ziet er niet uit maar ik heb het dan ook in 5 minuten geschreven en tsja, het werkt toch?

Met slordige code heb je grote kans op:
- fouten welke lastiger te vinden zijn
- tragere code
- langere ontwikkel tijd bij implementeren nieuwe functies
- langere inwerk tijd voor teamleden
.. ga zo maar door

Tuurlijk kun je doorslaan in het efficient maken van dingen en eeuwig blijven plannen zonder een regel code te schrijven maar dan heb je het verkeerde beroep gekozen. Dan zou je software architect moeten worden of iets dergelijks ;)

Nee, ze doen het wat mij betreft heel goed en netjes programmeren mag wel eens wat meer aandacht verdienen. Ik zie nog te veel scriptkiddies aan het werk die wel grof geld voor hun plugins durven te vragen maar bij lange na niet de kwaliteit leveren.
Volgens mij heb je mijn post totaal verkeerd geïnterpreteerd.
Ik heb het nergens over "niet netjes programmeren".
Leesbaarheid van de code vind ik juist zeer belangrijk.

Wat ik bedoel ik wanneer het "optimaliseren" van de code een doel op zichzelf wordt.
Vaak komt dat juist ook de leesbaarheid etc juist niet meer ten goede.
En ik zie het zelfs vaak zover door gevoerd worden, dat de code er zelfs trager door wordt.

Dus volgens mij zeg jij exact hetzelfde als mij.

[Reactie gewijzigd door Uhmmie op 19 november 2015 10:10]

Heeft best veel van Human Resource Machine zo te zien (te verkrijgen op Steam).
Lijkt me erg veel op de Turtle van ComputerCraft (mod voor MineCraft).
Lees meer op: http://computercraft.info/wiki/Turtle

Maar in plaats van visueel, had je hier beschikking over LUA (http://www.lua.org/).

Edit:
API voor de Turtle: http://computercraft.info/wiki/Turtle_%28API%29

[Reactie gewijzigd door Bondye op 17 november 2015 12:54]

Als je Lua en Minecraft leuk vind is http://cuberite.org/ misschien ook wel leuk. Het is een server geschreven in C++ waar je plugins kunt schrijven in Lua.

EDIT:
Hier is de API documentatie: http://apidocs.cuberite.org/

[Reactie gewijzigd door NiLSPACE op 17 november 2015 13:40]

Jammer dat je de gegenereerde code niet kunt aanpassen. Zo blijf je dus nogsteeds wat gelimiteerd.
(Daarnaast zou een sandbox cool zijn.)
Ook dingen als functies zouden fijn zijn. Als je twee keer hetzelfde met tussendoor iets anders wilt.
Of "interrupts"/threads/events, in een losse functie (zoals het "als gestart": "if lava -> place block" zodat je altijd een block op de lava plaatst, ongeacht wat er gebeurt in je "main flow"
Ik heb het snel eventjes doorgespeeld. Aan het einde krijg je een soort van vrije modus om te experimenteren. Ik kan me voorstellen dat dit redelijk wat vermaak voor kinderen bied.
Ik vraag me af wat MIT hiervan vind. Ze hebben namelijk Scratch gekopieerd. Zelfs de blokjes zien er hetzelfde uit!
Je bedoelt dat ze allemaal van de Blockly library gebruik maken. 8)7
Ok mijn fout dan, daar was ik niet van op de hoogte.
Mijn zoontje - 7 jaar - programmeerd in Scratch op de Raspberry Pi.
Syntax error in line 1. :P
"en het gaat ieder dag steeds beter"

Maar Thai doe ik hem dan weer niet na...
Sowieso weet ik niet of ik mijn kind op zo'n leeftijd veel laten gamen :)
Sowieso weet ik niet of ik mijn kind op zo'n leeftijd veel laten gamen :)
Meta: Huh, dit is toch geen reactie op Roland?

Programmeren is heel wat anders als gamen, maar dat heb je volgens mij ook wel door?
Sommige spellen en/of dingen kun je wel door leren programmeren. Ik neem aan dat je het spelletje uit het artikel niet telt als spel?
Posten boven mij reageren op clogie886. Natuurlijk weet ik het verschil tussen gamen en programeren, maar het ging mij om het woord "veel".

Het is natuurlijk erg leuk dat ze kinderen spelenderwijs leren programmeren, maar je hebt nog steeds te maken met een kind. Die moet ook gewoon nog steeds lekker buiten kunnen spelen

[Reactie gewijzigd door vali op 17 november 2015 13:00]

Posten boven mij reageren op clogie886. Natuurlijk weet ik het verschil tussen gamen en programeren, maar het ging mij om het woord "veel".

Het is natuurlijk erg leuk dat ze kinderen spelenderwijs leren programmeren, maar je hebt nog steeds te maken met een kind. Die moet ook gewoon nog steeds lekker buiten kunnen spelen
Het lijkt mij dat zulke dingen in het schoolcurriculum terecht moeten gaan komen om de volgende generatie voor te gaan bereiden op de steeds verdergaande automatisering.

[Reactie gewijzigd door WillemAtHome op 17 november 2015 13:21]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True