S ljubavlju od Stepika: obrazovna platforma Hyperskill

Želim razgovarati s vama o tome zašto češće popravimo vodovod nego što pišemo disertacije o njemu, o različitim pristupima učenju programiranja i o tome kako pokušavamo primijeniti jedan od njih u našem novom proizvodu Hyperskill.

Ako vam se ne sviđaju dugi uvodi, slobodno pređite odmah na odlomak o programiranju. No, tako će biti manje zabavno.

S ljubavlju od Stepika: obrazovna platforma Hyperskill

Lirski odmik

Zamislimo jednu djevojku po imenu Maša. Danas je Maša planirala oprati voće i mirno pogledati film, ali na nesreću: iznenada je otkrila da se sudoper u kuhinji začepljuje. Što učiniti s tim — trenutno nije jasno. Može odgoditi taj problem na neodređeno vrijeme, ali slobodno vrijeme je sada, pa Maša odlučuje odmah se suočiti s problemom. Zdrav razum sugerira dvije opcije: a) pozvati vodoinstalatera b) nositi se sama. Djevojka bira drugu opciju i počinje proučavati upute na YouTubeu. Po savjetu korisnika Vasya_the_plumber, Maša pogleda ispod sudopera i vidi tamo savijenu plastičnu cijev od nekoliko dijelova. Djevojka pažljivo odvija jedan dio na dnu sudopera i ne nalazi ništa. Komad cijevi niže je čvrsto začepljen nepoznatom supstancom, a čak ni vilica koju je pronašla na stolu ne može se nositi s začepljenjem. Stručnjaci s interneta daju obeshrabrujuće prognoze: dio će morati zamijeniti. Na karti, Maša pronalazi najbližu trgovinu, uzima sa sobom nesretnu cijev i kupuje istu, samo novu. Po savjetu prodavača, Maša uzima i novu cjediljku, za prevenciju. Kvest je završen: sudoper opet funkcioniše kako treba, a njena glavna junakinja, u međuvremenu, saznala je sljedeće:

  • Cijevi ispod sudopera mogu se samostalno odvrnuti i zavrnuti;
  • Najbliža trgovina vodovodnog materijala nalazi se jedan i pol kilometar od Mašine stan.

Vjerojatno Maša čak i nije primijetila koliko je novog saznala i čemu se naučila, jer ju je brinuo vlastiti komfor u budućnosti, a uz to i gledanje filma i oprana jabuka. Sljedeći put kada se pojavi sličan problem, djevojka će ga riješiti mnogo brže. U stvari, Maša nije samo vraćala svijet u uobičajeno stanje; ona je učila induktivno, to jest na posebnim slučajevima, i praktično orijentirano, to jest radeći stvari, a ne proučavajući ih detaljno i unaprijed.

Vse bi se lahko obrnilo drugače. Predpostavimo, da Masha zvečer sedi v fotelju in nenadoma spozna, da ni moralno in fizično pripravljena na zamašitev v umivalniku. Po hitrem postopku se vpiše v akademijo za inštalaterje, proučuje vrste umivalnikov, cevi in možne povezave, klasifikacijo težav s sanitarijami in možne možnosti njihovega reševanja. Masha ne spi ponoči, saj si zapominja izraze in imena. Morda celo piše doktorsko delo o teoretičnem vodovodarstvu, kjer razpravlja o gumijastih tesnilnih obročih. Končno, ko pridobi certifikat, ponosno pregleduje kuhinjo s popolnim prepričanjem, da se bo zdaj celo najmanjša težava z umivalnikom rešila s pritiskom prstov. V takem scenariju se je dekle učilo deduktivno, premikajoč se od splošnega k posebnemu, in se je bolj usmerjalo na teorijo.

Kateri pristop je torej najboljši? V primeru z umivalnikom in zamašitvijo — prvi, in sicer iz naslednjih razlogov:

  1. Če je pomembna le delujoča umivalnik, je dovolj vedeti le to, kar zadeva to področje. Ko Masha spozna, da ji znanje primanjkuje, bo zagotovo našla način, kako izvedeti več.
  2. Enciklopedijsko znanje morda ne bo delovalo v realni situaciji, ker navada ni bila usvojena. Da se nauči zaporedja dejanj, ima smisel ne le prebrati o njih, temveč jih tudi izvesti.

Pustimo ubogo Mashu pri miru in preidimo k samemu procesu učenja.

Programiranje: se učiti ali delati?

Navadili smo se misliti, da je, da bi se razvili in postali strokovnjak na nepoznanem področju, najprej treba vpisati na univerzo ali vsaj na tečaje. Pravilno poslušamo, kar povedo, in opravljamo naloge. Ko pa enkrat pridobimo želeni diplom ali certifikat, se takoj izgubimo, ker nismo razumeli, zakaj potrebujemo toliko informacij in kako jih konkretno uporabiti. To ni težava, če so v načrtu pisanje znanstvenih del in potovanja na konference. V nasprotnem primeru se je vredno truditi tudi za veščine, torej delati in znova delati konkretne stvari, poskusiti in se zmotiti, da bomo za dolgo časa zapomnili, kako bolje ne ravnati.

Ena od področij, kjer sta "strokovnost" ali "popoln pogled" v bližini širokega obzorja – programiranje. Če se pogovarjate z izkušenimi razvijalci, boste slišali izjemne zgodbe, v katerih se je nekdo od mladih let ukvarjal z matematiko/fiziko/poučevanjem, nato se je utrudil in prešel v backend. Najdejo se tudi programerji brez višje izobrazbe! Na prvem mestu pri razvoju cenijo ne certifikat, ne diplomo, temveč količino in kakovost napisanih programov, skript in spletnih mest.

"Ampak počakajte!", boste ugovarjali, "Zveni lepo – vzemi in delaj! Ne morem kar tako napisati programa, če prej nisem programiral(a)! Pomembno mi je razumeti, kje pisati, kako sploh govoriti v programskem jeziku s prevajalnikom. To ni telefonska številka vodoinštalaterja, ki jo najdem na googlu."

Grenka resnica je tukaj. Eden neznan aspekt vleče za seboj drugega, ta pa tretjega, in kmalu se ta postopek spremeni v predstavo čarovnika, ki še naprej vleče povezane robčke in jih nikakor ne more potegniti iz klobuka. Postopek, odkrito rečeno, ni prijeten, pri petem "robčku" že zdi, da je globina nevednosti blizu Marijanske jame. Alternativa temu so iste predavanja o 10 vrstah spremenljivk, 3 vrstah zank in 150 potencialno koristnih knjižnicah. Žalostno.

Hyperskill: gradili smo, gradili in končno zgradili.

Dolgo smo razmišljali o tej težavi. O tem, kako dolgo smo razmišljali, govori datum zadnjega zapisa na našem blogu. Po vseh razpravah in poskusih integracije novega pristopa na Stepik smo dobili ... drugo spletno stran. Morda ste o njem že slišali kot o delu JetBrains Academy. Poimenovali smo ga Hyperskill, vanj vtisnili učenje na podlagi projektov, povezali z znanjem o Javi in pridobili podporo ekipe EduTools. Zdaj pa podrobneje.

S ljubavlju od Stepika: obrazovna platforma Hyperskill

Specifičen cilj. Ponujamo "meni" projektov, torej programov, ki jih lahko s pomočjo nas napišete. Med njimi so – križci-nuli, osebni asistent, blockchain, iskalnik itd. Projekti so sestavljeni iz 5-6 stopenj; rezultat vsake stopnje je končni program. "Zakaj torej druge stopnje, če je na prvi že uspelo vse?" Hvala za vprašanje. Vsak korak program postane bolj funkcionalen ali hitrejši. Na začetku koda zasede 10 vrstic, na koncu morda ne spravi niti v 500.

Malce teorije. Nemogoče je sedeti in, ne da bi vedeli niti besede o programiranju, napisati celo Hello World. Zato na vsakem koraku projekta vidite, kakšne teoretične osnove boste morali obvladati in, kar je najpomembneje, kje jih lahko pridobite. Osnove so prav tako na Hyperskillu v razdelku “Karta znanja” (Knowledge Map). Če za prvo fazo projekta učenci niso obvezani brati podatkov iz datoteke, naj to ne skrbi, naučili se bodo sami, za splošno izobrazbo ali pa bodo potrebovali na naslednjem koraku.

S ljubavlju od Stepika: obrazovna platforma Hyperskill

Karta znanja. Na njej je razvidno, katere teme ste že raziskali in kako so med seboj povezane. Odprite katero koli pritegnjeno temo. Lahko jo hitro preletite, vendar priporočamo, da opravite tudi nekaj nalog, da se prepričate, da je informacije ostala v glavi. Na začetku vam platforma ponudi teste, nato še nekaj nalog za programiranje. Če se koda uspešno kompajlira in opravi teste, jo primerjajte z referenčno rešitvijo (reference solution), včasih vam to pomaga ugotoviti bolj optimalen način realizacije. Ali pa se prepričate, da je vaša rešitev že odlična.

Brez odvečnega. Čakamo tako „zelenih“ uporabnikov kot tudi izkušenih razvijalcev. Če ste že pisali programe, ni panike, ne bomo vas silili, da ponovno znova seštejete 2+2 ali prepisujete vrstice. Da bi takoj prišli na pravo raven, ob registraciji navedite, s čim ste že seznanjeni, in izberite projekt, ki ste mu sposobni slediti. Ne bojte se preceniti svojih sposobnosti: če bo potrebno, se vedno lahko vrnete k pozabljeni temi na karti znanja.

S ljubavlju od Stepika: obrazovna platforma Hyperskill

Orodja. Super je pisati majhne kose kode v posebnem oknu na spletu, vendar se pravo programiranje začne z delom v razvojnem okolju (Iintegrirano Drazvoj EОкружение). Опытни програмисти знаят не само как да пишат код, но и как да конструират графичен интерфейс, да събират различни файлове в проект, да ползват допълнителни инструменти за разработка, а част от тези процеси IDE поема на себе си. Защо да не се научите и на тези умения, докато усвоявате програмирането? В помощ идва JetBrains и специалната версия IntelliJ IDEA Community Educational с предварително инсталиран плъгин EduTools. В такава IDE можете да преминавате учебни курсове, да проверявате решените задачи и да поглеждате подсказките по проекта, ако нещо сте забравили. Не се притеснявайте, ако за пръв път чувате думата “плъгин” или “IDE”: ще обясним какво е това и как да го инсталирате на компютъра или лаптопа с минимални усилия. Запознайте се с теорията, а след това преминавайте в IDE и завършвайте следващия етап на проекта точно там.

Срокове. Няма такива! Кои сме ние, за да ви удряме по главата и да указваме в какво темпо да пишете програмата. Когато ви е приятно да пишете код и искате да го довършите, вие го дописвате, днес или утре. Занимавайте се с разработка за удоволствие.

Greške. Всеки допуска грешки, допуснете и вие на един от етапите на проекта, и тогава този етап няма да премине автоматичните тестове. Какво да се направи, ще трябва сами да разберете какво е тръгнало не така. Можехме да кажем къде е грешката, но дали това би ви научило да пишете код внимателно? Четете подсказките от IDEA или теоретичната тема относно Bugs, и когато програмата най-накрая заработи, приливът на допамин вероятно няма да закъснее.

Нагледен резултат. И така, вие завършихте първия проект, какво следва? Ползвайте плодовете на труда си! Играйте с приятелите си на морски шах, а покрай това се похвалете с успехите си. Заредете проекта в GitHub, за да покажете на бъдещия работодател, напишете описание самостоятелно, посочете знанията, които сте приложили. 4-5 сложни проекта и ето, скромно портфолио за начинаещ разработчик е готово.

Възможност за растеж. Да предположим, че гледате на Hyperskill и не виждате там някоя важна тема или полезен проект. Уведомете ни за това! Ако вашият опит е по-богат и по-широк от картата на знанието, пишете ни в формата. ПриносNaša ekipa bo z vami delila svoje nasvete in trike, zato vam bomo z veseljem pomagali pretvoriti vaše znanje v koristno vsebino, razumljivo uporabnikom različnih starosti in ravni. Mogoče vas bomo celo plačali, ampak to ni gotovo.

Dobrodošli: hi.hyperskill.org Pridite, poglejte, poskusite, predlagajte, pohvalite in kritizirajte. Tudi mi se učimo, kako vas učiti.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster