Arrangører og undervisningsassistenter om CS-senterets nettbaserte programmer

14. november lanserer CS-senteret for tredje gang nettprogrammene «Algorithms and Efficient Computing», «Mathematics for Developers» og «Development in C++, Java and Haskell». De er utviklet for å hjelpe deg med å dykke inn i et nytt område og legge grunnlaget for læring og arbeid innen IT.

For å melde deg på må du fordype deg i læringsmiljøet og bestå en opptaksprøve. Les mer om program, eksamen og kostnad på code.stepik.org.

I mellomtiden vil lærerassistenter og kurator for programmer fra tidligere lanseringer fortelle deg hvordan opplæring er organisert, hvem som kommer for å studere, hvordan og hvorfor assistenter gjør kodegjennomganger under studiene, og hva deltakelse i programmene lærte dem.

Arrangører og undervisningsassistenter om CS-senterets nettbaserte programmer

Hvordan programmer er organisert

CS-senteret har tre nettbaserte programmer på Stepik-plattformen: "Algorithmer og effektiv databehandling", "Matematikk for utviklere" и "Utvikling i C++, Java og Haskell". Hvert program består av to deler. Dette er kurs utarbeidet av erfarne lærere og forskere:

  • Algoritmer og teoretisk informatikk som en del av programmet om algoritmer.
  • Matematisk analyse, diskret matematikk, lineær algebra og sannsynlighetsteori i matematikkprogrammet for utviklere.
  • Kurs i C++, Java og Haskell i det elektroniske programmet for programmeringsspråk.

Samt tilleggsaktiviteter, for eksempel kodegjennomgang, løsning av teoretiske problemer med bevis, konsultasjoner med assistenter og lærere. De er vanskelige å skalere, så treningen foregår i små grupper. Aktiviteter hjelper deg med å få en dypere forståelse av emnet og motta kvalitetstilbakemeldinger.

Artemy Pestretsov, lærerassistent: "Det ser ut til at kodegjennomgang er det viktigste kjennetegnet ved nettprogrammer på språk og algoritmer. For å finne svaret på spørsmålet ditt kan du ganske enkelt Google det. Det er vanskelig og langt, men mulig. Men Google vil ikke gjøre en kodegjennomgang, så dette er veldig verdifullt.»

Hvert kurs i programmet varer i omtrent to måneder. I finalen må studentene bestå en eksamen eller få studiepoeng for alle emner.

Arrangører og undervisningsassistenter om CS-senterets nettbaserte programmer

Hvem er våre studenter

Studenter på nettprogrammet:

  • De ønsker å fylle hull i matematikk eller programmering. For eksempel erfarne utviklere som ønsker å forbedre sine matematiske kunnskaper.
  • De begynner å bli kjent med programmering og inkluderer senterets programmer i sin egenopplæringsplan.
  • De forbereder seg på å gå inn på et masterprogram eller et CS-senter.
  • Studenter med en annen spesialisert utdanning som bestemte seg for å endre retning radikalt. For eksempel kjemikere eller lærere.

Artemy Pestretsov: «Vi hadde en student, en mann i sin beste alder, som jobbet i et olje- og gasselskap og tok utsettelse på grunn av tidsfrister fordi han dro på forretningsreise til en brønn. Det er kult at folk med helt annen bakgrunn ser at IT-teknologi og matematikk har skutt fart. Dette er dyktige mennesker som allerede kan leve et fantastisk liv, men som prøver å lære noe nytt og ønsker å utvikle seg på andre områder."

Mikhail Veselov, vmatm: "Alles nivå er forskjellig: noen forstår ikke helt de grunnleggende tingene i språket, mens noen kommer som Java- eller Python-programmerer, og du kan føre en samtale med ham i ånden om "hvordan gjøre det bedre. ” Det viktigste er å fokusere ikke på det beste av det beste, men på gjennomsnittsnivået, slik at kurset vil være nyttig for alle.»

Hvordan er trening organisert?

Flere verktøy hjelper arrangører og lærere med å bygge prosessen.

Korrespondanse per post. For viktige og formelle kunngjøringer.
Chat med lærere og arrangører. Gutter begynner ofte å hjelpe hverandre i chatten allerede før læreren eller assistenten ser spørsmålet.
YouTrack. For spørsmål og innlevering av oppgaver til lærere og assistenter. Her kan du stille private spørsmål og diskutere løsningen én til én: studenter kan selvfølgelig ikke dele løsninger med hverandre.

Arrangørene kommuniserer med elevene og prøver å løse problemer raskt. Kristina Smolnikova: "Hvis flere studenter spør om det samme, betyr det at dette er et vanlig problem, og vi må fortelle alle om det."

Hvordan assistenter hjelper

Kode anmeldelse

Studenter ved programmene leverer hjemmeoppgaver, og assistenter sjekker hvor ren og optimal koden deres er. Slik organiserte gutta anmeldelsen sist.

Artemy Pestretsov prøvde å svare på spørsmål innen 12 timer, fordi elevene sendte inn problemer til forskjellige tider. Jeg leste koden, fant problemer med standarder, generell programmeringspraksis, kom til bunns i detaljene, ba om å optimalisere, foreslo hvilke variabelnavn som måtte korrigeres.

«Alle skriver kode forskjellig, folk har forskjellige erfaringer. Det var elever som tok den og skrev den første gang. Jeg liker alt, det fungerer utmerket og testen tar 25 sekunder fordi alt er perfekt. Og det hender at du sitter og bruker en time på å prøve å forstå hvorfor en person skrev en slik kode. Dette er en helt adekvat læringsprosess. Når du gjennomfører kodegjennomganger i livet, er det dette som skjer.»

Mikhail prøvde å bygge prosessen uavhengig for hver student, slik at det ikke ville være noen situasjon: "Jeg har allerede forklart dette til noen, spør ham." Han ga en detaljert første kommentar til problemet, deretter stilte eleven oppklarende spørsmål og oppdaterte løsningen. Ved suksessive tilnærminger oppnådde de et resultat som tilfredsstilte både mentor og elev med tanke på kvalitet.

«I løpet av de første en eller to ukene med trening skriver folk ikke særlig ryddig kode. De må bli nøye påminnet om standardene som finnes i både Python og Java, fortalt om automatiske kodeanalysatorer for åpenbare feil og mangler, slik at de senere ikke blir distrahert av dette og slik at personen ikke blir plaget for det hele. semester ved at overføringene hans ble gjort feil eller kommaet er på feil sted.»

Tips til de som ønsker å gjennomføre opplæringskodegjennomganger

1. Hvis en elev har skrevet problematisk kode, er det ikke nødvendig å be dem gjøre det på nytt. Det er viktig at han forstår hva problemet er med denne koden.

2. Ikke lyv for studenter. Det er bedre å ærlig si "jeg vet ikke" hvis det ikke er noen måte å forstå problemet på. Artemy: «Jeg hadde en student som gravde mye dypere inn i programmet, gikk ned til maskinvarenivået, for så å gå opp igjen, og han og jeg syklet hele tiden på denne abstraksjonsheisen. Jeg måtte huske noen ting, men det var veldig vanskelig å formulere det med en gang.»

3. Det er ikke nødvendig å fokusere på det faktum at eleven er en nybegynner: når en person gjør noe for første gang, tar han kritikk mer alvorlig, vet ikke i det hele tatt hvordan det vanligvis gjøres, og hva han lykkes med og hva han ikke gjør. Det er bedre å bare snakke nøye om koden, og ikke om studentens ulemper.

4. Det er flott å lære å svare på spørsmål på en "pedagogisk" måte. Oppgaven er ikke å svare direkte, men å sørge for at eleven virkelig forstår og når frem til svaret selv. Artemy: "I 99% av tilfellene kunne jeg umiddelbart svare på spørsmålet til en student, men ikke ofte kunne jeg umiddelbart skrive et svar, fordi jeg måtte veie mye. Jeg skrev femti linjer, slettet det, skrev det igjen. Jeg har ansvar for omdømmet til kursene og kunnskapen til studentene, og det er ingen enkel jobb. En veldig kul følelse oppstår når en student sier: "Å, jeg har en åpenbaring!" Og jeg tenkte også: "Han har en åpenbaring!"

5. Det er viktig å være oppmerksom og ikke kritisere for mye. Inspirer, men ikke for mye, slik at eleven ikke tror at han gjør alt flott. Her må du lære å håndtere nivået på følelsene dine på en kompetent måte.

6. Det er nyttig å samle generelle kommentarer og feil av samme type for å spare tid. Du kan ta opp den første slike meldingen, og deretter kopiere og legge til detaljer som svar på andre på det samme spørsmålet.

7. På grunn av forskjellen i kunnskap og erfaring virker noen ting opplagte, så i begynnelsen tyder ikke assistentene dem i kommentarer til studenter. Det hjelper å rett og slett lese det du har skrevet på nytt og legge til det som virket banalt. Mikhail: «Det virker for meg at jo lenger jeg hjelper til med å sjekke løsninger, jo mer forståelig er jeg for studentene på det nye kurset helt fra begynnelsen. Jeg ville nå lest de første kommentarene til koden og sagt: "Jeg burde vært mer forsiktig, mer detaljert."

Å undervise og hjelpe er kjempebra

Vi ba gutta fortelle oss hvilke nyttige erfaringer de hadde mens de gjennomførte kodegjennomganger og kommuniserte med studenter.

Artemy: «Det viktigste jeg lærte var tålmodighet som lærer. Dette er en helt ny ferdighet, jeg mestrer helt nye, ikke-tekniske områder. Jeg tror at undervisning vil være veldig nyttig når jeg snakker på konferanser, snakker med kolleger eller presenterer prosjekter på et rally. Jeg anbefaler alle å prøve det!»

Mikhail: «Denne opplevelsen hjalp meg å være litt mer tolerant overfor det faktum at noen skriver kode annerledes enn meg. Spesielt når du så vidt begynner å se på en løsning. Jeg tok kurs i Python og Java selv og løste lignende problemer annerledes. Navngitt variabler og funksjoner annerledes. Og guttenes løsninger er alle litt forskjellige, for i programmering er det ingen standardløsning. Og her trenger du litt tålmodighet for ikke å si: "Det var den eneste måten å gjøre det på!" Dette hjalp senere på jobben å diskutere fordeler og ulemper ved spesifikke beslutninger, og ikke fordeler og ulemper ved at det ikke var jeg som tok det.»

Lær mer om nettbaserte programmer og alumnianmeldelser

Kilde: www.habr.com

Legg til en kommentar