S ljubavlju Stepik: Hyperskill obrazovna platforma

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

Ako ne volite duge uvode, prijeđite ravno na paragraf o programiranju. Ali bit će manje zabavno.

S ljubavlju Stepik: Hyperskill obrazovna platforma

Lirska digresija

Zamislimo izvjesnu mladu damu Mašu. Danas je Maša namjeravala oprati voće i na miru pogledati film, ali loša sreća: odjednom je otkrila da je sudoper začepljen. Još nije jasno što s ovim učiniti. Ovo pitanje možete odgoditi na neodređeno vrijeme, ali sada ima slobodnog vremena, pa se Masha odlučuje odmah pozabaviti problemom. Zdrav razum predlaže dvije mogućnosti: a) nazvati vodoinstalatera b) riješiti to sami. Mlada dama odabire drugu opciju i počinje proučavati upute na YouTubeu. Slijedeći savjet korisnika Vasya_the_plumber, Maša pogleda ispod sudopera i vidi vijugavu plastičnu cijev sastavljenu od nekoliko dijelova. Djevojka pažljivo odvrće jedan komad na dnu sudopera i ne nalazi ništa. Ispostavilo se da je donji komad cijevi čvrsto začepljen nepoznatom tvari, a čak ni vilica koja se nalazi na stolu ne može se nositi s blokadom. Stručnjaci s Interneta daju razočaravajuće prognoze: dio će se morati promijeniti. Maša na karti pronalazi najbližu trgovinu, uzima zlosretni komad lule i kupuje istu, samo novu. Po savjetu prodavača, Maša također uzima novu cjedilu preventivno. Potraga je završena: sudoper opet radi kako treba, a njegov glavni lik je u međuvremenu naučio sljedeće:

  • Cijevi ispod sudopera možete odvrnuti i zategnuti sami;
  • Najbliža vodoinstalaterska trgovina udaljena je kilometar i pol od Mašinog stana.

Najvjerojatnije Masha nije ni primijetila koliko je novih stvari naučila i naučila, jer je bila zabrinuta za vlastitu udobnost u budućnosti, a istovremeno je gledala film i prala jabuku. Sljedeći put kada se pojavi sličan problem, djevojka će ga riješiti višestruko brže. Zapravo, Maša nije samo vratila svijet u uobičajeno stanje; učila je induktivno, odnosno u posebnim slučajevima, i usmjeren na praksu, to jest radeći stvari, a ne proučavajući ih detaljno i unaprijed.

Sve je moglo ispasti drugačije. Pretpostavimo da Masha navečer sjedi na stolcu i odjednom shvati da je psihički i fizički nespremna za začepljenje u sudoperu. Brzo se upisuje na akademiju za vodoinstalatera, proučava vrste sudopera, cijevi i mogućih spojeva, klasifikaciju vodoinstalaterskih problema i moguća rješenja za njih. Masha ne spava noću, pamti pojmove i imena. Možda čak piše doktorsku disertaciju o teoretskoj znanosti o cijevima, gdje govori o gumenim brtvama. Napokon, primivši certifikat, Maša ponosno razgledava kuhinju s punim uvjerenjem da će sada i najmanji problem sa sudoperom biti riješen pucketanjem prsta. U ovom scenariju, djevojka je studirala deduktivno, krećući se od općeg prema specifičnom, te je bio više usmjeren na teorija.

Dakle, koji je pristup najbolji? U slučaju sudopera i začepljenja - prvi, i to iz sljedećih razloga:

  1. Ako je važan samo radni sudoper, onda je dovoljno znati samo ono što se tiče ovog područja. Kada Maša shvati da joj nedostaje znanja, sigurno će pronaći način da nauči više.
  2. Enciklopedijsko znanje se možda neće aktivirati u stvarnoj situaciji jer navika nije razvijena. Da biste naučili redoslijed radnji, ima smisla ne čitati o njima, već ih izvoditi.

Ostavimo jadnu Mašu na miru i prijeđimo na proces učenja kao takav.

Programiranje: naučiti ili raditi?

Navikli smo misliti da, kako bismo se razvili i postali stručnjak u nepoznatom području, prvo moramo ići na fakultet ili barem upisati tečajeve. Redovito slušamo što nam govore i izvršavamo zadatke. Kada u rukama imamo željenu diplomu ili svjedodžbu, u trenu smo izgubljeni, jer još uvijek ne razumijemo zašto nam treba toliko informacija i kako ih konkretno primijeniti. To nije problem ako su vam sljedeći planovi pisanje znanstvenih radova i putovanje s njima na konferencije. Inače, vrijedi težiti vještinama, odnosno raditi i ponovno raditi određene stvari, pokušavati i griješiti kako bi se dugo sjećali onoga što je najbolje ne raditi.

Jedno od područja u kojem "tvrda ruka" ili "dijamantno oko" ide ruku pod ruku sa širokim pogledom je programiranje. Ako razgovarate s iskusnim programerima, čut ćete hrabre priče u kojima je osoba od malih nogu studirala matematiku/fiziku/pedagoziju, a onda se umorila i prešla u backend. Bit će i programera bez visokog obrazovanja! Prije svega, kod programera se ne cijeni certifikat ili diploma, već količina i kvaliteta napisanih programa, skripti i web stranica.

“Ali čekaj!”, prigovarate, “Zvuči lijepo - uzmite i učinite to!” Ne mogu si lako napisati program ako prije nisam programirao! Važno mi je razumjeti gdje pisati, kako u osnovi razgovarati u programskom jeziku s kompajlerom. To nije kao pronaći telefonski broj vodoinstalatera na Googleu."

Ima i u tome gorke istine. Jedan nepoznati aspekt dovodi do drugog, a ovaj pak do trećeg, a ubrzo se taj proces pretvara u mađioničarsku predstavu, koji nastavlja izvlačiti zavezane rupčiće i ne može ih izvaditi iz cilindra. Proces je, da budemo iskreni, neugodan, do 5. "rupčića" već se čini da je dubina neznanja blizu Marijanske brazde. Alternativa ovome su ista predavanja o 10 vrsta varijabli, 3 vrste petlji i 150 potencijalno korisnih biblioteka. Nažalost.

Hipervještina: gradili smo, gradili i konačno izgradili

Dugo smo razmišljali o ovom problemu. Koliko smo dugo razmišljali dovoljno govori datum zadnje objave na našem blogu. Nakon svih rasprava i pokušaja integriranja novog pristupa na Stepiku, završili smo s... drugim mjestom. Možda ste već čuli za to kao dio JetBrains Academy. Nazvali smo ga Hyperskill, izgradili učenje temeljeno na projektima, s njim povezali Java bazu znanja i pridobili podršku EduTools tima. A sada više detalja.

S ljubavlju Stepik: Hyperskill obrazovna platforma

Specifičan cilj. Nudimo "meni" projekata, tj. programe koje možete napisati uz našu pomoć. Među njima su tic-tac-toe, osobni asistent, blockchain, tražilica itd. Projekti se sastoje od 5-6 faza; Rezultat svake faze je gotov program. "Zašto su nam onda potrebne druge faze ako je sve već uspjelo u prvoj?" Hvala na pitanju. Svakim korakom program postaje funkcionalniji ili brži. U početku kôd ima 10 redaka, ali na kraju možda neće stati ni u 500.

Malo teorije. Nemoguće je sjesti i napisati čak i Hello World, a da ne znate ni riječi o programiranju. Stoga u svakoj fazi projekta vidite koje teorijske osnove morate savladati i, što je najvažnije, gdje ih nabaviti. Osnove se također nalaze na Hyperskillu u odjeljku "Karta znanja". Ako se za prvu fazu projekta od učenika ne traži čitanje podataka iz datoteke, možda neće moći nastaviti. Kasnije će to naučiti sami, radi općeg razvoja, ili će im trebati u sljedećoj fazi.

S ljubavlju Stepik: Hyperskill obrazovna platforma

Mapa znanja. Pokazuje vam koje ste teme već proučavali i kako su one povezane jedna s drugom. Otvorite bilo koji slatki top. Možete ga prelistati, ali preporučamo da izvršite male zadatke kako biste bili sigurni da vam informacije sjedaju u glavu. Prvo će vam platforma dati testove, nakon čega će vam dati nekoliko programerskih zadataka. Ako se kod kompajlira i prođe testove, usporedite ga s referentnim rješenjem, ponekad to pomaže da se pronađe optimalniji način za njegovu implementaciju. Ili se uvjerite da je vaše rješenje već izvrsno.

Ništa dodatno. Čekamo i "zelene" korisnike i iskusne programere. Ako ste već napisali programe, nema veze, nećemo vas tjerati da zbrojite 2+2 ili ponovno okrenete redak. Kako biste odmah došli do željene razine, prilikom registracije naznačite što vam je već poznato i odaberite teži projekt. Nemojte se bojati precijeniti se: ako se nešto dogodi, uvijek se možete vratiti na zaboravljenu temu u karti znanja.

S ljubavlju Stepik: Hyperskill obrazovna platforma

Alati. Sjajno je pisati male dijelove koda u posebnom prozoru na stranici, ali pravo programiranje počinje radom u razvojnom okruženju (Integrated Development Eokoliš). Iskusni programeri znaju ne samo kako napisati kod, već i kako dizajnirati grafičko sučelje, sastaviti različite datoteke u projekt, koristiti dodatne razvojne alate, a IDE se brine za neke od tih procesa. Zašto ne naučite ove vještine dok učite programiranje? Ovdje u pomoć dolazi JetBrains i posebna verzija IntelliJ IDEA Community Educational s unaprijed instaliranim dodatkom EduTools. U takvom IDE-u možete pohađati tečajeve, provjeriti riješene probleme i pogledati projektne savjete ako ste nešto zaboravili. Ne brinite ako prvi put čujete riječ "plugin" ili "IDE": reći ćemo vam što je to i kako ga instalirati na svoje računalo ili prijenosno računalo uz minimalnu patnju. Shvatite teoriju, a zatim idite na IDE i tamo dovršite sljedeću fazu projekta.

Rokovi. Nema ih! Tko smo mi da vam se lupamo po glavi i kažemo kojom brzinom da pišete program? Kada uživate u pisanju koda i želite ga završiti, završite ga, danas ili sutra. Bavite se razvojem za vlastito zadovoljstvo.

Greške. Svi ih priznaju, pa tako i vi u jednoj od faza projekta, a tada ova faza neće proći automatske testove. Pa, morat ćete sami shvatiti što je pošlo po zlu. Mogli bismo vam reći gdje leži pogreška, ali hoćete li vas to naučiti kako pažljivo pisati kod? Pročitajte savjete iz IDEA-e ili teoretsku temu o Bugovima, a kada program konačno proradi, navala dopamina najvjerojatnije neće dugo čekati.

Jasan rezultat. Dakle, završili ste prvi nacrt, što dalje? Uživajte u plodovima svog rada! Igrajte tic-tac-toe sa svojim prijateljima i istovremeno se pohvalite svojim uspjehom. Uploadajte projekt na GitHub da ga pokažete budućem poslodavcu, sami napišite opis i tamo navedite znanja koja ste primijenili. 4-5 složenih projekata, a sada je spreman skroman portfelj za početnika.

Prilika za rast. Recimo da pogledate Hyperskill i tamo ne vidite nikakvu važnu temu ili koristan projekt. Obavijestite nas o tome! Ako je vaše iskustvo šire i bogatije od karte znanja, pišite nam u obrascu Doprinijeti. Naš tim će s vama podijeliti vlastite savjete i trikove, pa ćemo vam rado pomoći da svoje znanje pretočite u koristan sadržaj koji je razumljiv korisnicima različite dobi i razina. Možda ćemo i platiti, ali to nije sigurno.

Dobrodošli: hi.hyperskill.org Uđite, pogledajte, isprobajte, predložite, pohvalite i kritizirajte. Također učimo da vas podučavamo.

Izvor: www.habr.com

Dodajte komentar