Organisatoren en onderwijsassistenten over de online programma's van het CS-centrum

Op 14 november lanceert het CS Center voor de derde keer de online programma’s ‘Algorithms and Efficient Computing’, ‘Wiskunde voor ontwikkelaars’ en ‘Ontwikkeling in C++, Java en Haskell’. Ze zijn ontworpen om u te helpen een nieuw gebied te betreden en de basis te leggen voor leren en werken in IT.

Om je in te schrijven, moet je je verdiepen in de leeromgeving en slagen voor een toelatingsexamen. Lees meer over het programma, examen en kosten op code.stepik.org.

In de tussentijd vertellen onderwijsassistenten en de curator van programma's van eerdere lanceringen hoe de trainingen zijn georganiseerd, wie er komt studeren, hoe en waarom assistenten code reviews doen tijdens hun studie, en wat ze van deelname aan de programma's hebben geleerd.

Organisatoren en onderwijsassistenten over de online programma's van het CS-centrum

Hoe programma's zijn georganiseerd

Het CS-centrum heeft drie online programma’s op het Stepik-platform: "Algoritmen en efficiënt computergebruik", "Wiskunde voor ontwikkelaars" и "Ontwikkeling in C++, Java en Haskell". Elk programma bestaat uit twee delen. Dit zijn cursussen die zijn voorbereid door ervaren docenten en wetenschappers:

  • Algoritmen en theoretische informatica als onderdeel van het programma Algoritmen.
  • Wiskundige analyse, discrete wiskunde, lineaire algebra en waarschijnlijkheidstheorie in het wiskundeprogramma voor ontwikkelaars.
  • Cursussen in C++, Java en Haskell in het online Programmeertalen-programma.

Evenals aanvullende activiteiten, bijvoorbeeld codebeoordeling, het oplossen van theoretische problemen met bewijzen, overleg met assistenten en docenten. Omdat ze lastig op te schalen zijn, wordt er in kleine groepen getraind. Activiteiten helpen u een dieper inzicht in het onderwerp te krijgen en kwaliteitsfeedback te ontvangen.

Artemy Pestretsov, onderwijsassistent: “Het lijkt mij dat code review het belangrijkste onderscheidende kenmerk is van online programma's in talen en algoritmen. Om het antwoord op uw vraag te vinden, kunt u eenvoudigweg Googlen. Het is moeilijk en lang, maar mogelijk. Maar Google doet geen code review, dus dit is erg waardevol.”

Elke cursus binnen het programma duurt ongeveer twee maanden. In de finale moeten studenten slagen voor een examen of studiepunten ontvangen voor alle vakken.

Organisatoren en onderwijsassistenten over de online programma's van het CS-centrum

Wie zijn onze studenten

Online programma studenten:

  • Ze willen gaten in wiskunde of programmeren opvullen. Bijvoorbeeld ervaren ontwikkelaars die hun wiskundige kennis willen verbeteren.
  • Ze raken vertrouwd met programmeren en nemen de programma’s van het centrum op in hun zelfstudieplan.
  • Ze bereiden zich voor op een masteropleiding of een CS-centrum.
  • Studenten met een andere specialistische opleiding die besloten de richting radicaal te veranderen. Bijvoorbeeld scheikundigen of leraren.

Artemy Pestretsov: “We hadden een student, een man in de bloei van zijn leven, die bij een olie- en gasbedrijf werkte en uitstel kreeg vanwege deadlines omdat hij op zakenreis naar een waterput ging. Het is cool dat mensen met totaal verschillende achtergronden zien dat IT-technologieën en wiskunde in een stroomversnelling zijn gekomen. Dit zijn talentvolle mensen die al een geweldig leven kunnen leiden, maar iets nieuws proberen te leren en zich op andere gebieden willen ontwikkelen.”

Michail Veselov, vmatm: “Het niveau van iedereen is anders: iemand begrijpt de basiszaken van de taal niet helemaal, terwijl iemand komt als Java- of Python-programmeur, en je kunt met hem een ​​gesprek voeren in de geest van “hoe kan het beter. ” Het belangrijkste is om niet te focussen op het beste van het beste, maar op het gemiddelde niveau, zodat de cursus voor iedereen bruikbaar is.”

Hoe wordt de opleiding georganiseerd?

Verschillende tools helpen organisatoren en docenten bij het opbouwen van het proces.

Correspondentie per post. Voor belangrijke en formele mededelingen.
Chat met docenten en organisatoren. Jongens beginnen elkaar vaak te helpen in de chat, nog voordat de leraar of assistent de vraag ziet.
JijTrack. Voor vragen en het doorgeven van taken aan docenten en assistenten. Hier kun je privévragen stellen en de oplossing één op één bespreken: studenten kunnen uiteraard geen oplossingen met elkaar delen.

De organisatoren communiceren met studenten en proberen problemen snel op te lossen. Kristina Smolnikova: “Als meerdere studenten hetzelfde vragen, betekent dit dat dit een veel voorkomend probleem is en dat we iedereen erover moeten vertellen.”

Hoe assistenten helpen

Codebeoordeling

Studenten van de opleidingen leveren huiswerkopdrachten in en assistenten controleren hoe schoon en optimaal hun code is. Dit is hoe de jongens de vorige keer de recensie organiseerden.

Artemy Pestretsov probeerde vragen binnen twaalf uur te beantwoorden, omdat studenten op verschillende tijdstippen problemen inleverden. Ik heb de code gelezen, problemen gevonden vanuit het oogpunt van standaarden en algemene programmeerpraktijken, heb de details tot op de bodem uitgezocht, gevraagd om te optimaliseren, voorgesteld welke namen van variabelen gecorrigeerd moesten worden.

“Iedereen schrijft code anders, mensen hebben verschillende ervaringen. Er waren studenten die het namen en het de eerste keer schreven. Ik vind alles leuk, het werkt prima en de test duurt 25 seconden omdat alles perfect is. En het gebeurt dat je een uur zit en probeert te begrijpen waarom iemand zo'n code heeft geschreven. Dit is een absoluut adequaat leerproces. Als je in het leven codereviews uitvoert, is dit wat er gebeurt.”

Mikhail probeerde het proces voor elke leerling afzonderlijk op te bouwen, zodat er geen situatie zou ontstaan: “Ik heb dit al aan iemand uitgelegd, vraag het hem.” Hij gaf eerst een gedetailleerd commentaar op het probleem, waarna de student verduidelijkende vragen stelde en de oplossing bijwerkte. Door opeenvolgende benaderingen bereikten ze een resultaat dat zowel de mentor als de student tevreden stelde in termen van kwaliteit.

“In de eerste één of twee weken van de training schrijven mensen niet erg nette code. Ze moeten zorgvuldig herinnerd worden aan de standaarden die zowel in Python als Java bestaan, en verteld worden over automatische code-analysatoren voor duidelijke fouten en tekortkomingen, zodat ze er later niet door afgeleid worden en zodat de persoon er de hele tijd geen last van heeft. semester door het feit dat zijn overschrijvingen verkeerd zijn gedaan of dat de komma op de verkeerde plaats staat.”

Tips voor degenen die trainingcodebeoordelingen willen uitvoeren

1. Als een leerling problematische code heeft geschreven, hoef je hem niet te vragen deze opnieuw te doen. Het is belangrijk dat hij begrijpt wat het probleem is met deze specifieke code.

2. Lieg niet tegen studenten. Het is beter om eerlijk te zeggen: “Ik weet het niet” als er geen manier is om het probleem te begrijpen. Artemy: “Ik had een student die veel dieper in het programma verdiepte, naar het hardwareniveau ging en vervolgens weer omhoog ging, en hij en ik reden voortdurend in deze lift van abstracties. Sommige dingen moest ik onthouden, maar het was heel lastig om meteen te formuleren.”

