Programmeerconcepten in Scratch

Programmeerconcepten in Scratch

Veel mensen kennen Scratch - een leeromgeving voor kinderen waarbij het leren meestal draait om het creëren van creatieve projecten, van eenvoudig naar complex. Hierbij is de 'klassieke aanpak' van het leren programmeren (variabelen → vertakkingen → lussen → functies → structuren → objecten → …) in Scratch moeilijk toepasbaar.

Toch betekent het wijzigen van de volgorde waarin concepten (laten we ze concepten van structureel, objectgeoriënteerd en event-georiënteerd programmeren noemen) worden geleerd, en het verbergen ervan achter kleurrijke sprites en interactieve animaties, niet dat er geen nadruk op deze concepten gelegd moet worden. Dit is vooral belangrijk als het doel niet alleen is om creativiteit te ontwikkelen, maar ook om programmeren te leren. Deze gedachte heb ik geprobeerd weer te geven in mijn de cursus.

Het eerste waar een beginnende Scratch-gebruiker mee te maken krijgt, zijn de sprites. Hoewel er in Scratch geen objectgeoriënteerd programmeren in de traditionele zin is, kunnen sprites als objecten worden beschouwd. Op dit moment ziet de leerling dat er in een programma veel objecten kunnen zijn, waarvan het gedrag wordt aangestuurd door scripts die van buitenaf komen. Sprites ontvangen opdrachten of geven op verzoek informatie over hun toestand door, wat betekent dat programmeren neerkomt op het beheren van objecten.

Het tweede wat een jonge programmeur in Scratch onmiddellijk tegenkomt, is het concept van multithreading. Elke sprite kan meerdere scripts hebben die tegelijkertijd worden uitgevoerd. Meerdere sprites kunnen ook gelijktijdig hun programma's uitvoeren met elkaar. Het blijkt echter lastiger te zijn om een ​​volgorde van uitvoering te organiseren.

Programmeerconcepten in Scratch

Programmeerconcepten in Scratch

Al tijdens de eerste les kunnen we niet om loops heen. Anders kan de kat niet veel beweging maken. Op dit moment moet de kennismaking intuïtief en oppervlakkig blijven. We beperken het tot de loops 'altijd herhalen' en 'herhaal ... keer', die eenvoudiger te begrijpen zijn. De voorwaardelijke loop wordt bestudeerd in een les die speciaal aan loops is gewijd. Deze les veronderstelt kennis van logische expressies en variabelen.

Aangezien Scratch een event-georiënteerde omgeving is, is het handiger om de blokken van de voorwaardelijke operator te bestuderen vóór de variabelen. De voorwaarde kan bepaalde gebeurtenissen zijn.

Programmeerconcepten in Scratch

Ik vind deze volgorde beter, omdat we voor elke les minimaal concepten introduceren. En deze zijn niet abstract, we zien meteen hun praktische nut.

Als we eerst variabelen bestuderen, is het moeilijk om hun functie en nut te demonstreren, omdat de voorwaardelijke operator, invoer van gegevens en het genereren van willekeurige getallen daarvoor nog niet zijn bestudeerd.

In Scratch, afgezien van lijsten, komt een programmeur drie datatypes tegen: getallen, strings en booleaanse waarden. Daarbij is het type verbonden aan de waarde en niet aan de variabele. Het is niet nodig om strings om te zetten naar getallen en vice versa. Strings worden niet tussen aanhalingstekens geplaatst.

Een blok dat een booleaanse waarde retourneert en een kenmerkende hoekige vorm heeft, kan worden geplaatst in ronde velden. Het omgekeerde is niet waar: waar een booleaanse expressie wordt verwacht, kan geen gewone variabele worden ingevoegd.

Programmeerconcepten in Scratch

Scratch is ontworpen zodat er tijdens de uitvoering geen kritieke fouten ontstaan. Daarom wordt als je probeert een string in een rekenkundige operatie te gebruiken, deze vervangen door nul (zie eerste screenshot).

De programmeur moet weten dat de mogelijkheden van programmeertalen worden uitgebreid door bibliotheken. Wanneer je in Scratch werkt, kan de leerling extensies aansluiten die nieuwe opdrachten in de omgeving introduceren.

Programmeerconcepten in Scratch

Functies in Scratch zijn geïmplementeerd in de sectie 'Andere blokken', waar je aan de ene kant je eigen blok maakt dat in andere scripts kan worden ingevoegd. Aan de andere kant moet je de functionaliteit van dit blok samenstellen, dat wil zeggen wat het zal doen.

Programmeerconcepten in Scratch

Er is geen retourwaarde uit een Scratch-functie.

Dus de studie van programmeconcepten in een gebeurtenisgestuurde omgeving drukt zijn stempel. In wezen bestuderen we aanvankelijk complexere en abstracte concepten en, naarmate we dieper in het proces duiken, gaan we over op elementen van gestructureerd programmeren. Of dit een plus of een min is voor de eerste kennismaking, is een discutabel punt.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster