1. Învățare bazată pe practică

Învățare Java bazată pe practică

Sunt oameni care iubesc CodeGym din toată inima și sunt oameni care îl urăsc din toată inima. Dar chiar și cel mai vicios critic al CodeGym va fi de acord că are un număr impresionant de mare de sarcini. Iar motivul pentru care sunt atât de multe dintre ele este că toate antrenamentele CodeGym au ca fundament practica .

Programarea este o abilitate. Nimeni nu spune: „Știu să programez”. Fiecare programator spune: „Pot programa”. Este o abilitate practică, cum ar fi înotul sau jocul de șah. Și nu poți cultiva abilitatea decât printr-o practică constantă.

De aceea, întregul curs CodeGym este o succesiune de sarcini din ce în ce mai dificile. Începi cu sarcini foarte ușoare, primitive și închei cu cele mai dificile și interesante. Dificultatea crește puțin cu fiecare nivel. Tocmai aceasta este calea care te va conduce la scopul tau de a deveni programator.


2. Tipuri de sarcini

O mulțime de tipuri diferite de sarcini vă așteaptă pe CodeGym. Să le enumerăm pe cele principale:

Sarcini în care scrieți un program

Acestea sunt cele mai importante sarcini ale cursului. Nivelul lor de dificultate variază foarte mult: de la cele mai simple sarcini la cele la care va trebui să te gândești mult.

Scopul acestor sarcini este de a scrie un program care îndeplinește condițiile și cerințele specificate. Majoritatea sarcinilor se încadrează în această categorie. Pentru comoditatea studenților CodeGym, notăm aceste sarcini în funcție de nivelul lor de dificultate: UȘOAR , MEDIU , GREU și EPIC .

Sarcinile EPIC se bazează adesea pe materiale de învățare viitoare din lecțiile pe care nu le-ați deblocat încă. Sunt populari printre studenții CodeGym care consideră că cursul este prea ușor pentru ei. Alții pot sări peste aceste sarcini și să revină la ele mai târziu, când s-au familiarizat deja cu teoria relevantă.

Proiecte

Dezavantajul sarcinilor obișnuite este că sunt mici. Gata si uitata, dupa cum se spune. Prin urmare, rareori este posibil să le faci extrem de interesante. Dar un program mare este greu de testat: pur și simplu există prea multe moduri de a-l implementa.

De aceea, CodeGym a introdus sarcini de proiect — sarcini mari împărțite în 5-35 de subsarcini obișnuite. Efectuați toate subsarcinile în mod secvențial și ajungeți cu un program mare.

La sfârșitul fiecărui nivel după Nivelul 20, există o sarcină mare de proiect, care este împărțită în douăzeci de subsarcini. Mai sunt și alte 6 sarcini de joc, care sunt și proiecte. Și există o sarcină de proiect pentru a fi acceptat într-un stagiu online. În total, există 27 de sarcini de proiect în întregul curs.

Chestionare

Multă vreme, CodeGym nu a avut teste sau chestionare. Creatorul CodeGym este de părere că testele trecute creează „iluzia cunoașterii” în oameni. Oamenii nu prea știu să programeze, dar sunt foarte convinși de contrariu, din moment ce au trecut testele. Astfel de oameni încetează să învețe, deoarece „ei știu deja totul”.

Ulterior, au fost adăugate chestionare pentru a le permite studenților CodeGym să identifice cu ușurință lacunele în învățare. Este util pentru programatori să cunoască nuanțele lucrurilor cu care lucrează zilnic în profesia lor.


3. Starea sarcinilor

Fiecare sarcină de pe CodeGym are un statut special. Starea se poate schimba pe măsură ce rezolvați sarcini.

Fiecare sarcină CodeGym este asociată cu o lecție. Inițial, nu veți avea acces la nicio sarcină, ceea ce înseamnă că nu le veți putea rezolva.

Când deschideți următoarea lecție, toate sarcinile din lecție devin disponibile pentru rezolvare, adică starea lor se schimbă în „Disponibil”.

Dacă ați trimis o sarcină pentru verificare cel puțin o dată, atunci starea acesteia se schimbă din „Disponibil” în „În curs”.

În cele din urmă, când ați îndeplinit cu succes toate cerințele și validatorul vă acceptă trimiterea, atunci starea sarcinii se schimbă în „Finalizat”.

Utilizatorii cu un abonament Premium Mentor au la dispoziție încă 3 zile pentru a încerca să scrie alte soluții pentru sarcină. După expirarea acestei ferestre suplimentare, sarcina trece în starea „Închisă”, iar această stare nu se va mai schimba.


4. Cerințe

În primii ani ai CodeGym, când verificai fiecare sarcină, obțineai un rezultat simplu: da sau nu. Programul fie a trecut toate testele, fie nu a trecut. Super simplu, dar nu foarte util.

Pe măsură ce oamenii învață, este foarte important să înțeleagă ce fac greșit și cum să înceapă să o facă corect. În consecință, este perfect logic ca, dacă serverul nu acceptă soluția dvs., atunci vă întrebați, ei bine, ce este în neregulă cu ea?

Pentru a obține un răspuns la această întrebare, aveți nevoie de cineva care să se scufunde în soluția dvs., să o analizeze și să vă spună ce este în neregulă cu ea. Acest lucru ar dura mult timp și ar fi costisitor. Frumusețea verificării instantanee a sarcinilor este că vă puteți așeza să studiați la 2 dimineața și totul va funcționa la fel ca oricând.

De aceea am rescris toate sarcinile de pe CodeGym. Acum, fiecare sarcină are nu numai condiții de sarcină, ci și o listă de 5-10 cerințe care completează condițiile. Cel mai important, fiecare cerință este verificată separat.

Asta înseamnă că atunci când trimiteți o sarcină pentru verificare astăzi, veți primi un răspuns extins: lângă fiecare cerință de sarcină veți vedea o pictogramă specială care indică dacă programul dvs. îndeplinește sau nu această cerință. Exemplu:

Cerințe

Această abordare simplifică foarte mult viața pe măsură ce lucrați la sarcini care necesită să scrieți mai multe clase sau metode. Veți putea vedea întotdeauna ce metode sau clase ați scris corect și care nu.


5. Recomandări

Este posibil să facem sarcinile și mai bune cumva? Nu ar fi grozav dacă, după fiecare verificare, vi s-ar spune ce este exact în neregulă în programul dvs. și ați primi indicii despre cum să o remediați? Da, ar fi tare! Ei bine, ghici ce? Exact asta facem pe CodeGym 🙂

Observăm zeci de greșeli comune verificând fiecare cerință de sarcină. Dacă programul dvs. face o greșeală despre care validatorul știe, atunci face o recomandare - un indiciu despre cum vă puteți remedia soluția, astfel încât să satisfacă toate cerințele.

Gandeste-te la asta. Acum există aproximativ 1200 de sarcini pe CodeGym, cu un total de aproximativ 10.000 de cerințe. Și există mai multe recomandări asociate cu fiecare cerință. Unele cerințe au zeci de ele. Validatorul CodeGym este gata să facă peste 50.000 de recomandări pentru soluțiile utilizatorilor.

În plus, toate acestea se întâmplă pe măsură ce soluția dvs. este validată, ceea ce în majoritatea cazurilor durează mai puțin de o secundă. Nimeni nu ar putea face asta. Acesta este un adevărat mentor virtual.

Recomandări

6. Comunitatea

CodeGym se concentrează pe o mulțime de practică , care reprezintă mai mult de 80% din întregul proces de învățare. Am transformat învățarea într-o căutare mare și captivantă (de fapt, o serie de misiuni).

Dar fiecare este diferit: unii oameni învață repede, iar alții învață mai încet. Unii oameni consideră că noul material este ușor, în timp ce alții le este mai dificil. Dar treaba noastră este ca fiecare dintre elevii noștri să ajungă la linia de sosire. Cel puțin pentru asta ne străduim.

În această lume, programatorii nu sunt doar câteva milioane de oameni care scriu cod în diverse limbi și creează startup-uri în timpul liber. Ei formează o rețea globală, împărtășindu-și în mod constant cunoștințele altora, gata să răspundă la întrebări și să te ajute să înțelegi subiecte complexe.

Cea mai mare comunitate de dezvoltatori din lume – site-ul StackOverflow – s-a născut din necesitatea ca programatorii să învețe unii de la alții. Conceptul său este simplu: pui o întrebare și orice programator din lume îi poate răspunde. Convenabil, nu? 🙂

La CodeGym, credem că schimbul de cunoștințe între elevi este extrem de valoros. Pe măsură ce programatorii îi ajută pe alții, ei înșiși cresc . Și nu există o modalitate mai bună de a înțelege ceva singur decât să-l explici altcuiva. De aceea am creat secțiuni speciale pe site-ul nostru web care sunt concepute pentru a oferi tuturor studenților noștri oportunitatea de a-și împărtăși cunoștințele și de a se ajuta reciproc să învețe.

Deci, ce faci dacă rămâi blocat la cea mai recentă sarcină? Căutarea unei soluții gata făcute pe Internet este o idee proastă. Sigur, veți primi credit pentru sarcină dacă doar copiați soluția altcuiva sau utilizați soluția noastră corectă. Dar nu îți vei închide golul de cunoștințe și asta cu siguranță se va întoarce să te muște de fund în viitor.


7. Întrebări despre sarcini

Cerințele , recomandările și mentorul virtual sunt super cool. Dar ce se întâmplă dacă validatorul tot nu vă acceptă soluția și nu sunteți sigur care este problema?

Chiar și în acest caz, există încă o cale de ieșire. Faceți cunoștință cu secțiunea Ajutor . În această secțiune a site-ului, studenții CodeGym pot pune întrebări despre sarcini, pot explora reciproc soluțiile și, de asemenea, pot oferi sfaturi și sfaturi. Nu este permisă postarea soluțiilor complete!

Sună foarte simplu și de bază, dar de fapt este destul de sofisticat.

În primul rând, fiecare întrebare poate avea o sarcină asociată . Aceasta înseamnă că nu are rost să treci prin toate întrebările, dacă ești interesat de întrebări despre o anumită sarcină. Puteți utiliza oricând un filtru pentru a vedea cu ușurință doar întrebările legate de sarcina care vă interesează. Doar introduceți numele sarcinii în bara de căutare:

Întrebări despre sarcini

În al doilea rând, dacă faceți clic pe butonul „Ajutor comunității” în timp ce rezolvați o sarcină, veți fi direcționat imediat la secțiunea Ajutor, unde veți vedea doar întrebări despre sarcina la care lucrați. Dacă soluția dvs. nu reușește verificarea sarcinilor, atunci întrebările sunt sortate într-un mod util: întrebările de top vor fi despre cerințele nesatisfăcute care au cauzat eșecul soluției dvs.

butonul Ajutor

În al treilea rând, pluginul IntelliJ IDEA oferă funcționalități similare. Puteți face clic pe butonul „Ajutor” sau puteți apăsa combinația de taste Ctrl+Alt+W, care va deschide imediat secțiunea Ajutor din browser. Și, desigur, filtrul va afișa doar întrebări despre sarcina pe care o rezolvați în IntelliJ IDEA .

Ajutor IntelliJ IDEA

8. Crearea unei întrebări

Dacă nu găsiți o analiză bună a erorii dvs. în secțiunea Ajutor, atunci puteți oricând să vă creați propria întrebare. Acest lucru este destul de ușor de făcut - trebuie doar să faceți clic pe butonul „Pune o întrebare” și să completați câmpurile obligatorii:

Crearea unei întrebări

Spre deosebire de multe alte servicii, cum ar fi StackOverflow, Code Ranch etc., CodeGym nu necesită să înghesuiți toate informațiile importante în titlul întrebării. Scrie-ți întrebarea așa cum vrei.

Și apropo, nu trebuie să copiați codul din WebIDE sau IntelliJ IDEA și să îl adăugați la întrebarea dvs. Când creați o întrebare despre o sarcină, codul soluției dvs. împreună cu stările diferitelor cerințe ale sarcinii sunt adăugate automat la aceasta , adică ce cerințe le îndeplinește soluția dvs. în prezent și pe care nu.

Crearea unei întrebări 2

Aceasta înseamnă că alți studenți CodeGym văd imediat toate informațiile relevante despre soluția solicitantului, ceea ce face mult mai ușor să oferiți sfaturi bune.


9. Cod soluție

Pe multe site-uri, atunci când creați o întrebare despre cod, trebuie fie să atașați o arhivă cu fișiere de program la întrebare, fie să adăugați toate aceste fișiere la textul întrebării în sine. Rezultatul este o mare mizerie în care oamenii fie nu doresc, fie nu pot să sape.

A pune o întrebare rapid și eficient este o întreagă formă de artă. Pe site-urile web obișnuite, fie va trebui să petreceți o jumătate de oră formulându-vă întrebarea, fie să acceptați faptul că nimeni nu vă va răspunde. O întrebare bună despre o sarcină trebuie să conțină în mod absolut următoarele informații:

  • Link către sarcina pe care o rezolvă solicitantul
  • Sarcina condiţionează astfel încât ceilalţi să nu fie nevoiţi să-i vâneze nicăieri
  • Cod soluție - acesta ar putea include multe fișiere
  • Starea fiecărei cerințe de sarcină, adică ce funcționează în prezent și ce nu.
  • Textul întrebării: acest lucru este de obicei destul de clar - soluția mea nu funcționează și nu sunt sigur de ce.

CodeGym afișează aceste informații folosind un widget special care este foarte asemănător cu widget-ul WebIDE . La urma urmei, este deja conceput pentru a afișa toate aceste informații. Ei bine, poate cu excepția întrebării în sine.

Cod soluție

De fapt, am scris un widget special doar pentru a vă face convenabil să studiați soluțiile altor utilizatori. Și pentru a le face ușor și plăcut pentru alți utilizatori să examineze soluțiile dvs. la întrebările pe care le puneți.