3. Het is niet nodig om je te concentreren op het feit dat de student een beginner is: wanneer iemand iets voor de eerste keer doet, neemt hij kritiek serieuzer, weet helemaal niet hoe het gewoonlijk wordt gedaan en waar hij in slaagt en wat hij niet doet. Het is beter om zorgvuldig alleen over de code te praten, en niet over de nadelen van de student.

4. Het is geweldig om te leren hoe je vragen op een ‘educatieve’ manier kunt beantwoorden. De taak is niet om direct te antwoorden, maar om ervoor te zorgen dat de student het antwoord echt begrijpt en zelf tot het antwoord komt. Artemy: “In 99% van de gevallen kon ik de vraag van een leerling meteen beantwoorden, maar niet vaak kon ik meteen een antwoord schrijven, omdat ik veel moest wegen. Ik schreef vijftig regels, wiste het en schreef het opnieuw. Ik ben verantwoordelijk voor de reputatie van de cursussen en de kennis van de studenten, en dat is geen gemakkelijke klus. Er ontstaat een heel cool gevoel als een leerling zegt: “Oh, ik heb een openbaring!” En ik had ook zoiets van: "Hij heeft een openbaring!"

5. Het is belangrijk om aandachtig te zijn en niet te veel kritiek te leveren. Inspireer, maar niet te veel, zodat de student niet denkt dat hij alles geweldig doet. Hier zul je moeten leren om het niveau van je emoties op competente wijze te beheersen.

6. Het is handig om algemene opmerkingen en fouten van hetzelfde type te verzamelen om tijd te besparen. U kunt het eerste dergelijke bericht opnemen en vervolgens eenvoudig de details kopiëren en toevoegen als antwoord op dezelfde vraag van anderen.

7. Door het verschil in kennis en ervaring lijken sommige dingen voor de hand liggend, dus in eerste instantie ontcijferen de assistenten ze niet in commentaar voor studenten. Het helpt om simpelweg te herlezen wat je hebt geschreven en iets toe te voegen aan wat banaal leek. Mikhail: “Het lijkt mij dat hoe langer ik help met het controleren van oplossingen, hoe begrijpelijker ik vanaf het begin ben voor de studenten van het nieuwe vak. Ik las nu de eerste commentaren op de code en zei: “Ik had voorzichtiger en gedetailleerder moeten zijn.”

Lesgeven en assisteren is geweldig

We vroegen de jongens om ons te vertellen welke nuttige ervaringen ze hadden tijdens het uitvoeren van codebeoordelingen en het communiceren met studenten.

Artemy: “Het belangrijkste dat ik heb geleerd, was geduld als leraar. Dit is een compleet nieuwe vaardigheid, ik beheer compleet nieuwe, niet-technische gebieden. Ik denk dat lesgeven erg nuttig zal zijn als ik op conferenties spreek, met collega's praat of projecten presenteer tijdens een bijeenkomst. Ik raad iedereen aan om het te proberen!”

Mikhail: “Deze ervaring heeft me geholpen iets toleranter te worden tegenover het feit dat iemand code anders schrijft dan ik. Zeker als je net begint te kijken naar een oplossing. Ik heb zelf cursussen Python en Java gevolgd en soortgelijke problemen anders opgelost. Variabelen en functies anders benoemd. En de oplossingen van de jongens zijn allemaal een beetje anders, omdat er bij het programmeren geen standaardoplossing is. En hier heb je wat geduld nodig om niet te zeggen: "Het was de enige manier om het te doen!" Dit hielp later op het werk om de voor- en nadelen van specifieke beslissingen te bespreken, en niet de voor- en nadelen van het feit dat ik het niet was die die beslissingen nam.”

Lees meer over online programma's en alumnirecensies

Bron: www.habr.com

Voeg een reactie