Selles artiklis tahan rääkida Rolling Scopes Schoolist – tasuta JavaScripti / front-endi kursusest, mille ma läbitasin ja mis mulle väga meeldis. Saavutasin selle kursuse kohta juhuslikult, minu arvates on võrgus sellele vähe teavet, kuid kursus on suurepärane ja väärib tähelepanu. Arvan, et see artikkel on kasulik neile, kes püüavad iseseisvalt programmeerimist õppida. Igatahes, kui keegi oleks mulle varem sellest kursusest rääkinud, oleksin kindlasti tänulik olnud.
Neil, kes pole proovinud nullist õppida, võib tekkida küsimus – miks on vaja mingeid kursusi, kui veebis on tohutult teavet – võta ja õpi. Tegelikult ei ole tohutu infomeri alati hea, sest selle hulgast vajaliku leidmine võib olla üsna keeruline. Kursus ütleb: mida õppida, kuidas õppida ja millises tempos õppida; aitab eristada häid ja tähelepanu väärivaid teabeallikaid kehvade ja aegunud allikatest; pakub hulgaliselt praktilisi ülesandeid; võimaldab saada osa kirglikest ja huvitatud inimestest, kes tegelevad selle sama asjaga, millega sina.
Kursuse jooksul tegime pidevalt ülesandeid: läbisime teste, lahendasime ülesandeid, lõime oma projekte. Kõike seda hinnati ja see lisati üldisse tabelisse, kus sai võrrelda oma tulemusi teiste õpilaste tulemustega. Võistlusõhkkond – see on hea, lõbus ja huvitav. Kuid punktid, kuigi need on olulised järgmisse etappi pääsemiseks, ei olnud eesmärgiks iseenesest. Kursuse korraldajad toetasid toetust ja omavahelist abi – vestluses arutasid õpilased ülesannete lahendamisel tekkivaid küsimusi ja püüdsid koos neile vastuseid leida. Lisaks aitasid meid õpingutes mentorid, mis tasuta kursuse puhul on tõeliselt ainulaadne võimalus.
Kursus töötab praktiliselt pidevalt: see käivitub kaks korda aastas ja kestab poole aasta. See koosneb kolmest etapist. Esimeses etapis õppisime peamiselt Gitit ja veebilehe kujundamist, teises – JavaScripti, kolmandas – Reacti ja Node.js.
Järgmisele etapile pääsesid need, kelle eelneva etapi ülesannete tulemused olid head. Iga etapi lõpus toimusid vestlused. Esimese ja teise etapi puhul olid need õppesuunavad vestlused mentoritega, pärast kolmandat etappi korraldati 120 parimale üliõpilasele vestlused Minskis asuvas EPAM JS Labis. Kursust viib läbi Valgevene frontend ja JavaScript arendajate kogukond The Rolling Scopes, seega on neil loogiliselt kontaktid just EPAM-i Minski kontoriga. Kogukond püüab aga luua suhteid ja soovitada oma õpilasi ka IT-ettevõtetele teistes Valgevene, Kasahstani ja Venemaa linnades.
Esimene etapp kestis veidi rohkem kui kuu. See on kõige ulatuslikum etapp. Minu grupis alustas seda 1860 inimest – ehk kõik, kes kursusele registreerusid. Kursust läbivad erinevas vanuses inimesed, kuid enamik õpilastest on kõrgemate kursuste tudengid ja need, kes on mitmeid aastaid muus valdkonnas töötanud ja otsustanud ametit vahetada.
Esimesel etapil läbisime kaks testi Git'i põhialuste kohta, kaks testi HTML/CSS-i kohta, Codecademy ja HTML Akadeemia kursused, koostasime oma CV markdown-failina ja tavalise veebilehe kujul, valmistasime ette väikese ühes lehe maketi ja lahendasime mitmeid üsna keerulisi JavaScripti ülesandeid.
Esimese etapi mahukaim ülesanne oli Hexali veebisaidi valmistamine.
Kõige huvitavam oli mänguline Code Jam CSS-valijate teadmiste kohta "CSS Quick Draw".
Kõige keerulisemad olid JavaScripti ülesanded. Näide üks neist ülesannetest on: „Leida nullide arv suurte arvude faktoriaali lõpus antud arvusüsteemis“.
Näide esimesest etapi ülesandest: .
Esimese etapi ülesannete tulemuste põhjal sai 833 üliõpilast kutse intervjuule. Üliõpilase edasiviimine teise etappi sõltus intervjuu käigus tema tulevasest mentorest. Rolling Scopes Schooli mentoriteks on aktiivsed arendajad Valgevenest, Venemaalt ja Ukrainast. Mentorid aitavad ja juhendavad, kontrollivad ülesandeid, vastavad küsimustele. Meie grupis oli mentoreid üle 150. Olenevalt vabast ajast võib mentor võtta endale 2-5 üliõpilast, kuid intervjuule suunatakse teda 2 üliõpilast rohkem, et ta saaks vestluse käigus valida need, kellega ta tegeleb.
Õpilaste ja mentorite jaotamine oli kursuse üks huvitavamaid ja põnevamaid hetki. Korraldajad lisanud sellele väikese mängulise elemendi – mentori andmed hoidis jaotav müts, millele klõpsates oli võimalik näha oma tulevase mentori nime ja kontaktandmeid.
Kui ma sain teada oma mentori nime ja vaatasin tema profiili LinkedInis, mõistsin, et tahan küll temaga liituda. Ta on kogenud arendaja, vanem, kes on juba mitu aastat välismaal töötanud. Selline mentor on tõeliselt suur õnn. Kuid mulle tundus, et tema nõudmised on väga kõrged. Hiljem selgus, et ma eksisin liiga kõrgete nõudmiste osas, kuid tol hetkel mõtlesin just nii.
Tulevase intervjuu küsimused olid teada, nii et selleks saadi ette valmistuda.
OOP-i õpetati videote kaudu . Selle autori – Sergei Meljkov – peab väga arusaadavalt ja selgelt.
Andmestruktuurid ja O-suuruse märkamine on artiklis suurepäraselt selgitatud. .
Suurimad kahtlused tekitas JavaScripti ülesanne, mis kindlasti tuleb intervjuul. Ülesande lahendamine meeldib mulle üldiselt, kuid Google'i ja brauseri konsoolis, aga kui tuleb lahendada paberil (või hiirega märkmikus) – muutub kõik palju keerulisemaks.
Intervjuuks on mugav valmistuda koos kahel inimesel veebilehel – esitada üksteisele küsimusi, välja mõelda ülesandeid. See on piisavalt tõhus ettevalmistamismeetod: mängides erinevaid rolle, saad paremini aru inimese mõtetest, kes on ekraani teises servas.
Milline see intervjuu siis võis olla? Ilmselt nagu eksam, kus on eksaminaator ja eksamineeritav. Tegelikult ei olnud see kindlasti eksam. Pigem kahe entusiastliku inimese vestlus, kes tegelevad sama asjaga. Intervjuu toimus äärmiselt rahulikult, mugavalt, sõbralikult, küsimused ei olnud väga keerulised, ülesanne oli piisavalt lihtne, ning mentor ei olnud sugugi vastu selle lahendamisele konsoolis ja lubas isegi Google'i kasutada („tööl ei ole kellelgi keelatud Google'i kasutada“).
Nii palju kui ma aru saan, oli vestluse peamine eesmärk mitte kontrollida meie teadmisi ja probleemide lahendamise oskusi, vaid anda mentorile võimalus tutvuda oma õpilastega ja näidata neile, kuidas vestlus üldiselt välja näeb. Ja see, et vestlusest jäi ainult head mälestused, oli tema teadlikest pingutustest, soovist näidata, et vestluses pole tegelikult midagi hirmutavat ning et seda saab nautida. Teine küsimus on, miks see õnnestus inimesele tehnilise haridusega nii kergelt, samas kui õpetajatel õnnestub see väga harva. Keegi ei unusta, kui närviliselt mindi eksamile, isegi kui materjal oli väga hästi teada. Ja kuna räägime ametlikust pedagoogikast, jagan veel üht tähelepanekut. Kursusel õppisid sealhulgas ka IT erialade vanemate kursuste tudengid. Ja nad väitsid, et Rolling Scopes School pakutud õppevorm on oluliselt kasulikum, huvitavam ja tulemuslikum kui tavaline ülikooli programm.
Ma läbi vestluse. Edasi määras mentor nädala päeva ja kellaaja, mil tal on mugav minuga rääkida. Selleks päevaks valmistusin küsimusi, millele ta vastas. Küsimusi käimasolevate projektide kohta mul palju ei olnud – enamik vastuseid leidsin Google'ist või kooli vestlusest. Kuid ta rääkis oma tööst, võimalikest probleemidest ja nende lahendamise viisidest, jagas oma tähelepanekute ja märkustega. Kokkuvõttes olid need vestlused äärmiselt kasulikud ja huvitavad. Lisaks on mentor praktiliselt ainus inimene, kellele on huvitav, mida ja kuidas sa teed, inimene, kes vaatab su tööd, ütleb, mis on valesti, ja kuidas seda parandada. Mentorite olemasolu on tõeliselt suur eelis koolis, mille rolli on raske üle hinnata.
Teisel etapil oli meil väga huvitav ja dünaamiline Code Jam „JavaScript Arrays Quick Draw”, sellised võistlused koolis toimuvad haaravalt ja põnevalt.
Oluliselt keerulisem oli Code Jam „CoreJS”. 120 ülesannet JavaScriptis, mille lahendamiseks oli aega 48 tundi, kujunes tõeliseks proovikiviks.
Meil oli ka mitu JavaScripti testi, link ühele neist у меня сохранилась в закладках браузера. На решение теста отводится 30 минут.
Jätkates, koostasime NeutronMaili maketi, viibisime Code Jamil "DOM, DOM Events", ning lõime YouTube'i otsingu.
Teised teise etapi ülesanded: Ülesanne: Codewars – ülesannete lahendamine samanimelisel veebisaidil, Code Jam "WebSocket Challenge." – sõnumite saatmine ja vastuvõtmine veebisoketitehnoloogia abil, Code Jam "Animation Player" – väikese veebirakenduse loomine.
Teise etapi üsna ebatavaliseks ja huvitavaks ülesandeks oli "Presentation". Selle põhiomadus oli see, et esitlus tuli valmistada ja esitada inglise keeles. Seda on võimalik vaadata, kuidas toimusid esitluste otsesed etapid.
Ja kahtlemata oli teise etapi kõige keerulisem ja mahukam ülesanne, mille käigus paluti meil luua oma versioon veebirakendusest Piskel (www.piskelapp.com).
Selle ülesande täitmiseks kulus üle kuu, kusjuures enamik ajast läks sellele, et mõista, kuidas see originaalis töötab. Objektiivsuse huvides hindas lõppülesannet teine, juhuslikult valitud mentor. Samuti viis teise etapi pärast vestluse läbi juhuslik mentor, sest oma mentoriga olime juba harjunud, ja ka tema oli meist harjunud, aga päris töövestlustel kohtuvad reeglina tuttavad inimesed.
Teine vestlus osutus esimesest palju keerulisemaks. nagu ennegi, oli olemas vestluse küsimuste nimekiri, millele olin valmistunud, kuid mentor otsustas, et lihtsalt teooria küsitlemine pole päris õige, ja valmistades ette ülesannete komplekti. Ülesanded, minu arvates, olid piisavalt keerulised. Näiteks ei mõistnud ta siiralt, mis mind takistab kirjutamast bind polyfilli, ja mina pidasin siiralt seda, et tean, mis on bind ja mis on polyfill, juba palju. Selle ülesande ma ei lahendanud. Kuid oli ka teisi, millega hakkama sain. Ainult et ülesanded polnud lihtsad ning niipea, kui ma lahenduse leidsin, muutis mentor pisut ülesande tingimusi ja pidin jälle keerulisemas variandis ülesannet lahendama.
Sellegipoolest pean märkima, et vestluse õhkkond oli väga sõbralik, ülesanded huvitavad, mentor kulutas palju aega nende ettevalmistamisele ja soovis, et õppeintervjuu tulevikus aitaks läbi viia tõelist tööintervjuud.
Teise etapi ülesannete näited:
Kolmandas etapis pakuti meile ülesannet Culture Portal. Tegime seda rühmas ja tutvusime esmakordselt meeskonnatöö, kohustuste jaotamise ning konfliktide lahendamise omadustega Git'i harude ühendamisel. See oli ilmselt kursuse üks huvitavamaid ülesandeid.
Kolmanda etapi ülesande näide: .
Pärast kolmanda etapi lõpetamist läbivad õpilased, kes soovivad tööle EPAM'i ning kuuluvad 120 parima hulka, inglise keele telefonivestluse ning on praegu tehnilistel intervjuudel. Suure osa neist kutsutakse EPAM JS Lab'i ning hiljem reaalsesse projektidesse. Igal aastal saavad enam kui sada Rolling Scopes School'i lõpetajat töö EPAM'is. Isikute seas, kes alustasid kursust, on see suhteliselt väike protsent, kuid kui vaadata neid, kes on finaali jõudnud, on nende töösaamise võimalus üsna suur.
Kahtest raskusest, millega tuleb arvestada, nimetan kahte. Esimene – aeg. Seda kulub üsna palju. Arvestage 30-40 tundi nädalas, võib rohkem, kui vähem – on ebatõenäoline, et jõuate kõik ülesanded tehtud, kuna kursuse programm on väga intensiivne. Teiseks – inglise keel A2 tasemel. Kui see on madalam, ei takista see kursusel õppimist, kuid töö leidmine sellise keele oskusega on üsna keeruline.
Kui on küsimusi, küsige, püüan vastata. Kui tead mõnda muud sarnast tasuta venekeelset online-kursust – jagage, see oleks huvitav.
Allikas: habr.com
