Genomgång av CodeEasys undervisningsstrategi för programmeringsframgång

Dmytro Shervarly
Dmytro Shervarly
CEO & Co-founder at CodeEasySenast uppdaterad den 2023-08-16

CodeEasy använder en unik uppsättning principer i sin läroplansdesign, vilket gör att den skiljer sig från traditionella programmeringsplattformar och handledningar. Vad som utmärker CodeEasy som plattform är dess äventyrsberättelser, icke-sekventiell introduktionav pedagogiska ämnen samt den effektiva blandningen av teori och praktik.

Ett steg i taget

CodeEasy får eleverna endast den mest väsentliga informationen som behövs för att slutföra en uppgift. En traditionell metod för att lära ut datatyper är annars att presentera en omfattande tabell:

Built-in types

Denna metod, som baseras på idén att tillhandahålla all tillgänglig information, är vanlig i många programmeringsböcker och handledningar. Även om vi på CodeEasy stödjer detta tillvägagångssätt för djupdykning i specifika ämnen, så tror vi att det kan vara överväldigande för nybörjare. Istället väljer vi ett koncept, exempelvis 'int', och fokuserar på det. Efter att eleverna behärskar 'int' tilldelar vi dem praktiska uppgifter. Först efter att de lyckas slutföra dessa uppgifter introducerar vi nya teoretiska begrepp. På så sätt följer lärandet ett spiralmönster:

Spiral learning

Öva, öva och... öva

Övning är kärnan i CodeEasys undervisningsmetodik. Oavsett hur mycket datavetenskapsteori du har samlat på dig så är du bara en programmerare när du kan lösa standarduppgifter på minst ett programmeringsspråk. Varje teoretiskt koncept som förklaras i CodeEasys lektioner följs omedelbart av praktisk tillämpning; vi väntar inte till slutet av lektionen. Uppgifternas komplexitet ökar stegvis. För att lösa den första uppgiften räcker det vanligtvis med att kopiera exemplet från lektionen med minimala ändringar, medan att lösa den sista uppgiften kräver att man tillämpar alla inlärda begrepp från både den befintliga lektionen och tidigare.

Alla uppgifter är automatiserade, vilket befriar lärare från att kontrollera lösningar manuellt. När elevens lösning uppfyller CodeEasys kriterier markeras uppgiften automatiskt som löst. Mätvärden såsom andel avklarat, betyg och automatisk justering av kursens komplexitet beräknas baserat på elevernas uppgiftsprestationer.

Alternativ till Python

Python är ett bra språk för nybörjare men är inte det enda alternativet. Som lärare kan du ha olika anledningar att inte välja Python: Alltifrån attPython är ett mer avancerat kodspråk som måste inmatas till dess miljöpåverkan. Ofta väljs Python helt enkelt för att de flesta lärare är bekanta med det, och studierna anpassas därefter. På CodeEasy strävar vi efter att erbjuda lärare och skoladministratörer friheten att kunna välja Python, C#, JavaScript eller något annat föredraget språk. Valet av teknik att lära ut bör inte bara beakta pedagogiska resonemang utan även lokala arbetsmarknadstrender.

Vi lanserade CodeEasy med C# som vårt första programmeringsspråk och planerar att lägga till Python och JavaScript snart.

Alternative to Python

Att ge förståelse för komplexitet

När jag studerade sorteringsalgoritmer på universitetet bad vår lärare oss att koda 10 olika sorteringsalgoritmer för att förstå hur de fungerar. Flitigt kodade jag flera stycken och fick ett bra betyg. Samtidigt som jag förstod hur de fungerade, förstod jag inte varför det fanns så många olika. Några år senare tog jag kurserna Algoritm 1 och 2 av Robert Sedgewick. Han förklarade inte bara hur algoritmerna fungerade utan också varför de uppfanns. Detta sammanhang underlättar i hög grad förståelsen och retentionen av information. Det är principen bakom det sätt vi använder äventyrsberättelser på i CodeEasy. Vår huvudkaraktär Teo stöter på problem i berättelsen som kräver användning av nya programmeringsstrukturer, vilket skapar ett sammanhang för när och varför vissa färdigheter eller algoritmer ska användas.

Författad av erfarna mjukvaruutvecklare

Den tekniska världen utvecklas snabbt, vilket gör det utmanande för lärare att hänga med. Dessutom saknar många utvecklare pedagogiska färdigheter och kämpar för att på ett tydligt och effektivt sätt förklara vad de gör och varför. Vi tror att den bästa möjliga utbildningen uppstår genomett partnerskap mellan pedagogisk expertis och branschkunskap. Det är därför alla våra kurser skapas av mjukvaruutvecklare med minst fem års branscherfarenhet, i nära samarbete med högskolelärare.

Följer best practice

Varje problem inom programmering kan lösas på olika sätt. Vissa metoder som anses vara branschpraxis används oftare än andra. Med vår branschkunskap har vi utformat CodeEasy för att fokusera på teknologier och tillvägagångssätt som överensstämmer med"best practice". Detta begrepp är mycket subjektivt och svårt att definiera konkret. För varje uppgift inkluderar vi ett exempel på lösning från våra lärare som följer alla standarder vi upprätthåller, såsom namnkonventioner, kommentarer, minnesanvändning, beräkningskomplexitet, etc.

Making learning fun

Uppmärksamhetsförmågan hos tonåringar idag är notoriskt låg. Samtidigt som plattformar såsom Instagram och TikTok tävlar om deras tid och fokus, strävar vi efter att engagera dem i programmeringsteori. Detta utgör en unik utmaning.

Vi har sammanslagit en äventyrshistoria med programmeringsteori för att uppnå flera mål:

  1. Minskar rädslan för programmering: Vi tar bort stigmat kring "den där skrämmande programmerings-grejen som är jättekomplicerad och som jag aldrig kommer att klara". Istället uppmanar vi eleverna att sjunka in i en berättelse, där programmeringskoncept sedan introduceras gradvis.
  2. Gör lärandet roligt: Genom att inkludera memes, kodningsskämt och fängslande berättelser visar vi att programmering kan vara roligt och underhållande.
  3. Skapar ett sammanhang: Berättelsen skapar situationer där eleverna måste lära sig nya begrepp. Detta gör inte bara att man bättre kan relatera till teorin, utan gör också uppgifterna mer meningsfulla.
  4. Uppmuntrar till läsning: Att titta på videor kan vara användbart, men att kunna läsa stora mängder kod dagligen är en nödvändighet för mjukvaruutvecklare. Att engagera sig i vår berättelse kräver läsning, vilket skapar en grund för att vilja studera denna disciplin.

CodeEasy är inte tänkt som ett substitut för lärare.

I motsats till vad vissa kanske tror är vårt mål inte att eliminera behovet av datavetenskapslärare. Istället är CodeEasy utformat för att underlätta undervisningsprocessen, utrusta lärare med nödvändiga verktyg och maximera deras möjligheter till att bättre använda undervisningstiden. Genom att använda CodeEasy kan lärare ägna mer tid åt individanpassad hjälp, svara på frågor och få klassen att samarbeta kring större projekt såsom att skapa spel eller webbplatser.