Cu drag de la Stepik: platforma educațională Hyperskill

Vreau să vorbesc cu voi despre de ce reparăm mai des instalațiile sanitare decât scriem despre ele disertații, despre diferitele abordări ale învățării programării și despre cum încercăm să aplicăm una dintre ele în noul nostru produs Hyperskill.

Dacă nu vă plac introducerile lungi, treceți direct la paragraful despre programare. Dar astfel va fi mai puțin distractiv.

Cu drag de la Stepik: platforma educațională Hyperskill

O mică digresiune

Să ne imaginăm o tânără pe nume Masha. Astăzi Masha plănuia să își spele fructele și să se uite liniștită la un film, dar ajunge într-o situație neplăcută: a descoperit că chiuveta din bucătărie este înfundată. Ce să facă cu asta – momentan nu este clar. Poate amâna problema pe termen nedefinit, dar având timp liber acum, Masha decide să rezolve problema imediat. Bunul simț îi sugerează două opțiuni: a) să cheme un instalator b) să se descurce singură. Tânăra alege a doua variantă și începe să studieze instrucțiunile de pe YouTube. La sfatul utilizatorului Vasya_the_plumber, Masha se uită sub chiuvetă și vede acolo un furtun din plastic încolăcit din mai multe piese. Fata desface cu grijă o piesă de la baza chiuvetei și nu găsește nimic. O bucată de furtun mai jos este complet înfundată cu o substanță necunoscută, iar chiar și furculița găsită pe masă nu reușește să rezolve problema. Experții de pe internet oferă prognoze sumbre: piesa va trebui înlocuită. Pe o hartă, Masha găsește cel mai apropiat magazin, ia cu sine bucata de furtun problematica și cumpără una nouă, identică. La sugestia vânzătorului, Masha ia și o sită nouă, pentru prevenție. Misiunea este completă: chiuveta funcționează din nou cum trebuie, iar protagonista ei, între timp, a aflat următoarele:

  • Piesele de sub chiuvetă pot fi desfăcute și strânse de una singură;
  • Cel mai apropiat magazin de instalații sanitare este la un kilometru și jumătate de apartamentul Mașei.

Probabil Masha nici măcar nu a observat cât de multe lucruri noi a învățat și ce a învățat, pentru că o preocupa propria comoditate în viitor, dar și vizionarea filmului și un măr curat. Data viitoare când va apărea o problemă similară, fata o va rezolva mult mai repede. De fapt, Masha nu doar că aducea lumea înapoi în starea obișnuită; învăța inductiv, adică din cazuri particulare, și orientat pe practică, adică făcând lucruri, nu studându-le în detaliu și în prealabil.

Totul ar fi putut decurge diferit. Să presupunem că Masha stă seara în fotoliu și dintr-o dată își dă seama că nu este pregătită moral și fizic pentru o obstrucție în chiuvetă. Se înscrie pe fugă la o academie de instalații sanitare, studiază tipurile de chiuvete, țevi și conexiuni posibile, clasificarea problemelor de instalații sanitare și opțiunile de soluționare a acestora. Masha nu dormește nopțile, memorând termeni și denumiri. Poate că chiar scrie o lucrare de doctorat despre teoria conductelor, unde discută despre garnituri din cauciuc. În cele din urmă, obținând certificatul, Masha își privește mândră bucătăria, fiind complet convinsă că acum chiar și cea mai mică problemă cu chiuveta se va rezolva într-o clipă. În acest scenariu, fata a fost instruită deductiv, trecând de la general la specific și orientându-se mai degrabă pe teorie.

Așadar, care dintre abordări s-ar potrivi mai bine? În cazul chiuvetei și al obstrucției - prima, și iată de ce:

  1. Dacă singurul lucru important este o chiuvetă funcțională, atunci este suficient să știi doar ceea ce se aplică în acest domeniu. Când Masha va înțelege că nu are suficiente cunoștințe, cu siguranță va găsi o modalitate de a afla mai multe.
  2. Cunoștințele enciclopedice ar putea să nu se activeze într-o situație reală, deoarece obiceiul nu a fost exersat. Pentru a învăța o succesiune de acțiuni, are sens să nu citești despre ele, ci să le execuți.

Hai să lăsăm în pace săraca Masha și să ne concentrăm pe procesul de învățare ca atare.

Programare: să învățăm sau să facem?

Ne-am obișnuit să credem că, pentru a ne dezvolta și a deveni experți într-un domeniu necunoscut, în primul rând trebuie să mergem la universitate sau măcar să ne înscriem la cursuri. Ascultăm cu grijă ceea ce ni se povestește, executăm sarcini. Dar când în mână avem diploma sau certificatul dorit, ne pierdem imediat, pentru că nu am înțeles de ce avem atât de multe informații și cum să le aplicăm concret. Problema nu este în această situație, dacă planurile de viitor includ scrierea de lucrări științifice și participarea la conferințe. În alte cazuri, este important să ne concentrăm și pe abilități, adică să facem și să refacem lucruri concrete, să încercăm și să greșim, pentru a reține pe termen lung cum să nu procedăm.

Una dintre domeniile unde "experiența" sau "ochiul ager" se îmbină cu o viziune largă este programarea. Dacă vorbești cu dezvoltatori experimentați, vei auzi povești impresionante în care o persoană a studiat matematică/fizică/învățare de la o vârstă fragedă și apoi s-a săturat și a trecut la backend. Vor exista și programatori fără diplomă! În primul rând, ceea ce contează la un dezvoltator nu este certificatul, ci cantitatea și calitatea programelor, scripturilor și site-urilor pe care le-a scris.

"Dar așteaptă!", vei replici, "Sună frumos — ia și fă! Nu pot pur și simplu să-mi scriu un program, dacă nu am programat până acum! Este important să înțeleg unde să scriu, cum să comunic cu compilatorul în limbajul de programare. Nu este ca și cum ai găsi telefonul unui instalator în Google."

Există și o amărăciune în acest adevăr. Un aspect necunoscut trage după sine pe altul, acesta, la rândul său, pe al treilea, și procesul devine rapid un spectacol de magie, în care magicianul continuă să scoată batiste legate și nu reușește să le scoată din cilindru. Procesul, să spun drept, este neplăcut, iar la a cincea "batistă" deja pare că profunzimea ignoranței se apropie de Fossa Mariană. Alternativa este aceleași prelegeri despre cele 10 tipuri de variabile, 3 tipuri de bucle și 150 de biblioteci potențial utile. Trist.

Hyperskill: am construit, am construit și în sfârșit am terminat.

Am reflectat mult la această problemă. Cât de mult ne-am gândit, se arată elocvent în data ultimului post pe blogul nostru. După toate dezbaterile și încercările de a integra o nouă abordare pe Stepik, am obținut... un alt site. Poate că ai auzit deja despre el ca parte a JetBrains Academy. L-am numit Hyperskill, am integrat în el învățarea bazată pe proiecte, am legat de el o bază de cunoștințe despre Java și am obținut sprijinul echipei EduTools. Acum, mai multe detalii.

Cu drag de la Stepik: platforma educațională Hyperskill

Un obiectiv specific. Oferim un "meniu" de proiecte, adică programe pe care le poți scrie cu ajutorul nostru. Printre ele se numără: X și O, asistent personal, blockchain, motor de căutare etc. Proiectele constau în 5-6 etape; rezultatul fiecărei etape este un program finalizat. "De ce atunci restul etapelor, dacă pe prima am reușit deja totul?" Mulțumim pentru întrebare. Cu fiecare pas, programul devine mai funcțional sau mai rapid. La început, codul poate ocupa 10 linii, iar la final poate să nu încapă nici în 500.

Puțină teorie. Este imposibil să te așezi și, fără să știi nici un cuvânt despre programare, să scrii chiar și Hello World. De aceea, în fiecare etapă a proiectului poți vedea ce noțiuni teoretice trebuie să stăpânești și, cel mai important, de unde să le obții. Noțiunile sunt, de asemenea, disponibile pe Hyperskill, în secțiunea „Harta cunoștințelor” (Knowledge Map). Dacă pentru prima etapă a proiectului elevii nu sunt obligați să citească date din fișier, ei pot învăța apoi singuri, pentru dezvoltarea personală, sau poate fi necesar în etapa următoare.

Cu drag de la Stepik: platforma educațională Hyperskill

Harta cunoștințelor. Aceasta arată ce subiecte ai studiat deja și cum sunt conectate între ele. Deschide orice subiect interesant. Poți să-l parcurgi pe scurt, dar îți recomandăm să rezolvi și câteva sarcini mici pentru a te asigura că informația s-a așezat bine în minte. La început, platforma îți va oferi teste, după care — câteva sarcini de programare. Dacă codul se compilează și trece testele, compară-l cu soluția de referință (reference solution), uneori asta ajută să descoperi o metodă mai optimă de implementare. Sau să te asiguri că soluția ta este deja excelentă.

Fără nimic redundant. Așteptăm atât utilizatori „verzi”, cât și dezvoltatori experimentați. Dacă ai scris deja programe, nu-ți fă griji, nu te vom obliga să mai aduni 2+2 sau să întorci o linie de text. Ca să ajungi direct la nivelul dorit, când te înregistrezi, specifică cu ce ești deja familiarizat și alege un proiect mai greu. Nu te teme să te supraestimezi: dacă este nevoie, poți întotdeauna să revi la un subiect uitat în harta cunoștințelor.

Cu drag de la Stepik: platforma educațională Hyperskill

Instrumente. E grozav să scrii bucăți mici de cod într-o fereastră specială pe site, dar adevărata programare începe cu lucrul într-un mediu de dezvoltare (Integrated Development EProgramatorii experimentați nu știu doar să scrie cod, ci și cum să construiască interfețe grafice, să reunească diferite fișiere într-un proiect, să utilizeze instrumente de dezvoltare suplimentare, iar o parte din aceste procese sunt gestionate de IDE. De ce să nu învățați și aceste abilități în timp ce vă perfecționați programarea? Aici intervine JetBrains cu o versiune specială a IntelliJ IDEA Community Educational, care include pluginul EduTools preinstalat. În această IDE, puteți urma cursuri de formare, verifica sarcinile rezolvate și consulta sugestiile din proiect, în caz că ați uitat ceva. Nu vă faceți griji dacă auziți pentru prima dată termenii „plugin” sau „IDE”: vă vom explica ce sunt și cum să le instalați pe computer sau laptop cu minim de dificultăți. Învățați teoria, apoi treceți la IDE și finalizați următoarea etapă a proiectului chiar acolo.

Termene. Nu există! Cine suntem noi pentru a bate din palme și a indica în ce ritm ar trebui să scrieți programul? Când vă place să scrieți cod și doriți să-l finalizați, continuați să-l scrieți, astăzi sau mâine. Angajați-vă în dezvoltare pentru plăcerea voastră.

Erori. Toată lumea o face, faceți-o și voi într-o etapă a proiectului, iar atunci acea etapă nu va trece testele automate. Ce să faci, va trebui să te descurci singur pentru a găsi ce a mers prost. Am putea să vă spunem unde se află greșeala, dar oare asta vă va învăța să scrieți cod cu atenție? Citiți sugestiile din IDEA sau subiectul teoretic despre Bugs, iar când programul va funcționa în sfârșit, un val de dopamină va veni aproape instantaneu.

Rezultatul vizibil. Așadar, ați finalizat primul proiect, ce urmează? Bucurați-vă de roadele muncii! Jucați-vă cu prietenii în X și O, iar între timp, lăudați-vă realizările. Încărcați proiectul pe GitHub pentru a-l arăta viitorului angajator, scrieți o descriere de unul singur, menționați cunoștințele pe care le-ați aplicat. 4-5 proiecte complexe, iar portofoliul modest pentru un dezvoltator începător este gata.

O oportunitate pentru creștere. Să presupunem că vă uitați la Hyperskill și nu vedeți o temă importantă sau un proiect util. Faceți-ne cunoscut acest lucru! Dacă background-ul vostru este mai complex și mai bogat decât harta cunoștințelor, scrieți-ne prin formular. Contribuiți. Echipa noastră va împărtăși cu voi propriile tips&tricks, așa că suntem bucuroși să vă ajutăm să transformați cunoștințele voastre în conținut util, înțeles de utilizatori de diferite vârste și niveluri. Poate chiar vă vom plăti, dar nu e sigur.

Bun venit: hi.hyperskill.org Veniți, priviți, încercați, propuneți, lăudați și criticați. Noi învățăm și să vă învățăm.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster