computerprogrammering in 4 stappen

op het secundair niveau worden kernconcepten en-praktijken van computerwetenschappen (CS) onderwezen in cursussen die doorgaans binnen de IT-carrièrecluster informatietechnologie (it) worden gegeven onder de paraplu van carrià re en technisch onderwijs (CTE). CS-concepten en-praktijken worden echter ook steeds meer opgenomen in de wetenschap en ook in keuzevakken (en worden beïnvloed door kunst en design).

ongeacht de discipline, het creëren van computationele artefacten is een van de belangrijkste CS-praktijken die studenten consequent moeten ervaren om betere probleemoplossers te worden. Computationele artefacten kunnen afbeeldingen, video ‘s, presentaties, audiobestanden en computerprogramma’ s omvatten. Nauwkeurige en consistente praktijken op het gebied van computerprogrammering (CP) zullen studenten helpen bij de opbouw van interdisciplinaire kennis in combinatie met academische en CS-concepten en-praktijken. Als CP is het proces van het schrijven van een programma van begin tot eind, studenten ontvangen blootstelling in de samensmelting van praktijken 3-6 gevonden in de K-12 Computer Science Framework.

Hoe kunnen we studenten met succes betrekken bij CP? Hier is hoe we dit kunnen doen in vier grote stappen.

vier stappen

Stap 1: Identificeer het probleem

wanneer leerlingen nieuw zijn bij CP, beginnen we ze meestal te leren programmeren en programmeren met behulp van tutorials. Hoewel daar niets mis mee is, willen we ze daar niet houden.

meestal heeft de schrijver van een tutorial zowel het probleem als de oplossing van het programma al geïdentificeerd. De beste manier voor kinderen om te leren is door het schrijven van hun eigen problemen en oplossingen en het creëren van hun eigen programma ‘ s. Anders zullen ze zich meer richten op het leren coderen van specifieke functies in een bepaalde taal, die over het algemeen niet anders is dan rote memorization, die moet worden vervangen door de ontwikkeling van werkgeheugen.

het identificeren (of definiëren) van het probleem is het meest kritische onderdeel van het CP-proces, omdat studenten een concreet plan moeten ontwikkelen voor wat hun volledige programma zal doen. Dit proces omvat het identificeren van zowel de bekende inputs (of gegeven gegevens) en wat moet worden verkregen via outputs (het resultaat). Hoewel CP is niet een eenvoudig proces, consistente en nauwkeurige praktijk zal de student vertrouwen op te bouwen na verloop van tijd in het articuleren van de details over het soort input, verwerking en output gewenst voor hun programma ‘ s. Om studenten te laten beginnen met programmeren, lees deze geweldige intro van een les voor het bouwen en delen van apps door Code.org.

Stap 2: Zoek een oplossing

om de oplossing voor het probleem in Stap 1 te vinden of te plannen, kunnen leerlingen ofwel een stroomdiagram maken of pseudocode schrijven. Ervaren programmeurs kunnen en zullen een van deze methoden gebruiken om programmaontwikkeling over te brengen aan klanten, leraren, enz.

een stroomdiagram is een stap-voor-stap oplossing voor een probleem dat gebruik maakt van een picturale weergave van de richting van het programma en bestaat uit pijlen, dozen en andere symbolen die acties (d.w.z., input/output, proces, enz.). Pseudocode is vergelijkbaar met Engels en wordt gebruikt om de oplossing nauwkeuriger over te brengen dan in gewoon Engels — maar met minder zorgvuldigheid vereist door een formele programmeertaal.

het oplossingsproces stelt de programmeur in staat zich te concentreren op de logische stroom van het programma zonder zich te hoeven houden aan de werkelijke syntaxis die door de programmeertaal voor het project wordt gebruikt. Bekijk deze leuke Technovation les om je leerlingen te helpen hun code te plannen.

Stap 3: Code it

vaak wordt coderen verward met programmeren, maar coderen is slechts één onderdeel van het programmeerproces. Goede programmeurs kunnen instructies maken van de oplossingen (besproken in Stap 2) en schrijf ze in code voor de computer om te begrijpen. Dit is waar de algoritmische ontwerpvaardigheden van computationeel denken in het spel komen.

het helpt als je je probleem ziet als een wiskundeprobleem, niet omdat je altijd veel wiskunde doet tijdens het programmeren, maar omdat het denkproces hetzelfde is. In de wiskunde gebruiken we vaak algoritmische reeksen instructies die we volgen in een opeenvolging van stappen om een doel te bereiken. Dat proces wordt vergeleken met een goed gedetailleerd stroomdiagram en code (in een specifieke programmeertaal).

het oefenen van coderen zal leerlingen helpen begrijpen dat coderen niet ingewikkeld is wanneer ze leren logisch en in stappen te denken. Studenten aan de slag krijgen door eenvoudige programma ‘ s te schrijven zal hen leren hoe ze computers instructies moeten geven, hoe computers eigenlijk werken en dat goede programmeurs niet vaag zijn en geen stappen overslaan. Ze zullen ook begrijpen dat de code die ze schrijven wordt verwerkt (vertaald) door een compiler in machinetaal voor uitvoering.

voor kinderen die nieuw zijn in codering, adviseer ik om te beginnen met een visual programming language (VPL), die kinderen in staat stelt om hun algoritmen te beschrijven met behulp van illustraties en laat programmeurs het proces beschrijven in termen die zinvol zijn voor hen.

hier zijn enkele populaire VPL ‘ s:

  • Scratch, ScratchJr
  • Blockly
  • Ardublock (blok programmeertaal voor Arduino)
  • ROBOLAB (programmeertaal voor LEGO Robotica)
  • ROBOTC (graphical voor VEX Robotica)
  • LabVIEW (National Instruments)
  • Hoewel er verschillende manieren om de studenten begonnen op het gebied van codering, Ik beveel je hele school deel te nemen in een Uur van de Code en ook leren de kinderen om de code binnen de context van een STUURPEN/STOOM design challenge.

    Stap 4: Test it

    testen in CP is een kritisch proces dat wordt gebruikt om de kwaliteit van een programma te bepalen en bugs (problemen) te vinden. Als een college stagiair, ik werd voor het eerst geïntroduceerd in het testen en debuggen van ActiveX-besturingselementen in de Visual Basic programmeertaal. Hoewel het testen heeft verschillende niveaus en zal bepalen of programma ’s werken of niet — werken om bugs te vinden voor de software-ontwikkelaars te corrigeren was zeer krachtig in het helpen me begrijpen van de kwaliteit van de programma’ s die ik elke dag en ook het belang van het regelmatig updaten van hen.

    van studenten eisen dat zij hun werk in het openbaar presenteren, is een uitstekende techniek om hen te betrekken bij en bij te brengen in het belang van het testproces voor het bespreken en presenteren van kwalitatief hoogstaand CS-werk. Nogmaals, de App Lab (in Stap 1) is een geweldige les en project voor het helpen van kinderen leren CP van begin tot het testen.

    CP voor verschillende niveaus

    computerprogrammering kan op alle niveaus worden onderwezen. Hier zijn enkele tools om te gebruiken met verschillende leeftijden en niveaus van leerlingen.

    graad 3-8: littleBits Code Kit. De code kit is uitgerust met elektronische bouwstenen en een app met codering tutorials, en is een uitstekende steiger voor het onderwijzen van studenten de concepten van coderen, licht, geluid en beweging in de context van een ontwerp uitdaging of uitvinding.

    wat ik het krachtigst vind aan de code kit is de app, omdat het gebruikers helpt zich te baseren op basisprincipes van codering. Een goede coder, ongeacht de taal of codering ervaring, moet de basis — zoals input/output, loops, functies, variabelen en ook logica te begrijpen. Succes heeft altijd betrekking op het ontwikkelen van interne zelfmeesterschap van de fundamenten. Zoals Dr. Stephen R. Covey, auteur van The 7 Habits of Highly Effective People, ooit zei: “zet eerst dingen op de eerste plaats.”

    de code kit werkt ook samen met alle onderwijsmiddelen die een opvoeder nodig zou hebben, inclusief lesplannen, hand-outs voor studenten en afstemming op de wetenschappelijke normen van de volgende generatie. Veel van de middelen werden getest en ontwikkeld door de littleBits Lead Educator Cohort van 2017 en als een trots lid, Ik was zeer gelukkig te hebben gewerkt en geleerd met zo ‘ n getalenteerde groep docenten!

    Graad 6-8: robotica. Kinderen aan de slag krijgen in programmeren is vrij eenvoudig. In mijn vorige rol als curriculumspecialist gebruikten we de Lego Mindstorms robot als intro. Dit waren de stappen die we namen om kinderen te helpen sleutelconcepten te begrijpen, evenals programmeren:

    1. hun robots bouwen. Bijna elk kind hield van dit deel.
    2. leer de basis. Door het verkennen van tutorials, leerden ze over motoren, sensoren, tandwielen en andere componenten.
    3. leer programmeren. De brick had zes ingebouwde missies, waardoor studenten konden zien hoe ze de robot konden bewegen met motoren en hoe ze konden reageren op aanraking of beweging met sensoren. Naarmate ze meer gewend raakten aan de ingebouwde programma ‘s, begonnen ze hun eigen programma’ s te maken, met behulp van ROBOLAB programmeerblokken.
    4. verbinding maken met CS en STEM. We ontdekten dat dit enorm hielp om de concepten en praktijk van zowel patroonherkenning als algoritmisch ontwerp te verduidelijken. En dan, natuurlijk, lessen in CS en STEM, waaronder coderen, kracht en beweging, en ontwerp en technologie. We vonden ook dat de VEX IQ Kit geweldig was voor vergelijkbare doeleinden en we gebruikten zowel VEX als Lego, op basis van de verschillende competitieve evenementen waaraan onze studenten deelnamen.

    graad 8-12: geavanceerde robotica. Voor middelbare scholieren die al hebben geoefend programmeren met behulp van een VPL en ofwel hebben of zijn het beheersen van fundamentele programmeerprincipes, de volgende stap is om ze te coderen in een industrie gewilde programmeertaal zoals JavaScript, Python, Pearl of C++. Gelukkig geeft het programmeren van een robot als de VEX EDR middelbare scholieren een introductie tot deze waardevolle leerervaring. Studenten die de VEX EDR programmeren leren de ROBOTC C-gebaseerde programmeertaal te gebruiken en kunnen de effecten van de code die ze schrijven in real time zien door problemen op te lossen met behulp van het engineering ontwerpproces.Ik ben onlangs begonnen met het leren programmeren van de Vex EDR toen ik deelnam aan een cursus Engineering Design bij de International Technology and Engineering Educator ‘ s Association. Het was daar dat ik ontmoette en werd samen met Tim Oltman-de Martha Layne Collins high school Leraar van het jaar. Hij en collega-leraar Shane Ware hebben aanzienlijke ervaring met het onderwijzen van kinderen om robots te programmeren voor verschillende Vex robotica competitieve evenementen en hebben vele prijzen gewonnen in Kentucky.

    ik vroeg Tim naar zijn gedachten over hoe leraren verder zouden moeten gaan als ze kinderen van programmeren in een VPL naar een C-gebaseerd programma zoals voor VEX zouden verplaatsen, en hij zei: “Bouw eerst relaties op met je leerlingen en leer daarna met hen. Laat ze zien dat je probeert en faalt, en ze zullen genieten van het worstelen door het proces met jou. Uiteindelijk zullen ze je overtreffen en de leraren worden.Jorge Valenzuela is een onderwijscoach en universitair docent aan de Old Dominion University. Hij is ook de lead coach voor Lifelong Learning Defined, Inc., een nationale faculteit van het Buck Institute for Education, een nationale leraar effectiviteit coach bij de International Technology and Engineering Educators Association (ITEEA) en een deel van de Lead Educator programma voor littleBits. Je kunt contact opnemen met Jorge op Twitter @JorgeDoesPBL om het gesprek voort te zetten.

    Geef een antwoord

    Het e-mailadres wordt niet gepubliceerd.