på sekundært niveau undervises core computer science (CS) begreber og praksis i kurser typisk inden for informationsteknologi (it) karriere klynge under paraplyen af karriere og teknisk uddannelse (CTE). Imidlertid bliver CS-begreber og-praksis også i stigende grad indarbejdet i akademikere og også valgfag (og er påvirket af kunst og design).
uanset disciplin, skabe beregningsmæssige artefakter er en af de centrale CS praksis studerende bør konsekvent opleve at blive bedre problemløsere. Beregningsmæssige artefakter kan omfatte billeder, videoer, præsentationer, lydfiler og computerprogrammer.
præcis og konsekvent praksis i computerprogrammering (CP) vil hjælpe eleverne med at konstruere tværfaglig viden sammen med både akademiske og CS begreber og praksis. Da CP er processen med at skrive et program fra start til slut, får eleverne eksponering i sammenlægningen af praksis 3-6, der findes i K-12 Computer Science-rammen.
så hvordan kan vi med succes engagere studerende i CP? Sådan kan vi gøre det i fire store trin.
Trin 1: Identificer problemet
når eleverne er nye til CP, begynder vi typisk at lære dem at programmere og kode ved hjælp af tutorials. Selvom der ikke er noget galt med det, ønsker vi ikke at holde dem der.
normalt har forfatteren af en tutorial allerede identificeret både problemet og løsningen af programmet. Den bedste måde for børn at lære er ved at skrive deres egne problemer og løsninger og skabe deres egne programmer. Ellers vil de fokusere mere på at lære at kode specifikke funktioner på et bestemt sprog, hvilket generelt ikke er anderledes end rote-memorisering, som skal erstattes med udviklingen af arbejdshukommelse.
at identificere (eller definere) problemet er den mest kritiske del af CP-processen, da eleverne bliver nødt til at udvikle en konkret plan for, hvad deres komplette program vil gøre. Denne proces involverer identifikation af både de kendte input (eller givne data) og hvad der skal opnås via output (resultatet). Selvom CP ikke er en simpel proces, vil konsekvent og præcis praksis opbygge elevernes tillid over tid til at formulere detaljerne om den slags input, behandling og output, der ønskes til deres programmer. For at få eleverne i gang med programmering, læs denne fantastiske introduktion til en lektion til opbygning og deling af apps ved Code.org.
Trin 2: Find en løsning
for at finde eller planlægge løsningen på problemet identificeret i Trin 1 kan eleverne enten oprette et rutediagram eller skrive pseudokode. Erfarne programmører kan og vil bruge en af disse metoder til at formidle programudvikling til klienter, lærere osv.
et rutediagram er en trinvis løsning på et problem, der bruger en billedlig repræsentation af programmets retning og består af pile, kasser og andre symboler, der repræsenterer handlinger (dvs.input/output, proces osv.). Pseudokode ligner engelsk og bruges til at formidle løsningen med mere nøjagtighed end på almindelig engelsk — men med mindre omhyggelighed krævet af et formelt programmeringssprog.
løsningsprocessen gør det muligt for programmereren at fokusere på programmets logiske strøm uden at skulle overholde den faktiske syntaks, der bruges af programmeringssproget til projektet. Tjek denne sjove Technovation-lektion for at hjælpe dine elever med at planlægge deres kode.
Trin 3: Kode det
ofte forveksles kodning med programmering, men kodning er kun en del af programmeringsprocessen. Gode kodere kan oprette instruktioner fra løsningerne (diskuteret i Trin 2) og skrive dem i kode, som computeren kan forstå. Det er her de algoritmiske designfærdigheder fra computational thinking kommer i spil.
det hjælper, når du tænker på dit problem som et matematisk problem, ikke fordi du altid laver en masse matematik under programmering, men fordi tankeprocessen er den samme. I matematik bruger vi ofte algoritmiske sæt instruktioner, som vi følger i en række trin for at nå et mål. Denne proces sammenlignes med både et godt detaljeret rutediagram og kode (på et specifikt programmeringssprog).
øvelse af kodning hjælper eleverne med at forstå, at kodning ikke er kompliceret, når de lærer at tænke logisk og i trin. At få eleverne i gang med at skrive enkle programmer vil lære dem, hvordan man giver computere instruktioner, hvordan computere rent faktisk fungerer, og at gode kodere ikke er vage og ikke springer over Trin. De vil også forstå, at koden, de skriver, behandles (oversat) af en kompilator til maskinsprog til udførelse.
for børn, der er nye til kodning, anbefaler jeg at starte med et visuelt programmeringssprog (VPL), som giver børn mulighed for at beskrive deres algoritmer ved hjælp af illustrationer og lader kodere beskrive processen i termer, der giver mening for dem.
her er nogle populære VPLs:
- Scratch, ScratchJr
- Blockly
- Ardublock (blokprogrammeringssprog for Arduino)
- ROBOLAB (programmeringssprog for LEGO robotik)
- ROBOTC (grafisk for irriterende robotik)
- Labvisning (nationale instrumenter))
selvom der er flere måder at få eleverne i gang med kodning, anbefaler jeg stærkt, at hele din skole deltager i en times kode og også lærer børn at kode inden for rammerne af en STEM/STEAM design udfordring.
Trin 4: Test it
test i CP er en kritisk proces, der bruges til at bestemme kvaliteten af et program og finde fejl (problemer). Som praktikant blev jeg først introduceret til test og debugging af Activeks kontroller i Visual Basic programmeringssprog. Selvom test har forskellige niveauer og vil afgøre, om programmer fungerer eller ikke — at arbejde for at finde fejl for programudviklerne at rette var meget kraftfuld i at hjælpe mig med at forstå kvaliteten af de programmer, jeg brugte hver dag, og også vigtigheden af at opdatere dem regelmæssigt.
kræver studerende til at præsentere deres arbejde offentligt, er en fremragende teknik til at engagere og indgyde i dem betydningen af testprocessen for at diskutere og fremvisning af høj kvalitet CS arbejde. Igen er App Lab (i Trin 1) en god lektion og et projekt til at hjælpe børn med at lære CP fra start til test.
CP for forskellige klassetrin
computerprogrammering kan undervises på alle klassetrin. Her er nogle værktøjer til brug med forskellige aldre og niveauer af elever.
kvaliteter 3-8: littleBits kode Kit. Kodesættet er udstyret med elektroniske byggesten og en app med kodningstutorials og er et fremragende stillads til at undervise eleverne i begreberne kodning, lys, lyd og bevægelse i forbindelse med en designudfordring eller opfindelse.
det, jeg finder mest kraftfuldt ved kodesættet, er appen, fordi den hjælper brugerne med at blive baseret på grundlæggende kodningsprincipper. En god koder, uanset sprog eller kodningsoplevelse, bliver nødt til at forstå det grundlæggende — som input/output, sløjfer, funktioner, variabler og også logik. Succes vedrører altid udvikling af intern selvbeherskelse af fundamentet. Ligesom Dr. Stephen R. Covey, forfatter til de 7 vaner hos meget effektive mennesker, sagde engang: “sæt de første ting først.”
kodesættet fungerer også sammen med alle de uddannelsesmæssige ressourcer, som en underviser har brug for, herunder lektionsplaner, elevuddelinger og tilpasning til næste generations Videnskabsstandarder. Mange af ressourcerne blev testet og udviklet af littleBits Lead Educator-kohorten i 2017, og som et stolt medlem var jeg meget heldig at have arbejdet og lært med en så talentfuld gruppe undervisere!
kvaliteter 6-8: robotik. At få børn i gang med programmering er ret let. I min tidligere rolle som læseplanspecialist brugte vi Lego Mindstorms robot som introduktion. Dette var de skridt, vi tog for at hjælpe børn med at forstå nøglebegreber, samt programmering:
- Byg dine robotter. Næsten alle børn elskede denne del.
- Lær det grundlæggende. Gennem at udforske tutorials lærte de om motorer, sensorer, gear og andre komponenter.
- Lær at programmere. Mursten havde seks indbyggede missioner, som gjorde det muligt for eleverne at se, hvordan man får robotten til at bevæge sig med motorer og reagere på berøring eller bevægelse med sensorer. Da de blev mere vant til de indbyggede programmer, begyndte de at lave deres egne programmer ved hjælp af ROBOLAB programmeringsblokke.
- Opret forbindelse til CS og STEM. Vi fandt ud af, at dette i høj grad hjalp med at belyse begreberne og praksis med både mønstergenkendelse og algoritmisk design. Og så, selvfølgelig, lektioner i CS og STEM, som omfattede kodning, kraft og bevægelse, og design og teknologi. Vi fandt også ud af, at det var fantastisk til lignende formål, og vi brugte både LEGO og Lego, baseret på de forskellige konkurrencemæssige begivenheder, som vores studerende deltog i.
kvaliteter 8-12: avanceret robotik. For gymnasieelever, der allerede har praktiseret kodning ved hjælp af en VPL og enten har eller mestrer grundlæggende programmeringsprincipper, er det næste skridt at få dem til at kode i et industri efterspurgt programmeringssprog som JavaScript, Python, Pearl eller C++. Heldigvis giver programmering af en robot som EDR gymnasieelever en introduktion til denne værdifulde læringsoplevelse. Studerende, der programmerer EDR, lærer at bruge det ROBOTC C-baserede programmeringssprog og kan se virkningerne af den kode, de skriver i realtid, ved at løse problemer ved hjælp af den tekniske designproces.
jeg begyndte for nylig at lære at programmere EDR, da jeg deltog i et kursus i ingeniørdesign med International Technology and Engineering Educator ‘ s Association. Det var der, jeg mødte og blev samarbejdet med Tim Oltman — årets Martha Layne Collins gymnasielærer. Han og hans medlærer har stor erfaring med at undervise børn i at programmere robotter til forskellige KONKURRENCEBEGIVENHEDER inden for robotteknologi og har vundet adskillige priser i Kentucky.
jeg bad Tim om hans tanker om, hvordan lærere skal fortsætte, når de flytter børn fra programmering i en VPL til et C-baseret program som for ærgrelse, og han sagde: “Opbyg først relationer med dine elever, og lær derefter med dem. Lad dem se dig forsøge at mislykkes, og de vil nyde kæmper gennem processen med dig. Til sidst vil de overgå dig og blive lærerne.”
Jorge er uddannet coach og uddannet undervisningsassistent ved Old Dominion University. Han er også den førende coach for livslang læring defineret, Inc., et nationalt fakultet for Buck Institute for Education, en national lærer effektivitetscoach med International Technology and Engineering Educators Association (ITEEA) og en del af Lead Educator-programmet for littleBits. Du kan oprette forbindelse til Jorge på kvidre @JorgeDoesPBL for at fortsætte samtalen.