Programmeringskoncepter i Scratch

Programmeringskoncepter i Scratch

Scratch er velkendt for mange – en børnevenlig programmeringsplatform, hvor læringen typisk fokuserer på at skabe kreative projekter efter princippet 'fra enkelt til komplekst'. Den 'klassiske tilgang' til at lære programmering (variable → forgreninger → løkker → funktioner → strukturer → objekter → …) er dog besværlig i Scratch.

At ændre rækkefølgen af konceptuel læring (lad os kalde dem koncepter) inden for strukturel, objekt- og begivenhedsorienteret programmering og skjule dem bag farverige sprites og interaktiv animation, betyder ikke, at fokus på koncepterne er overflødigt. Især ikke hvis målet ikke kun er at udvikle kreative evner, men også at lære programmering. Denne idé har jeg forsøgt at afspejle i mit kursus.

Det første, en nybegynder i Scratch støder på, er sprites. Selvom der ikke findes objektorienteret programmering i Scratch, kan sprites betragtes som objekter. På dette stadie ser den lærende, at programmet kan have mange objekter, hvis adfærd styres af eksterne scripts. Sprites modtager kommandoer eller giver information om deres tilstand efter behov, hvilket vil sige, at programmering i høj grad handler om at styre objekter.

Det andet, der straks rammer den unge programmør i Scratch, er begrebet multitrådning. Hver sprite kan have flere scripts, der kører samtidig. Flere sprites kan også køre deres programmer på samme tid med hinanden. Det viser sig at være sværere at organisere sekventiel udførelse.

Programmeringskoncepter i Scratch

Programmeringskoncepter i Scratch

Allerede i den første lektion kan vi ikke undgå at blive introduceret til løkker. Ellers kan katten ikke rigtig komme af sted. På dette stadie må bekendtskabet med løkkerne forblive intuitivt og overfladisk. Vi begrænser det til løkkerne 'gentag altid' og 'gentag... gange', som er lettere at forstå. Løkken med betingelse bliver gennemgået i en lektion, der er specielt dedikeret til løkker. Denne lektion forudsætter kendskab til logiske udtryk og variable.

Da Scratch er en begivenhedsorienteret platform, er det lettere at lære betingelsesblokkene før variable. Betingelserne kan være forskellige begivenheder.

Programmeringskoncepter i Scratch

Jeg mener, at denne rækkefølge er bedre, da vi for hver lektion introducerer minimum af begreber. Desuden er de ikke abstrakte, men vi ser straks deres praktiske værdi.

Hvis man derimod først studerer variable, er det svært at demonstrere deres formål og nytte, da den betingede operator, datagenerering og tilfældige tal ikke er studeret endnu.

I Scratch, bortset fra lister, står programmørerne over for tre datatyper: tal, strenge og boolesk type. Her er typen knyttet til værdien, ikke til variablen. Det er ikke nødvendigt at konvertere strenge til tal og tilbage. Strenge sættes ikke i citationstegn.

Blokken, der returnerer en boolesk værdi og har en karakteristisk vinklet form, kan indsættes i runde felter. Det omvendte gælder ikke: hvor der forventes et logisk udtryk, kan man ikke indsætte en almindelig variabel.

Programmeringskoncepter i Scratch

Scratch er designet til, at der ikke opstår kritiske fejl under udarbejdelsen. Det er sandsynligvis derfor, at hvis man forsøger at bruge en streng i en aritmetisk operation, bliver den erstattet med nul (se første skærm).

Programmøren skal vide, at programmeringsspråkernes muligheder udvides gennem biblioteker. Når man arbejder i Scratch, kan eleven forbinde tilføjelser, der fører til nye kommandoer i miljøet.

Programmeringskoncepter i Scratch

Funktioner i Scratch findes i sektionen 'Andre blokke', hvor man på den ene side kan oprette sin egen blok, der kan indsættes i andre scripts. På den anden side skal man samle funktionaliteten af denne blok, det vil sige hvad den skal gøre.

Programmeringskoncepter i Scratch

Der er ingen værdi tilbage fra Scratch-funktionen.

Derfor sætter studiet af programmeringskoncepter i en begivenhedsorienteret miljø sit præg. I bund og grund studerer vi først mere komplekse og abstrakte begreber, og først når vi dykker dybere ned i processen, går vi videre til elementerne i strukturel programmering. Om dette er en fordel eller ulempe for den første introduktion – det er et diskussionsemne.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster