Hoe leer je programmeren als kind? Programmeren voor kinderen - methoden om op een speelse manier les te geven, talen en speciale programma's

Kinderen van steeds jongere leeftijden beginnen interesse te krijgen in de ontwikkeling van games. Informatie in onze tijd is er in overvloed, misschien zelfs in overvloed. Deze gids helpt jonge lezers of hun ouders om kennis te maken met de wereld van game-ontwikkeling. En wat betekent dit eigenlijk? Eerst zal ik me concentreren op technologieën die geschikt zijn voor beginners. Ten tweede zal ik niet speculeren over het niveau van uw technische kennis, ervan uitgaande dat deze nul zou kunnen zijn. Daarom, als het lijkt alsof ik denk dat je niet slim genoeg bent of als ik neerbuigend spreek, is dit niet zo! Omgekeerd, als iets niet helemaal duidelijk is, laat het me weten, dan zal ik proberen om alles te verduidelijken.

Hoeveel is te jong?

Waarschijnlijk de meest voorkomende vraag. Hoe oud moet ik (of mijn kind) zijn om vertrouwd te raken met game-ontwikkeling? Het is onmogelijk om het te beantwoorden, omdat alle kinderen anders zijn. Op het laagste niveau (met de juiste tools) kan een echt gemotiveerde 6-jarige beginner al enig succes boeken. Aan de andere kant van het spectrum, op 12-jarige leeftijd, zou er al voldoende opleidingsachtergrond en mentaal talent moeten zijn voor deze successen. De echte leeftijd ligt ergens in het midden.

Er zijn een paar cruciale dingen om eerst te leren.

De eerste is motivatie. Het is het gebrek aan motivatie, in plaats van mentale vaardigheden, dat vaak een obstakel voor succes wordt. Als je kind dol is op creëren (liefde voor spelen en spellen maken is niet hetzelfde) en klaar is voor vallen en opstaan, dan is hij perfect voor het ontwikkelen van games!

De tweede is het managen van verwachtingen. Dit is waar we de meeste potentiële ontwikkelaars verliezen, ongeacht hun leeftijd. Game-ontwikkeling is niet de moeilijkste activiteit ter wereld, maar het is behoorlijk complex. Je kind zal niet snel werken aan grootschalige moderne games zoals Call Of Duty of NHL, hij zal geen MMO-projecten doen. Je moet beginnen met iets heel nederigs en geleidelijk verder gaan.

Als een kind zichzelf ervan overtuigt dat hij een nieuwe Minecraft gaat maken, wacht hem een ​​zeer pijnlijke mislukking. Aan de andere kant zou de instelling "ooit zal ik een nieuwe Minecraft maken" prima kunnen werken. Het is erg belangrijk om het verschil hier te begrijpen. Zoals bij elke vaardigheid, moet deze geleidelijk worden ontwikkeld. Iets te serieus proberen aan te pakken, leidt alleen maar tot mislukking en teleurstelling. Ter referentie: ik ben zelf op 8-jarige leeftijd begonnen met programmeren op Atari BASIC.

Wat is game-ontwikkeling eigenlijk?

Hier gaan we wat dieper in op de technische aspecten. Spelontwikkeling is een overkoepelende term voor veel vaardigheden die gericht zijn op het creëren van één grote creatie. Stel je voor dat je in de auto-industrie zit. Eén vaardigheid is hiervoor niet genoeg, je hebt ingenieurs, ontwerpers, assembleurs, testers en vele andere specialisten nodig om één machine te maken. De volledige lijst met noodzakelijke taken kan echter door één persoon worden uitgevoerd. Er zijn veel succesvolle spellen geschreven, getekend en uitgebracht door één persoon. Het is echter belangrijk om te begrijpen dat dit zeldzame gevallen zijn. Ik heb het over het feit dat het hele ontwikkelingsproces niet gereduceerd wordt tot één taak, er zijn er meerdere. En als het kind het een leuk vindt, vindt het ander het misschien niet leuk. Het is belangrijk om dit te onthouden bij het kiezen van programma's, het controleren van de beschikbaarheid van grafische afbeeldingen en geluidsvoorbeelden, zodat u niet alles zelf hoeft te doen.

In de aftiteling van moderne games worden honderden namen en specialiteiten aangegeven van mensen die bij het project betrokken zijn. Om te beginnen heb je echter maar twee taken nodig: een spel en de inhoud ervan maken.

Neem Monopoly als voorbeeld. Eerst maken we een spel: we bepalen de inrichting van het speelveld, bedenken regels voor de kubussen, schrijven spelkaarten, etc. Daarna maken we game content: afbeeldingen op het veld, tekeningen op kaarten, plastic huisjes, enzovoort.

Zo is het ook met videogames. De eerste taak wordt meestal programmeren genoemd, de tweede bestaat uit het vullen van het spel met graphics, animatie, geluid en muziek. Dit alles vereist totaal andere vaardigheden, maar meestal zijn ze onmisbaar. Ons artikel gaat over programmeren - als kinderen geïnteresseerd zijn in game-ontwikkeling, dan denken ze daar aan. Als een kind afbeeldingen voor games wil tekenen, maakt hij hoogstwaarschijnlijk al schetsen in een notitieboekje! En dit is trouwens de juiste aanpak, want het verschil tussen een "kunstenaar" en een "spelkunstenaar" is minimaal.

Wat is programmeren?

Dus als het gaat om game-ontwikkeling, betekent dit waarschijnlijk programmeren. Wat het is? De gemakkelijkste manier om te zeggen is dat het de kunst is om aan de computer uit te leggen wat hij moet doen. In de context van game-ontwikkeling betekent dit dingen doen als "als de speler op de omhoog-knop drukt, doe dat" of "als de gezondheid tot nul daalt, doe dit".

Hoe programmeer je games is al een lastige vraag, en daar zul je mee moeten dealen. Het is nog belangrijker om te begrijpen dat alles hier afhangt van uw kind. We denken allemaal anders en drukken onze ideeën anders uit. Iemand kan een stijl kiezen die voor een ander totaal onaantrekkelijk is.

Over het algemeen zijn er drie manieren om de computer te vertellen wat hij moet doen (vaak komt het neer op een combinatie van beide):

Een gebruikelijke benadering onder beginners en onder ontwikkelaars in het algemeen (bijvoorbeeld in de populaire commerciële engine Unreal Engine 4 is er een visuele programmeerinterface Blueprints). Je geeft vorm aan het spelscherm door elementen te slepen en neer te zetten en ze vervolgens aan elkaar te koppelen op een manier die lijkt op een stroomdiagram. Als uw kind een visuele denker is, is dit de beste keuze.

Scripttalen

Hier leg je een taak uit aan de computer met behulp van kleine tekstbestanden. Vaak gebruik je nog steeds een visuele editor, zoals in de afbeelding hierboven, maar laat de computer weten wat hij moet doen zonder tekstvelden in te vullen of diagrammen te bouwen, maar met behulp van code.

Dit stukje tekst vertelt de computer om de afbeelding "whale.png" te downloaden en op het scherm weer te geven.

Traditionele programmeertalen

Ten slotte zijn veel games geschreven in traditionele talen: C ++, Java, C # en andere. Ik zal meteen zeggen dat ik jonge game-ontwikkelaars om een ​​aantal redenen niet aanraad om met traditionele, of beter gezegd, gecompileerde talen te beginnen.

De belangrijkste vraag die u wellicht heeft, is: wat is het verschil tussen scripttalen en gecompileerde talen? De meeste verschillen hebben betrekking op technische details die buiten het bestek van dit artikel vallen, maar over het algemeen komt het allemaal neer op complexiteit. Werken met een gecompileerde taal omvat veel dingen waar u in scripttalen niet over hoeft na te denken: compilatie (de tekst die u schrijft omzetten in iets dat een computer begrijpt), linken (hier in een notendop), en nog veel meer.

Het belangrijkste verschil is het doel. Scripttalen zijn vooral gericht op het oplossen van specifieke problemen om het leven van de ontwikkelaar te vereenvoudigen. Kortom, scripttalen zijn veel gemakkelijker te leren en te gebruiken.

Uiteindelijk zul je vaak ontwikkeltools tegenkomen die visuele programmeer- en scripttalen combineren.

IDE, bibliotheek, wat ???

Oké, dit is het laatste inleidende punt. Er zullen veel niet erg duidelijke termen en uitdrukkingen in de tekst voorkomen, dus ik zal ze kort uitleggen.

Taal. Dit verwijst naar een programmeertaal. We communiceren met elkaar in verschillende talen, en je kunt ook verschillende talen spreken met een computer. Het bovenstaande voorbeeld toont de Lua-taal.

IDE. Integrated Development Environment (Integrated Development Environment) - een applicatie die verantwoordelijk is voor veel taken tegelijk. Niet alle beschreven programma's bevatten een IDE, dat wil zeggen dat u mogelijk verschillende software nodig heeft voor verschillende taken. Een ontwikkelomgeving bevat doorgaans een teksteditor, een programmeertaal en een aantal andere tools.

Bibliotheek. Stel je voor dat dit iemand is die veel werk voor je doet. In de regel maken zelfs 'eenvoudige dingen' zoals weergeven op het scherm geen deel uit van de taal. Deze dingen zijn gemaakt door andere mensen, waardoor ze beschikbaar komen in de vorm van bibliotheken. In sommige gevallen (in GameMaker of Construct) wordt dit allemaal al voor je in elkaar gezet. In Lua moet je bijvoorbeeld zelf de bibliotheek kiezen. Elke aanpak heeft zijn eigen voor- en nadelen. Gamemaker maakt veel dingen gemakkelijker voor beginners, maar met Lua kun je de bibliotheek veranderen in een handigere.

Spruit. Dit zijn de afbeeldingen die in het spel worden gebruikt, bijvoorbeeld het personage van de speler. Een sprite kan een afbeelding zijn of veel animaties bevatten. De exacte betekenis van de sprite is in elke engine anders, maar in het spel is het altijd een zichtbaar bewegend object. In Super Mario Brothers zijn dit Mario, schildpadden, vuurballen, enz. Tegelijkertijd bestaat de wereld zelf - de lucht, buizen, enz. - niet per se uit sprites.

HTML5. Hier kan niet alles tegelijk worden begrepen. HTML 5 is de nieuwste versie van HTML, de opmaaktaal voor webpagina's. Wanneer u de site in een computer- of telefoonbrowser laadt, ziet u een HTML-document. Maar HTML5 is ook een algemene term voor de vele technologieën die websites aandrijven. Dit omvat HTML zelf, CSS (een andere taal die het uiterlijk van pagina's bepaalt) en JavaScript, een scripttaal die verantwoordelijk is voor logica. Mensen gebruiken HTML, HTML5 en JavaScript vaak door elkaar, hoewel dit technisch gezien niet helemaal waar is. HTML5 kan worden gebruikt om games te maken en het hoeft niet in de browser zelf te werken.

Debugger. Wanneer een game niet werkt zoals het zou moeten, kan het lastig zijn om erachter te komen waarom. Sommige pakketten bieden hiervoor een zogenaamde debugger, een tool om problemen of "bugs" te identificeren. Het is een behoorlijk geavanceerde tool voor beginners, maar als dat nodig is, kan de debugger niet genoeg worden benadrukt.

Spelontwikkelingstools geschikt voor kinderen

Laten we dus verder gaan met de directe essentie van het artikel: hulpmiddelen waarmee uw kind kennis kan maken met de wereld van game-ontwikkeling. Dit is zeker geen volledige lijst! Op elk punt zal ik je vertellen wat er in het pakket van het programma zit, ik zal je laten zien hoe het werkt, ik zal de voor- en nadelen beschrijven, ik zal de prijs aangeven, als die er is, en ik zal links geven naar educatieve literatuur. Eén punt moet nog worden opgemerkt ... elk van de opties kan nuttig zijn, er is geen "beste" keuze. Kies op basis van de voorkeur van uw kind. Als de eerste keuze niet werkt, probeer dan iets anders.

De lijst is in willekeurige volgorde opgebouwd.

Kras

Dit is een door het Massachusetts Institute of Technology gefinancierd project om kinderen van 8 tot 16 jaar programmeren te leren. Het programma werd in 2006 geboren en heeft sindsdien een grote gemeenschap om zich heen verzameld. De nadruk ligt op aantrekkelijkheid voor het hele gezin. Scratch heeft alleen een browser nodig om te werken, je gaat gewoon naar de site en begint met programmeren. Scratch maakt deel uit van de Harvard en Yale CS50 Introductory Computer Science cursus. Registratie is vereist om de resultaten op te slaan, maar het is eenvoudig en vereist zelfs geen bevestiging per e-mail.

Scratch behoort tot de categorie van visuele programmeertools. Het kind neemt de acteurs mee naar het podium en bestuurt ze met behulp van Lego-vormige programmeerblokken. Blokken fungeren als een goede analogie van de structuur van echte programmeertalen, zodat ze later gemakkelijker te begrijpen zijn. Er is veel documentatie beschikbaar en er zijn letterlijk duizenden voorbeeldprogramma's.

Misschien wel de meest aantrekkelijke eigenschap van Scratch is dat het alle inhoud heeft die je nodig hebt om te beginnen. Tegelijkertijd is het ook mogelijk om uw eigen of gedownloade geluiden en afbeeldingen te uploaden, wat de overgang van programmeren naar het maken van activa of vice versa vereenvoudigt.

Hierboven is een script bevestigd aan een blauwe hond. Het bestaat uit twee delen, de eerste wordt geactiveerd door op de groene vlag te drukken. De hond verschijnt op een bepaalde plaats op het scherm en beweegt dan stap voor stap naar links. Het tweede script wacht op een botsing met een andere hond, brengt de hond dan terug naar zijn startpositie, verandert de scène en verbergt het object. Elke sprite heeft een apart script. Blokken worden geselecteerd in het programmeerpalet.

Scratch gebruikt blokken voor het programmeren. De afbeelding toont de categorie Uiterlijk. Zoals u kunt zien, is de keuze aan categorieën ruim genoeg.

Scratch is een alles-in-één oplossing, je hebt niets anders nodig om het aan de gang te krijgen. De set bevat veel scènes, achtergronden en geluiden.

Scratch is volledig gratis en gesponsord.

Boeken (ja, die zijn er in het Russisch):

  • Het eerste boek van een jonge programmeur. Programma's leren schrijven in Scratch - Julia Torgasheva
  • Creatieve taken in de Scratch-omgeving. 5-6 klas. Werkboek - Julia Pashkovskaya
  • Programmeren voor kinderen. Een geïllustreerde gids voor scratch en Python - Carol Vorderman

Scratch heeft ook een iPad-app genaamd ScratchJr voor kinderen van 5-8 jaar. Ook helemaal gratis. Je hoeft niets te kopen of te downloaden, je hoeft je zelfs niet te registreren om kennis te maken met het programma, dus Scratch mag de voordeligste optie uit de lijst genoemd worden.

Construct2

Construct2 is een andere visuele programmeerengine. Games worden gemaakt in een interface met slepen en neerzetten en de logica wordt bestuurd door een gebeurtenissysteem zoals stroomdiagrammen. Als de functionaliteit niet genoeg is, kun je je eigen plug-ins maken met JavaScript, hoewel dit al behoorlijk moeilijk en helemaal niet nodig is - Construct2 is zo ontworpen dat alles gebeurtenisgestuurd is. Het eindresultaat is HTML5 en kan worden geëxporteerd naar meerdere platforms, waaronder mobiele apparaten (Android, iOS, Windows Mobile), browsers en desktops.

Construct2 is een veel complexere tool dan Scratch, wat twee belangrijke dingen betekent. Ten eerste maakt de steile leercurve het ongeschikt voor jonge kinderen en legt het geen nadruk op een onderwijsbenadering. Aan de andere kant is dit een relatief eenvoudig hulpmiddel, niet langer om de basis te leren, maar om games te maken. Dit betekent dat uw kind niet snel met beperkingen te maken krijgt. Veel commerciële games zijn gemaakt in Construct2.

Er is veel documentatie beschikbaar voor Construct2, inclusief gedetailleerde helpinformatie en een PDF-handleiding. De community is erg actief, je kunt altijd contact opnemen met het forum voor ondersteuning.

Construct is geïnstalleerd op een Windows-computer. Mac wordt momenteel niet ondersteund.

Zo ziet programmeren in Construct2 eruit. Hier is de code die de reactie van het spelkarakter op de invoergegevens beschrijft; ontleend aan een voorbereid voorbeeld van een eenvoudige shooter.

Hiermee kunt u snel vooraf gedefinieerd gedrag aan een object toevoegen.

Construct2 is een alles-in-één oplossing, u heeft verder niets nodig om het aan de gang te krijgen. Vanaf het allereerste begin is er geen overvloed aan spelbronnen, maar er is een zwaar pakket met activa beschikbaar om gratis te downloaden (wees voorzichtig, de link is direct, het archief weegt 38 MB). Voor de betaalde versies zijn extra middelen beschikbaar.

Als je je eigen plug-ins wilt maken, heb je de JavaScript SDK (gratis beschikbaar) en een tekstbewerkingstool nodig, aangezien Construct er geen heeft.

Construct2 is verkrijgbaar in verschillende uitvoeringen:

  • Gratis versie - gemaakte games kunnen alleen in een browser worden uitgevoerd, minder middelen en een aantal beperkingen op de complexiteit van games. Beperkingen zouden geen groot probleem moeten zijn, althans niet in het begin.
  • Persoonlijke versie - kost $ 129, je kunt games maken voor iPhone, Android en desktopsystemen, meer geluiden, muziek, sprites en andere activa.
  • De zakelijke versie is in wezen hetzelfde als de persoonlijke versie, alleen kost het meer en moet je het aanschaffen na het overschrijden van de winstdrempel van $ 5000 (als je zo'n probleem hebt, is dat goed!).

Ik heb geen boeken in het Russisch gevonden. Er is een vertaling van de introductiecursus. Construct2 lessen in het russisch.

Spellenmaker

GameMaker is een alles-in-één hybride systeem dat visuele programmering combineert met zijn eigen scripttaal, GML. In eerste instantie werken games alleen op Windows, maar in de betaalde versie kunnen ze worden gemaakt voor browsers, iOS, Android, Windows Phone en andere platforms.

Programmeren in GameMaker kan gebaseerd zijn op stroomdiagrammen op de manier van Construct2. Het is mogelijk om code te schrijven in de GML-scripttaal. Dit is zowel een plus als een min. Enerzijds is dit een flexibel systeem, anderzijds is het moeilijker te begrijpen. Omdat het GameMaker's eigen taal is, zullen veel van de geleerde vaardigheden niet zo nuttig zijn bij het overstappen naar een andere ontwikkelingstool. Natuurlijk veranderen basisprogrammeerconcepten niet van taal tot taal, dus dit is geen bijzonder ernstig probleem.

Naast de nodige middelen heeft GameMaker letterlijk alles wat je nodig hebt, hoewel de kwaliteit van de tools varieert. Naast programmeren, kunt u uw eigen afbeeldingen, geluid en niveaus maken - alles in één applicatie. Onder de games die in GameMaker zijn gemaakt, bevinden zich zeer succesvolle projecten - bijvoorbeeld de originele versie van Spelunky en Hotline Miami (niet voor kinderen).

Dit is een van de moeilijkste programma's op de lijst, en het is het beste om het niet eerder dan de adolescentie te beginnen. Maar voor oudere kinderen biedt het een goede flexibiliteit en de mogelijkheid om games te delen en uiteindelijk te verkopen. Het hangt allemaal af van het specifieke kind, dus het is moeilijk om hier iets te adviseren, houd er rekening mee dat, vergeleken met dezelfde Scratch, alles hier veel gecompliceerder is.

GameMaker bevat alles wat je nodig hebt, of het nu gaat om het bewerken van code, het maken en bewerken van afbeeldingen, het ontwerpen van kaarten of wat dan ook. Er is ook een ingebouwde debugger inbegrepen. Toegegeven, er zijn niet zoveel voorbeelden van werk in de standaardversie. Sterker nog, ze bestaan ​​helemaal niet. Dankzij de actieve community kun je echter gemakkelijk een heleboel voorbeelden en lessen op het net vinden. De kwaliteit van de materialen kan heel verschillend zijn, en Yoyo Games zelf houdt zich daar niet mee bezig, dus je zult op zoek moeten naar goede lessen.

GameMaker-licenties zijn lastig omdat de prijsstructuur is veranderd, maar niet alle inhoud is bijgewerkt.

  • De eerste release beperkt het gebruik van bronnen en scripts ernstig. Voor het upgraden naar de standaardversie is echter alleen een bevestiging nodig van de e-mail waarnaar u de productsleutel zult ontvangen.
  • Er is ook een professionele versie van $ 100 met samenwerkingsfunctionaliteit (die heb je nog niet nodig). Het belangrijkste verschil tussen deze versie is dat je aparte modules kunt kopen om export naar andere platforms te ondersteunen (elk $ 200). Wil je bijvoorbeeld voor Android en iOS ontwikkelen, dan moet je in totaal $ 500 betalen.
  • Ten slotte kost de Master-versie met alle beschikbare platforms $ 800.

Voor een beginnende ontwikkelaar is een eenvoudige geregistreerde versie voldoende. Als je naar Professional kijkt, staat ze vaak op Steam-verkoop.

Merk op dat u niet alle ingebouwde tools hoeft te gebruiken. U kunt eenvoudig sprites in een ander programma tekenen of afbeeldingen uit andere bronnen importeren.

Lua en LÖVE

Lua is een scripting-engine en LÖVE is een bibliotheek voor het maken van games. Lua was oorspronkelijk een programmeertaal voor "niet-programmeurs" en werd al snel populair als scripttaal voor commerciële spellen zoals deze. Deze optie heeft één groot voordeel ten opzichte van bijvoorbeeld GML. Lua wordt overal gebruikt en door velen bekend, dus het is handig om het te weten. Qua leren is de taal vrij eenvoudig.

LÖVE is een bibliotheek voor het maken van games met Lua. Het biedt bijna alle functionaliteit die je nodig hebt om 2D-games te maken - grafische uitvoer, geluidsweergave, invoerbeheer, bestandsuploads en meer.

LÖVE en Lua zijn op zichzelf niet genoeg, je hebt ook een teksteditor nodig voor het schrijven en bewerken van scripts, software voor het maken van afbeeldingen en geluidsopname, een kaarteditor voor levelontwerp en dergelijke. Gelukkig is dit allemaal vrij beschikbaar, en hieronder zal ik voorbeelden geven. Je hoeft alleen maar alles apart te downloaden. Er zijn geen middelen inbegrepen bij LÖVE, maar bronnen zoals Open Game Art en FreeSound kunnen je daarbij helpen. Nogmaals, je moet alles zelf downloaden.

Het grootste nadeel van LÖVE is het gebrek aan ondersteuning voor mobiele platforms. Op dit moment staat de bibliotheek het maken van games alleen voor computers toe, hoewel in de toekomst ook mobiele apparaten worden beloofd.

De LÖVE-bibliotheek bevat Lua, dus eerst gaan we alleen hier, en dan hier voor documentatie voor beginners. U hebt echter ook een teksteditor en grafische en geluidsprogramma's nodig.

Voor eenvoudig typen zijn er twee populaire opties: Notepad ++ en Sublime Text.

Voor ontwikkeling in Lua zou ik je echter aanraden om het te gebruiken - het is eerder een IDE met ondersteuning voor het voltooien van code, debuggen en soortgelijke dingen. Oh ja - het is ook gratis.

De gratis Tegeleditor is geweldig voor het maken van levels en kaarten.

Alternatieven - Lua wordt gebruikt als scripttaal in veel populaire ontwikkelingstools zoals Corona, Gideros en Marmalade Quick. Ze zijn allemaal moeilijker dan LÖVE, daarom raad ik haar aan. Ze laten echter goed zien hoe nuttig kennis van Lua kan zijn.

Lua en LÖVE zijn gratis, je betaalt voor ZeroBrane zoveel je wilt.

Slechts één van de boeken beschrijft het programmeren specifiek in LÖVE.

  • Lua Programmeren - Roberto Jeruzalimski

Zoeken naar bibliotheekmateriaal maakt liefde moeilijk, dus voeg lua toe aan je zoekopdrachten.

Python en PyGame

Dit is een andere combinatie van taal en bibliotheek. PyGame lijkt veel op LÖVE en is beginnersvriendelijk. Het maakt gebruik van Python, een populaire scripttaal, hoewel het in de 3D-wereld beter bekend is dan bij de ontwikkeling van games. Vaak gebruikt door IT-professionals om taken te automatiseren, komt kennis van Python ook buiten de game-ontwikkeling van pas. Verschillende beroemde spellen zijn in deze taal geschreven.

PyGame heeft de verwachte functionaliteit, het omgaan met geluid, afbeeldingen en invoer. U moet zorgen voor de teksteditor en het maken van activa. In tegenstelling tot LÖVE zijn sommige activa en voorbeelden echter al gebundeld met PyGame.

Gebruik de tips voor LÖVE, de meeste van de genoemde tools zullen ook hier helpen.

Natuurlijk, ZeroBrane niet meegerekend - als analoog raad ik je aan om vertrouwd te raken met PyCharm (er is een gratis versie). Het is niet de gemakkelijkste editor, maar je kunt altijd in gewoon Kladblok ++ of Sublime Text werken.

Python en PyGame zijn gratis. PyCharm heeft een gratis versie.

Stencyl is een suite van visuele programmeertools die zichzelf "de gemakkelijkste en snelste manier om games te maken" noemt, wat heel goed waar kan zijn! Qua functionaliteit is het vergelijkbaar met Construct2, je programmeert, bouwt de scène op en voorziet hem van gedrag. Dit is een alles-in-één oplossing met een ingebouwde grafische editor, hoewel de mogelijkheid om afbeeldingen te importeren ook aanwezig is. U kunt geen scripts schrijven in Stencyl, maar u kunt extensies maken met behulp van de Haxe-taal als u niet over voldoende programmafunctionaliteit beschikt. Dit kan echter al verder gaan dan de huidige capaciteiten van het kind - in dit geval komen de extensies die beschikbaar zijn in de winkel van pas.

Stencyl draait op Windows, Linux en Mac en maakt standaard alleen Flash-applicaties. Andere platforms, waaronder iOS en Android, zijn tegen betaling beschikbaar. Het programma heeft niet veel middelen in de kit, maar het biedt snelle toegang tot hen, en de online hulp is best goed.

Dit is een alles-in-een oplossing. Als je niet dieper in de programmeeruitbreidingen in Haxe duikt, is alles wat je nodig hebt al inbegrepen of beschikbaar via links rechtstreeks vanuit de applicatie.

  • Stencyl is gratis om mee te werken, maar alleen Flash-games zullen het resultaat zijn. Uitgebrachte games hebben een Stencyl-startscherm tijdens het opstarten.
  • Voor $ 99 is er een Studio-versie beschikbaar waarin je desktop-applicaties kunt maken. De Stencyl-screensaver ontbreekt.
  • Voor $ 199 kun je games maken voor iOS en Android.

Lego mindstorm

Laat me meteen duidelijk zijn dat dit een heel, heel duur ding is. Maar als uw kind geïnteresseerd is in robotica of gewoon een fervent Lego-fan is, is dit een goede manier om hem kennis te laten maken met programmeren. Mindstorm Lego is een robotbouwpakket. De set bevat programmeerbare blokken die het gedrag van de robot bepalen. Mindstorm biedt geleidelijke vooruitgang bij het leren: eerst wordt een robot samengesteld uit delen van een bouwpakket, daarna kun je hem leren bedienen met een applicatie (voor iPad of desktopsystemen), en dan beginnen met het programmeren van logica.

Met Lego Mindstorm kun je zowel zelfstandig je creaties beheren als programmeren in de EV3-app met behulp van stroomdiagrammen. Er zijn ook tools waarmee u op een willekeurig laag niveau kunt programmeren.

Dit punt onderscheidt zich van het algemene onderwerp, maar ik heb besloten om Mindstorm te noemen als een leerprogramma voor programmeren dat handig is voor kinderen die liever iets met hun eigen handen maken. Het observeren van oorzaak-en-gevolgrelaties met materiële objecten kan zeer nuttig zijn.

Mindstorm Vuurspuwende Draak Klaar, Maand om te Bouwen

Duur! Erg duur!

  • Een basisset met onvolledige lokalisatie is te vinden vanaf 22.000 roebel
  • Je zult nog meer moeten betalen voor add-ons
  • Verkrijgbaar vanuit de VS voor $ 350 plus verzendkosten

De handleiding en het trainingsmateriaal zijn beschikbaar in elektronische vorm (links naar pdf-bestanden).

  • Robots bouwen op Lego Mindstorms Education EV3 - Valery Safuli, Natalia Dorozhkina

Het is niet meer echt "game-programmeren", maar het is zeker een handige manier om vertrouwd te raken met de vele vaardigheden die het nodig heeft. En ja, als mijn ouders me dit als kind zouden geven, zou ik ze nomineren voor de Ouder van het Jaar-prijs. Als mijn dochter groot is, koop ik er een voor haar... hoewel het misschien een cadeau voor mij is?

Speciale vermeldingen

Elke lijst moet met iets eindigen, en deze is geen uitzondering. Hieronder staat alles wat om de een of andere reden niet in de hoofdpunten viel. Als je iets van het bovenstaande niet leuk vindt, kijk dan zeker eens naar deze opties.

Mods voor Minecraft

Als uw kinderen computerspellen spelen, zijn ze misschien al bekend met Minecraft. Modding is een aanpassing van het originele spel, en in dit opzicht is Minecraft vooral populair. Mods kunnen een handige manier zijn om te leren programmeren - of je op zijn minst motiveren om het te doen. Aanbiedingen met mods voor Minecraft heel veel mensen. Het nadeel is dat ze in Java zijn geschreven en dat deze taal niet geschikt is voor jonge kinderen. Met de nodige interesse in het spel is het echter het proberen waard. U kunt meer te weten komen.

SpelSalade

Het is een visuele programmeertool zoals Stencyl en Construct2. Gebruikt om commerciële games te maken, is een gratis versie beschikbaar, betaalde open toegang tot andere platforms. Persoonlijk heb ik GameSalad niet gebruikt.

codea

Codea is een applicatie voor het ontwikkelen van games voor de iPad op de iPad zelf. Kost $ 10, gebruikt Lua en heeft een eigen, gemakkelijk te leren bibliotheek. Er is een code-editor, debugger en tools om verbinding te maken met een computer. Je kunt verbinding maken met een Mac en een game maken die goed is voor release. Typen op iPad is helemaal niet leuk, dus een draadloos toetsenbord is bijna essentieel. Bevat talloze voorbeelden en is geweldig voor kinderen met een iPad (vooral als dat alles is wat ze hebben).

Kodu of Project Spark

Dit is een spel over het maken van spellen. In feite is dit een spel dat in alles kan worden gewijzigd. Kodu is een visuele programmeertaal van Microsoft. Project Spark is een aangepaste versie van Kodu die is uitgebracht voor de XBox One. Dit is verre van gebruikelijk, maar veel van de ideeën (en het eindresultaat!) zijn hetzelfde.

Codegevecht

Een interessant concept is een browserspel waarbij het personage wordt bestuurd door te programmeren. Naarmate je verder komt in het spel, leer je moeilijkere dingen. In principe leer je programmeren door een spel te spelen. Het is oorspronkelijk gemaakt voor het aanleren van Javascript, maar toen kwamen er andere talen bij. Ik ben ervan overtuigd dat het helemaal gratis is, dus je moet niets proberen.

Alice

Alice is een leerprogramma voor programmeren met een geïntegreerde ontwikkelomgeving. Hier zijn de eigen woorden van de auteurs:

Alice is een innovatieve 3D-omgeving waar je moeiteloos kunt werken met animaties, storytelling, games of video's. Het is gratis educatieve software die is ontworpen om studenten kennis te laten maken met objectgeoriënteerd programmeren. Het leert fundamentele programmeerconcepten door het maken van geanimeerde video's en eenvoudige videogames. In Alice is de virtuele wereld gevuld met driedimensionale objecten (mensen, dieren, auto's) en schrijven leerlingen programma's waarmee ze worden geanimeerd.

Alice wordt ondersteund door Carnegie Mellon University en is volledig gratis.

RPGMAKER

RPG Maker Ace is een GameMaker-achtig product dat is ontworpen om een ​​specifiek type games te maken met betrekking tot het jRPG-genre. De slogan is letterlijk: "Eenvoudig genoeg voor een kind, krachtig genoeg voor een ontwikkelaar." Er zijn verschillende commerciële games gemaakt met RPG Maker. Perfect voor je kind als hij een fan is van het genre. Kost $ 70 maar is vaak op Steam te koop.

Conclusie

Natuurlijk ben ik niet in details gegaan, maar ik heb de meeste beschikbare opties doorgenomen. Als je denkt dat het de moeite waard is om aan de lijst toe te voegen, laat het me weten! Ik heb geprobeerd het artikel begrijpelijk te maken voor mensen van elk kennisniveau, maar ik kon het natuurlijk niet aan. Als iets niet duidelijk is, schrijf dan. Het belangrijkste om te onthouden is dat alle kinderen anders zijn en dat dezelfde aanpak niet voor iedereen werkt. Kies wat je denkt dat het beste bij je kind past, en mocht er iets niet lukken, weet dan dat er altijd een heleboel andere opties zijn!

Ze streven ernaar om zo'n sfeer te creëren alsof er al kinderen in de industrie werken. De lessen worden gegeven in echte kantoren en worden gegeven door de oprichters en medewerkers van grote IT-bedrijven. “We bereiden kinderen voor op toelating tot vooraanstaande universiteiten, het starten van een bedrijf, het werken in Russische of internationale technologiebedrijven. Door middel van programmeren leren we ze zelfstandig te denken en hun potentieel te onthullen', zegt het hoofd van de school, Oksana Selendieva. Coddy geeft basis- en zeer gespecialiseerde vakken: in totaal meer dan 30 cursussen. De programma's zijn zo gestructureerd dat de student na het voltooien van een van hen naar het volgende niveau kan gaan en de cursus diepgaand kan blijven bestuderen. De lessen worden een keer per week gegeven, op zaterdag of zondag, en duren 3 astronomische uren met een korte pauze.

De kosten zijn 6000 roebel per maand. Oefenterreinen bevinden zich op Kursk, Belorusskaya, Paveletskaya, Dmitrovskaya en Iljitsj-plein. Details

1C: Club van programmeurs voor schoolkinderen

Dit is geen school of technische kring, maar een club voor kinderen van 11 tot 17 jaar. In totaal omvat het project 162 vestigingen in Rusland en het GOS, waarvan 7 in Moskou. Het doel van de club is om kinderen kennis te laten maken met programmeren, de interesse voor het vak te wekken. Hier leren ze programmeren in de meest relevante talen die overal worden gebruikt: van mobiele telefoons en internet tot supercomputers. Er zijn ook cursussen over systeembeheer en ontwikkelingsbeheer. En hier bereiden ze zich doelbewust voor op Olympiades en het Unified State Exam in computer science (de gemiddelde score in de club is 72). Elk programma is ontworpen voor een paar jaar, 1-2 keer per week.

Kosten - 700 roebel / les. Oefenterreinen bevinden zich in Baumanskaya, Novoslobodskaya, Alekseevskaya, Timiryazevskaya, VDNKh en Leninsky Prospekt. Details

Kodabra

Kodabra is een spelgerichte cursus voor kinderen van 6 tot 14 jaar. Ze streven ernaar om de liefde van kinderen voor computerspelletjes om te buigen naar een bruikbaar kanaal. Als een kind al zijn vrije tijd aan games besteedt, zijn cursussen over het maken ervan een goede manier om de vector van entertainment naar ontwikkeling te veranderen. Tijdens het leerproces komen ze in aanraking met natuurkunde, wiskunde en andere basiswetenschappen. Omdat de cursussen speciaal voor kinderen zijn ontworpen, gaat het leren gepaard met spelletjes. Na elke les heeft het kind een resultaat dat hij aan ouders en vrienden kan laten zien. De duur van een les is 1,5 uur, elke cursus duurt 2 maanden (16 lessen).

De kosten van cursussen zijn van 5500 tot 11000 roebel per maand. De lessen worden gegeven op weekdagen, op Shabolovskaya en Paveletskaya. Details

CrashPro

In het centrum van aanvullend onderwijs voor kinderen van 6-16 jaar, CrashPro, streven ze ernaar om kinderen relevante kennis te geven op de gevraagde gebieden en hen te helpen bij het uitvoeren van hun eigen projecten. In totaal heeft de school 10 programma's gewijd aan technische, creatieve en digitale beroepen. Voor de meeste vakken in CrashPro moet je volwassen worden: ze zijn bedoeld voor leerlingen van 12 jaar en ouder. Voor kinderen vanaf 6 jaar is er een cursus robotica: hier leren ze robots maken met Lego WeDo-constructors. In elk van de cursussen worden studenten verdeeld in creatieve groepen en werken ze aan een afstudeerproject. Gedurende deze tijd zullen de jongens in de praktijk leren wat "doelen", "taken" en "deadline" zijn.

De cursus duurt 3 maanden, de kosten van een semester lessen in één programma bedragen 80.000 roebel (met uitzondering van robotica, 18.000 roebel). De lessen worden gegeven in het centrum - op Vozdvizhenka. Details

Moskouse School of Programmers

Driejarige cursussen voor leerlingen van groep 8-10, een gezamenlijk project van Yandex en de Mytishchi-school van programmeurs. Ze gebruiken geen "school"-benadering van lesgeven, maar eerder een "universitaire" benadering. Cursussen zijn onderverdeeld in verplichte en optionele - bepalende specialisatie. De vereiste cursus bevat de basis om u te helpen een programmeertaal te leren. Dit is algoritmisch denken, sommige 'niet-schoolse' delen van wiskunde, elementaire cybernetica. Om naar school te gaan, moet je slagen voor een toelatingsexamen. Er is geen programmeerkennis voor nodig, maar ze controleren wiskunde en logica.

De cursussen zijn duur (de kosten van een semester zijn 22.500 roebel), maar effectief: de studenten van de school winnen regelmatig Olympiades van alle niveaus. De lessen worden in het weekend 1-2 keer per week gegeven in het kantoor van Yandex in Moskou aan de Lev Tolstoy-straat. Details

Codeerschool in Moskou

Moscow Coding School is niet gespecialiseerd in kinderen, maar biedt verschillende cursussen voor kinderen. Eind november starten de lessen webprogrammeren (HTML, CSS en JavaScript) voor scholieren van 10 tot 13 jaar. De cursus omvatte spelblokken, praktische zelfstandige opdrachten en teamwerk aan de code. Voor 6 lessen van 5 uur moet je 39.999 roebel betalen. In december opent een ander programma voor kinderen, gewijd aan digitale creativiteit en het maken van elektronische installaties. Tijdens deze sessies zullen leraren proberen meer dan 12 nuttige vaardigheden te ontwikkelen op het gebied van programmeren en creatief denken bij de leerlingen van de school.

De kosten van deze cursus zijn 24.999 roebel voor 4 lessen. De lessen worden gegeven op zaterdag en zondag van 10.00 tot 15.00 uur, in het DI Telegraph-gebouw op Tverskaya. Details

Ga naar

Dit project omvat drie soorten educatieve programma's: de GoTo School-zomerschool, de GoTo Hack-hackathon en het GoTo Camp. Elke vakantie brengt GoTo Camp leerlingen van de groepen 8-11 uit heel Rusland en de buurlanden samen. De deelnemer aan het GoTo-kamp krijgt de mogelijkheid om een ​​project uit te voeren of onderzoek te doen op het gebied van programmeren, robotica, bioinformatica, data-analyse en andere hightech gebieden. De projecten worden begeleid door docenten van de beste universiteiten van het land en experts van IT-bedrijven: MIPT, HSE, Innopolis, Yandex, CROC, Microsoft, Nival, Rambler & Co, Intel, enz. Het kamp opent in de regio Moskou vanaf 3 t/m 10 januari tijdens de wintervakantie.

De kosten van één ploeg variëren van 16.000 tot 26.000 roebel, er is ook een systeem van beurzen voor training. Details

Samsung IT-school


Voor de oudste leerlingen, voornamelijk leerlingen van het 10e leerjaar, is er een gratis educatief programma van Samsung en vooraanstaande MIPT-docenten. De hoofdrichting is de ontwikkeling van mobiele applicaties voor Android. Toelatingsexamens worden elk jaar in het voorjaar afgenomen, daarvoor moet gedurende het jaar een aanvraag worden ingediend. De lessen beginnen in september. De duur van de opleiding is 1 jaar. Gedurende deze tijd doorlopen studenten 5 trainingsmodules: de basisprincipes van programmeren in Java, objectgeoriënteerd programmeren, algoritmen en datastructuren, de basisprincipes van het programmeren van Android-applicaties, de basisprincipes van het ontwikkelen van de serverkant van mobiele applicaties. Afgestudeerden die hun studie met succes afronden, ontvangen een certificaat van Samsung, dat extra punten geeft voor toelating tot partneruniversiteiten.

De lessen worden 2 keer per week gegeven gedurende 2 academische uren. De locaties bevinden zich in de buurt van de stations Preobrazhenskaya-plein en Rimskaya, evenals in de gebouwen van de RUDN-universiteit op Shabolovka en in Belyaevo. Details

12 september 2017 om 14:40 uur

Ervaring in het online lesgeven aan kinderen vanaf 8 jaar

  • Onderwijsproces in IT

Waarom we zijn overgestapt op online lessen

Vroeger hadden we een gewone computerklas, kinderen uit de hele stad kwamen. Toen we in dit formaat werkten, onthulden we veel dingen die we niet leuk vonden.

1) Als zelfs 5-6 studenten in één ruimte samenkomen, is het erg moeilijk om de kwaliteit van het onderwijs op een hoog niveau te houden. Kinderen zijn vaak afgeleid, bemoeien zich met elkaar, genieten. De leraar moet veel tijd besteden om te kalmeren en studenten klaar te stomen voor het werk. Het is helemaal niet effectief.

2) Alle kinderen zijn heel verschillend. Ze hebben een ander opleidingsniveau, iemand grijpt snel, iemand langzaam, iedereen maakt graag verschillende spellen en projecten. Het is moeilijk om een ​​individuele benadering in de klas te geven. Het is onmogelijk om één taak te geven die voor iedereen tegelijk geschikt is.
Daarom gaven we iedereen individuele opdrachten, voorbereide materialen: video's en presentaties om het de docent gemakkelijker te maken. Je moet elke student afzonderlijk benaderen, als je geen tijd hebt om de vraag snel te beantwoorden en te helpen - het kind begint zich over te geven en zich met de rest te bemoeien.

3) Er waren nogal eens problemen met computers. Kinderen morsen water op het toetsenbord, verwijderen iets, breken het, laptops vertragen, enz. Meteen begint er een geluid: "Ah, mijn computer is kapot!" En de leraar wordt systeembeheerder. Het kost veel tijd en zenuwen.

4) Als je denkt dat zulke klassikale lessen kinderen leren om in een team te werken, dan is dat niet zo. Omdat de kinderen verschillende niveaus hebben, zal één van het team het doen, en de rest zal in hun neus peuteren. Programmeren is een introvert proces, je moet jezelf onderdompelen in een probleem om een ​​probleem op te lossen. Het is onmogelijk om tegelijkertijd soft skills en programma te ontwikkelen. Dit zijn verschillende soorten activiteiten en u moet ze afzonderlijk ontwikkelen. Je kunt kinderen leren een groot project met elkaar te delen, zodat ze later delen van hun code kunnen groeperen. Maar ze werken apart aan hun stuk.

5) Ouders dienen het kind te brengen en op te halen. En tijdens de les is het ook niet duidelijk wat je met jezelf aan moet, je hebt niet altijd tijd om op zaken te gaan. Veel ouders zaten 2 uur in onze gang te wachten tot de les afgelopen was.

Een van de bekende ouders, wiens zoon naar één grote ICT-school ging, vertelde ons het volgende verhaal:

“Mijn zoon is 9 jaar oud, hij zit nu in de 3e klas van het gymnasium en volgt tegelijkertijd informaticacursussen voor kinderen. De indrukken zijn complex, eerder negatief. Ze doen weinig om in de gaten te houden wat de kinderen op de computers doen. Terwijl de leraar een lezing geeft, slagen een aantal jongens erin om Counter-Strike van de meegebrachte flashdrive op de computer te kopiëren en de klasgenoten aan te sporen met ze te spelen. Het kind heeft geen normale communicatie met leeftijdsgenoten, omdat je moet een nieuwe relatie aangaan. Hij reikt uit naar de jongens, buigt zich onder hen door en zoekt helaas niet altijd communicatie met voorbeeldige klasgenoten. En zo gebeurde het daar. Toen zijn buurman bijvoorbeeld google afbeeldingen op zijn computer opende tijdens een lezing en daar foto's ging zoeken, sorry, shit. En mijn zoon lachte luid om deze foto's, waarvoor hij uiteindelijk met een twee werd gestraft, zonder de echte aanstichter te vinden. Daarnaast is, in tegenstelling tot het gymnasium, waar de jongens meestal goed zijn en de vriendenkring voornamelijk uit leeftijdsgenoten bestaat, het contingent in de cursussen zeer divers, zowel in leeftijd als in opvoeding. Als gevolg van communicatie met verschillende jongens heeft de zoon zulke applicaties op zijn telefoon waar hij zich voor zou moeten schamen, en die hij moet opruimen, uitleggend waarom dit walgelijk is. We hebben contact opgenomen met de educatieve afdeling, ze hebben ons geantwoord, zeggen ze, fysiek kan de leraar niet zien wat er op elk scherm staat, noch computers blokkeren. Er was nog een punt: als de zoon ergens geen tijd voor had, schaamde hij zich om de taak onmiddellijk te verduidelijken of de leraar om hulp te vragen, en toen was het te laat. Individuele training is duidelijk meer geschikt voor hem."

Online gaan

Al deze problemen tollen door mijn hoofd. En op een keer kwam de vader van een van de studenten naar ons toe en vroeg: “Geef je lessen op Skype? Het kind gaat naar zijn grootmoeder in het dorp: frisse lucht is een zaak, maar de hersenen worden niet belast."

Eigenlijk is dit hoe we geleidelijk begonnen te proberen lessen op Skype te geven. En we vonden het geweldig. We zijn volledig afgestapt van de gebruikelijke face-to-face onderzoeken.

Wat zijn de voordelen die we hebben geïdentificeerd:

  • De leraar geeft een individuele taak, kiezen op basis van verlangen en vermogen. Het kind werkt in zijn eigen tempo, wordt door niemand afgeleid.
  • Gedurende de hele les ziet de leraar het scherm van de leerling, kan hem onmiddellijk vragen en helpen.
  • Geen disciplineproblemen. Het kind heeft het gevoel dat hij de hele tijd in de gaten wordt gehouden, dus hij schaamt zich om zelfs maar weer naar het tabblad "links" in de browser te schakelen.
  • Het kind kan voor zichzelf zingen, mompelen, redeneren, en niemand zal hem lachen of "de mond houden".
  • Het kind hoeft niet verlegen te zijn. Hij kan gemakkelijk alles vragen. Kan vragen om een ​​opdracht die moeilijker of gemakkelijker is, of over een ander onderwerp. Zelf om te kiezen wat te doen vandaag.
  • Ouders hoeven nergens heen, computer thuis en klaar. Als je wilt, kun je naast me zitten en kijken hoe de les verder gaat.
  • Je kunt overal ter wereld studeren en je studie niet onderbreken: op vakantie met je ouders, verhuisd naar een ander land, met je oma in het land. Over het algemeen overal waar internet is.
  • Als alternatief kunt u de lessen op elk moment beëindigen en hervatten. Het kind is immers bezig met zijn eigen programma en hoeft niets in te halen.
Natuurlijk zullen niet alle kinderen in deze vorm kunnen studeren. Hier ga je niet op in. Het duurt 2 uur om te werken. Maar de rustigere, ijverige jongens zijn opgetogen. Ze zijn blij als ze hun games en programma's maken.

We geven al meer dan een jaar online lessen, meer dan 100 studenten over de hele wereld studeren al.
We leren kinderen programmeren in Scratch, Python en JavaScript. Daarnaast zijn er lessen in Photoshop, 3D-modellering en informatiebeveiliging.

Soms zijn we zelf jaloers op onszelf dat we dit in onze kindertijd niet hadden. We hebben bijvoorbeeld een studentjongen Erol, die zich al op 12-jarige leeftijd verdiept in client-server-applicaties, sockets. Hoewel ik begon met Scratch, stapte ik al snel over naar Python. Als hij in de klas was geweest, zou hij de helft niet hebben bereikt of geprobeerd. En zo ziet en voelt de coach dat Erol snel grijpt, zeer ijverig is, zelf graag graaft en steeds moeilijkere opdrachten geeft.

Als het formaat van online lessen voor velen nog steeds een noviteit is, dan weet ik zeker dat het over 5 jaar de norm zal zijn.

Degenen onder jullie die mijn pagina volgen, hebben waarschijnlijk gemerkt dat ik de laatste tijd kinderen leer programmeren. Het is verbazingwekkend hoe gedachten materialiseren. Na het bezoek spookte de gedachte door mijn hoofd om mezelf uit te proberen in de rol van mentor in de wereld van computerprogrammering voor kinderen. En gelukkig deed deze kans zich heel snel voor. Ik was uitgenodigd als leerkracht op een kinderkamp, ​​waar twee keer per week een programmeerles voor twee verschillende groepen op het programma stond. De eerste groep bestond uit oudere kinderen (van 8 tot 12 jaar), de tweede groep bestond voornamelijk uit kinderen van 6 tot 8 jaar.

Het feit is dat ik, terwijl ik in de Verenigde Staten was, het geluk had een boek te bemachtigen genaamd Leer uw kinderen coderen met een mooie korting. Daarin worden alle voorbeelden op een speelse manier gegeven met behulp van een programmeertaal. Misschien zal ik in de toekomst een aparte post aan haar wijden, maar nu komen we terug op het onderwerp van mijn onderwijservaring. Dus in eerste instantie leek het me redelijk om het educatieve proces op te bouwen door informatie uit dit boek te putten, maar later realiseerde ik me hoe diep ik me vergis :-) Waarom? Het boek is trouwens bedoeld voor kinderen vanaf 9 jaar.

Aanvankelijk, in elke afzonderlijke groep waren er veel kinderen, meer dan 15 in elke les. Dit belemmerde de effectieve presentatie van het materiaal en beperkte me ook in individuele hulp aan iedereen (zonder dit, zoals later bleek, was het absoluut onmogelijk om te doen).

ten tweede, in de jongere groep waren er kinderen die ofwel heel langzaam lazen of helemaal niet konden lezen. Dit was een ernstige beperking, dus het was noodzakelijk om dit probleem op de een of andere manier op te lossen.

Ten derde, ontbrak de vaardigheid om redelijk te typen op het toetsenbord helemaal niet. Over welke set programmacode kunnen we praten?

Vierde, Ik gaf les in twee talen: Russisch en Engels. De communicatie in het kinderkamp vond plaats in het Engels, aangezien de groepen voornamelijk bestonden uit kinderen die beide talen vloeiend spraken, maar ook uit kinderen die Russisch of Engels spraken. Ik wilde niemand onbeheerd achterlaten.

Visuele programmering

Na een beetje nadenken kwam ik tot de conclusie dat Python absoluut uitgesloten is :-) Daarmee zou leren in dergelijke omstandigheden een nachtmerrie worden. De oplossing voor het probleem liet niet lang op zich wachten, kwam te hulp visuele programmering... Het komt erop neer dat een programmeur geen code schrijft, hij maakt een programma door grafische elementen in een geschikte omgeving (IDE) te manipuleren. Ik herinner me mijn eerste programmeerervaring in Borland Delphi en Borland C++ Builder, waar je een complexe grafische interface kon maken zonder een enkele regel code te schrijven. Maar speciaal voor kinderen bedacht een groep wetenschappers van het MIT een tool genaamd Scratch. Haar taak is om het kind algoritmisch denken op een speelse manier aan te leren. En het is vermeldenswaard dat hij zijn taak perfect doet! Er is een hele gemeenschap rond Scratch, bestaande uit wetenschappers, docenten, ouders en studenten. De tool is er in twee soorten:

  • Als zelfstandige applicatie. Geïnstalleerd op een computer met Windows / MacOS / Linux (Scratch 2.0 offline)
  • Webapplicatie direct beschikbaar op de officiële website

Het grote pluspunt van de laatste optie is dat je je profiel op de site kunt registreren en je scratchprojecten kunt delen met andere leden van de scratch-community. De resultaten van het werk van de laatste zijn al mogelijk.

Het is opmerkelijk dat het programmeren in Scratch niet alleen voor een kind spannend is. Zelf heb ik lang "vastgehouden" aan het voorbereiden van nieuw materiaal voor kinderen.

Kras: lessen

Laten we terugkeren naar het onderwerp van mijn onderwijs. Hoe waren de lessen georganiseerd?

De officiële Scratch-website heeft een leuke help-sectie. Daarin vind je een stap-voor-stap gebruikershandleiding op basis waarvan je de eerste kennismakingsles daadwerkelijk kunt geven. Slimme jongens van Harvard Graduate School of Education schreef een boek genaamd Creative computing ( Creatief programmeren), zal het helpen om een ​​volwaardig onderwijsproces op te bouwen, aangezien het de beste praktijken bevat om kinderen te leren programmeren. Er is een Russische vertaling op het net.

Je favoriete YouTube kan je ook helpen bij het samenstellen van materiaal voor je werk. Hier koppeling tot een van de beste Scratch-tutorials, trouwens, van de auteur van het boek Automatiseer de saaie dingen met Python.

conclusies

Tijdens het lesgeven heb ik voor mezelf een aantal voorwaarden ontwikkeld die bijdragen aan een gunstig proces van het leren programmeren van kinderen.

  • Het is wenselijk om de doelgroep studenten te verkleinen. Een groep van 4-6 personen is het beste. Waarom? Lees hieronder.
  • De duur van de les mag niet langer zijn dan 1 uur (idealiter, zoals op school, 45 minuten). Het zal heel moeilijk zijn om de aandacht van het kind langer vast te houden dan deze tijd.
  • Het kind moet constant geïnteresseerd zijn. Dit is een van de moeilijkste omstandigheden. Als kinderen hun interesse verliezen, gaan ze vreemde dingen doen: andere applicaties openen, door de klas lopen, de kinderen afleiden, klagen dat ze honger hebben :-)
  • Alle kinderen zijn anders. Sommigen zijn slim en leren de stof heel snel, terwijl anderen lang kunnen "hangen" bij de eenvoudigste taken. Houd altijd bonussen op voorraad voor slimme kinderen (extra taken, lastige voorwaarden, enz.).
  • Prijs de kinderen voor hun werk. ook al is het onbeduidend. Dit is erg belangrijk voor een kind!
  • Moedig kinderen aan... Ik raad aan om stickers, klein speelgoed of iets dergelijks als beloning te gebruiken. Motiveer NIET met eten, snoep of koekjes, je weet nooit waar een kind allergisch voor kan zijn.
  • Vraag kinderen om hulp... Als er kinderen in de klas zijn die voorlopen op het normale leerproces, vraag ze dan om je helpers te zijn. Laat ze beginnen met het helpen van degenen die achterblijven bij jou. Geloof me, kinderen vinden het geweldig.

Nadelen van Scratch

Scratch leert niet echt programmeren... Het doel van deze tool is om op een kindvriendelijke manier - spelenderwijs - algoritmische denkvaardigheden te ontwikkelen. Trouwens, deze vaardigheid is niet alleen nuttig voor kinderen in het leven :-) Als het uw doel is om uw kind echte programmeervaardigheden bij te brengen, probeer dan zo snel mogelijk de overgang te maken van visueel programmeren naar het directe coderingsproces met behulp van een van de echte programmeertalen. Bijvoorbeeld,

Of we het nu leuk vinden of niet, leren gaat steeds meer op een spel lijken. Zeker als het gaat om kinderen in de basisschool- of kleuterleeftijd. Dmitry Karpov, een professor aan de British Higher School of Art and Design, heeft een lijst samengesteld met nuttige bronnen voor het onderwijzen van informatica vanaf jonge leeftijd.

Voor degenen die zich voorbereiden op het hoofdexamen van de school

Tegenwoordig bevinden kinderen zich in een volledig unieke informatieomgeving voor de beschikbaarheid van verschillende multimedia-ervaringen. Daarom raad ik aan om games in meerdere groepen te verzamelen.

Deze verzameling toepassingen is gewijd aan een inleiding tot de basisprincipes van programmeren. Je kunt apart een verzameling puzzels, doolhoven en eenvoudige spelletjes verzamelen om bijvoorbeeld denken en aandacht te ontwikkelen. tweede groep- Laden, muziek-apps, eenvoudige video-editors om interesse in digitale creativiteit te ontwikkelen. derde groep toepassingen - interactieve boeken, sprookjes, audioboeken die een verbale en auditieve cultuur ontwikkelen. Ze breiden de woordenschat uit en vormen harmonieus een persoonlijkheid die geïnteresseerd is in de tekst.

Een nieuw kennisgebied - informatica (de wetenschap van toegepast programmeren en ontwerpen) - moet al op jonge leeftijd worden gestart, van 4-6 jaar

Wanneer het kind al ideeën vormt over de wereld om zich heen. Het spel heeft altijd gediend als leermiddel. En vandaag is het belangrijkste educatieve hulpmiddel een gadget (tablet of computer) - een persoonlijke gids voor de wereld van digitale kennis van het kind.

Code.org- mooie interface en veel eenvoudige spelletjes over de basisprincipes van programmeertalen. Een broodnodig non-profit educatief project voor kinderen.

Crayon Physics Deluxe- het spel is gewoon een meesterwerk, het ontwikkelt technisch denken bij een kind, bereidt zich voor om programmeren te begrijpen in omstandigheden van verschillende systemen en fysica-engines. Het gaat niet eens zozeer om programmeren, maar om de logica van het oplossen van problemen via een iteratief proces, de belangrijkste onderwijsdiscipline.

Lightbot- een spel op de oude man Flash, maar met mooie graphics en eenvoudige tutorials over het bouwen van algoritmen voor de beweging van de robot. Ontwikkelt de aandacht van de student voor het script en begrip van het stapsgewijze gedrag van het personage.

CodeCombat is een veteraan in de markt, die zich bezighoudt met gametraining in Python, JavaScript, Lua-codes en exotische CoffeScript.

CodeMonkey- de beginselen van syntaxis leren door met een aap te spelen.

Ceebot- tekencontrole met behulp van C ++ -commando's.

Cargo-Bot- een eenvoudige app voor kleuters en hun iPads.

De speler lost de puzzels op die door de "game" -baas voor elk niveau worden gegeven. Dankzij puzzels kun je bijvoorbeeld leren hoe je modulaire functies en hun combinaties kunt maken op basis van de eenvoudigste opdrachten.

Kras- een klassieker van de ontwikkeling van het denken van een toekomstige programmeur.

Kodu-gamelab is een groot opleidingsproject van het Microsoft Research-team. De pc-versie is gratis, terwijl de Xbox-versie ongeveer $ 5 kost. De schoonheid zit in de aantrekkelijkheid voor het kind van de wereld van het ontwerpen van een spel, de modulariteit ervan, het denken in de categorieën van het creëren van virtuele werelden. Misschien minder handig voor coderen en programmeren, maar beter voor het leren van de basisprincipes van het ontwerpen van game-applicaties.

Hinkelspel is een onmisbare app voor iPad. Mooi ontwerp en basiskennis van basiscoderingsconcepten.

PictoMir- het is vermeldenswaard dit Russische project, ontwikkeld volgens de taakomschrijving van de Russische Academie van Wetenschappen, maar ik hou niet van het ontwerp. De voordelen van de applicatie zijn de Russische taal. Maar dit is een zeer controversieel voordeel bij het leren van de basisprincipes van programmeren, aangezien kennis van de Engelse taal het leerproces versnelt.

RoboZZle- een aanvraag voor het opstellen van een algoritme voor de beweging van de pijl. Leert het kind de theorie van algoritmen in de praktijk te begrijpen.

Kodable- geschikt voor peuters. Tijdens het spel kunnen ze eenvoudige scenario's maken voor het gedrag van schattige bolvormige karakters.

Dit is natuurlijk maar een klein deel van alles. Maar het is vanuit deze applicaties dat je kennis kunt maken met de wereld van programmeren.