Arrangörer och undervisningsassistenter om CS-centrets onlineprogram

Den 14 november lanserar CS Center för tredje gången onlineprogrammen "Algorithms and Efficient Computing", "Mathematics for Developers" och "Development in C++, Java and Haskell". De är utformade för att hjälpa dig att dyka in i ett nytt område och lägga grunden för att lära och arbeta inom IT.

För att registrera dig måste du fördjupa dig i lärmiljön och klara ett inträdesprov. Läs mer om programmet, tentamen och kostnad på code.stepik.org.

Under tiden kommer lärarassistenter och programkurator från tidigare lanseringar att berätta hur utbildningen är upplagd, vem som kommer för att studera, hur och varför assistenter gör kodgenomgångar under studietiden och vad deltagandet i programmen lärde dem.

Arrangörer och undervisningsassistenter om CS-centrets onlineprogram

Hur program är organiserade

CS-centret har tre onlineprogram på Stepik-plattformen: "Algorithms and Efficiency Computing", "Matematik för utvecklare" и "Utveckling i C++, Java och Haskell". Varje program består av två delar. Dessa är kurser förberedda av erfarna lärare och forskare:

  • Algoritmer och teoretisk datavetenskap som en del av programmet om algoritmer.
  • Matematisk analys, diskret matematik, linjär algebra och sannolikhetsteori i matematikprogrammet för utvecklare.
  • Kurser i C++, Java och Haskell i programmet Programmeringsspråk online.

Samt ytterligare aktiviteter, till exempel kodgranskning, lösning av teoretiska problem med korrektur, konsultationer med assistenter och lärare. De är svåra att skala, så träningen sker i små grupper. Aktiviteter hjälper dig att få en djupare förståelse av ämnet och få kvalitetsfeedback.

Artemy Pestretsov, lärarassistent: "Det verkar för mig att kodgranskning är det främsta kännetecknet för onlineprogram på språk och algoritmer. För att hitta svaret på din fråga kan du helt enkelt Googla på den. Det är svårt och långt, men möjligt. Men Google kommer inte att göra en kodgranskning, så det här är mycket värdefullt."

Varje kurs inom programmet tar cirka två månader. I finalen måste studenterna klara ett prov eller få poäng för alla kurser.

Arrangörer och undervisningsassistenter om CS-centrets onlineprogram

Vilka är våra elever

Onlineprogramstudenter:

  • De vill fylla luckor i matematik eller programmering. Till exempel erfarna utvecklare som vill förbättra sina matematiska kunskaper.
  • De börjar bli bekanta med programmering och inkluderar centrets program i sin självutbildningsplan.
  • De förbereder sig för att gå in på ett masterprogram eller ett CS-center.
  • Studenter med en annan specialiserad utbildning som bestämde sig för att radikalt ändra riktning. Till exempel kemister eller lärare.

Artemy Pestretsov: "Vi hade en student, en man i prime av sitt liv, som arbetade i ett olje- och gasföretag och fick uppskov på grund av deadlines eftersom han åkte på affärsresa till en brunn. Det är häftigt att människor med helt annan bakgrund ser att IT-teknik och matematik har tagit fart. Det här är duktiga människor som redan kan leva ett underbart liv, men som försöker lära sig något nytt och vill utvecklas inom andra områden.”

Mikhail Veselov, vmatm: "Alla människors nivå är olika: någon förstår inte helt de grundläggande sakerna i språket, medan någon kommer som Java- eller Python-programmerare, och du kan föra en konversation med honom i andan av "hur man gör det bättre. ” Huvudsaken är att inte fokusera på det bästa av det bästa, utan på den genomsnittliga nivån, så att kursen kommer att vara användbar för alla.”

Hur är utbildningen organiserad?

Flera verktyg hjälper arrangörer och utbildare att bygga upp processen.

Korrespondens via post. För viktiga och formella meddelanden.
Chatta med lärare och arrangörer. Killar börjar ofta hjälpa varandra i chatten redan innan läraren eller assistenten ser frågan.
YouTrack. För frågor och lämna in uppgifter till lärare och assistenter. Här kan du ställa privata frågor och diskutera lösningen en på en: studenter kan naturligtvis inte dela lösningar med varandra.

Arrangörerna kommunicerar med eleverna och försöker snabbt lösa problem. Kristina Smolnikova: "Om flera elever frågar samma sak betyder det att detta är ett vanligt problem och vi måste berätta för alla om det."

Hur assistenter hjälper

Kodgranskning

Studenter på programmen lämnar in hemuppgifter och assistenter kontrollerar hur ren och optimal deras kod är. Så organiserade killarna granskningen förra gången.

Artemy Pestretsov försökte svara på frågor inom 12 timmar, eftersom eleverna lämnade in problem vid olika tidpunkter. Jag läste koden, hittade problem ur standardsynpunkt, allmänna programmeringsmetoder, gick till botten med detaljerna, bad om att optimera, föreslog vilka variabelnamn som behövde korrigeras.

”Alla skriver kod olika, människor har olika erfarenheter. Det var elever som tog det och skrev det första gången. Jag gillar allt, det fungerar utmärkt och testet tar 25 sekunder eftersom allt är perfekt. Och det händer att man sitter och spenderar en timme på att försöka förstå varför en person skrev en sådan kod. Detta är en absolut adekvat inlärningsprocess. När du genomför kodgranskning i livet är det detta som händer.”

Mikhail försökte bygga processen självständigt för varje elev, så att det inte skulle finnas någon situation: "Jag har redan förklarat detta för någon, fråga honom." Han gav en detaljerad första kommentar om problemet, sedan ställde eleven klargörande frågor och uppdaterade lösningen. Genom successiva tillvägagångssätt fick de ett resultat som tillfredsställde både mentorn och studenten kvalitetsmässigt.

"Under den första eller två veckorna av träningen skriver folk inte särskilt snygg kod. De måste noggrant påminnas om de standarder som finns i både Python och Java, berätta om automatiska kodanalysatorer för uppenbara fel och brister, så att de senare inte ska distraheras av detta och för att personen inte ska bli besvärad för det hela termin genom att hans överföringar gjordes felaktigt eller att kommatecken är på fel plats.”

Tips till dig som vill genomföra utbildningskodgenomgångar

1. Om en elev har skrivit problematisk kod finns det ingen anledning att be dem göra om den igen. Det är viktigt att han förstår vad problemet är med just denna kod.

2. Ljug inte för elever. Det är bättre att ärligt säga "Jag vet inte" om det inte finns något sätt att förstå problemet. Artemy: "Jag hade en student som grävde mycket djupare i programmet, gick ner till hårdvarunivån och sedan gick upp igen, och han och jag åkte ständigt på denna hiss av abstraktioner. Jag var tvungen att komma ihåg vissa saker, men det var väldigt svårt att formulera direkt.”

3. Det finns ingen anledning att fokusera på att eleven är nybörjare: när en person gör något för första gången tar han kritik på större allvar, vet inte alls hur det brukar göras och vad han lyckas med och vad han inte gör. Det är bättre att noggrant bara prata om koden och inte om studentens nackdelar.

4. Det är fantastiskt att lära sig att svara på frågor på ett "pedagogiskt" sätt. Uppgiften är inte att svara direkt, utan att se till att eleven verkligen förstår och själv når svaret. Artemy: "I 99% av fallen kunde jag omedelbart svara på en elevs fråga, men inte ofta kunde jag genast skriva ett svar, eftersom jag var tvungen att väga mycket. Jag skrev femtio rader, raderade det, skrev det igen. Jag ansvarar för kursernas anseende och elevernas kunskap och det är inget lätt jobb. En väldigt cool känsla uppstår när en elev säger: "Åh, jag har en uppenbarelse!" Och jag tänkte också, "Han har en uppenbarelse!"

5. Det är viktigt att vara uppmärksam och inte kritisera för mycket. Inspirera, men inte för mycket, så att eleven inte tycker att han gör allt jättebra. Här måste du lära dig att på ett kompetent sätt hantera nivån på dina känslor.

6. Det är användbart att samla in allmänna kommentarer och fel av samma typ för att spara tid. Du kan spela in det första meddelandet och sedan helt enkelt kopiera och lägga till detaljer som svar på andra på samma fråga.

7. På grund av skillnaden i kunskap och erfarenhet verkar vissa saker självklara, så till en början tyder inte assistenterna dem i kommentarer för elever. Det hjälper att helt enkelt läsa om det du har skrivit och lägga till det som verkade banalt. Mikhail: ”Det verkar för mig att ju längre jag hjälper till med att kontrollera lösningar, desto mer förståelig är jag för eleverna i den nya kursen från första början. Jag skulle nu läsa de första kommentarerna till koden och säga: "Jag borde ha varit mer försiktig, mer detaljerad."

Att lära ut och hjälpa till är jättebra

Vi bad killarna att berätta för oss vilka användbara erfarenheter de hade när de genomförde kodgranskningar och kommunicerade med elever.

Artemy: "Det viktigaste jag lärde mig var tålamod som lärare. Detta är en helt ny färdighet, jag behärskar helt nya, icke-tekniska områden. Jag tror att undervisningen kommer att vara till stor hjälp när jag talar på konferenser, pratar med kollegor eller presenterar projekt på ett rally. Jag råder alla att prova!"

Mikhail: "Den här erfarenheten hjälpte mig att vara lite mer tolerant mot det faktum att någon skriver kod annorlunda än jag. Speciellt när man precis börjar titta på en lösning. Jag gick själv kurser i Python och Java och löste liknande problem på olika sätt. Namngav variabler och funktioner olika. Och killarnas lösningar är alla lite olika, för i programmering finns det ingen standardlösning. Och här behöver du lite tålamod för att inte säga: "Det var det enda sättet att göra det!" Detta hjälpte senare på jobbet att diskutera för- och nackdelar med specifika beslut, och inte för- och nackdelarna med att det inte var jag som tog det.”

Lär dig mer om onlineprogram och alumnercensioner

Källa: will.com

Lägg en kommentar