1. Læring baseret på praksis

Java-læring baseret på praksis

Der er mennesker, der elsker CodeGym af hele deres hjerte, og der er mennesker, der hader det af hele deres hjerte. Men selv CodeGyms mest ondskabsfulde kritiker vil uden videre være enig i, at det har et imponerende stort antal opgaver. Og grunden til, at der er så mange af dem, er, at al CodeGym træning har praksis som grundlag .

Programmering er en færdighed. Ingen siger: "Jeg ved, hvordan man programmerer". Hver programmør siger: "Jeg kan programmere". Det er en praktisk færdighed, som at svømme eller spille skak. Og du kan kun dyrke færdigheden gennem konstant øvelse.

Derfor er hele CodeGym-forløbet en sekvens af stadig sværere opgaver. Du starter med meget lette, primitive opgaver og slutter med de sværeste og mest interessante. Sværhedsgraden vokser lidt for hvert niveau. Dette er netop den vej, der vil føre dig til dit mål om at blive programmør.


2. Opgavetyper

En hel masse forskellige typer opgaver venter dig på CodeGym. Lad os liste de vigtigste:

Opgaver, hvor du skriver kode efter et eksempel

Dette er den enkleste øvelse. Formålet med disse opgaver er at træne din evne til at skrive kode. For at løse opgaven skal du skrive kode, ligesom den findes i prøvekoden. Dette er meget nyttigt, men det bliver meget hurtigt kedeligt. Der er næsten ingen sådanne opgaver tilbage: vi har erstattet dem med opgaver, der er mere interessante for CodeGym-studerende.

Kortene til sådanne opgaver er markeret med bogstavet T:

Typer af opgaver

Opgaver, hvor du skriver et program

Det er de vigtigste opgaver i forløbet. Deres sværhedsgrad varierer meget: fra de enkleste opgaver til dem, du skal tænke meget over.

Målet med disse opgaver er at skrive et program, der opfylder specificerede betingelser og krav. De fleste opgaver falder ind under denne kategori. Af hensyn til CodeGym-studerende markerer vi disse opgaver efter deres sværhedsgrad: LET , MEDIUM , HÅRDT og EPISK .

EPIC opgaver er ofte baseret på fremtidigt læringsmateriale i lektioner, du endnu ikke har låst op. De er populære blandt CodeGym-studerende, som føler, at kurset er for nemt for dem. Andre kan blot springe disse opgaver over og vende tilbage til dem senere, når de allerede er blevet fortrolige med den relevante teori.

Opgaver, hvor du skriver et program

Projekter

Ulempen ved almindelige opgaver er, at de er små. Færdig og glemt, som man siger. Derfor er det sjældent muligt at gøre dem særdeles interessante. Men et stort program er svært at teste: Der er simpelthen for mange måder at implementere det på.

Det er CodeGym introducerede projektopgaver — store opgaver opdelt i 10-30 almindelige delopgaver. Du udfører alle delopgaverne sekventielt, og du ender med et stort program.

I slutningen af ​​hvert niveau i Multithreading og Collections quests er der én stor projektopgave, som er opdelt i tyve underopgaver. Der er også yderligere 6 spilopgaver, som også er projekter. I alt er der 27 projektopgaver i hele forløbet.

Quizzer

I lang tid havde CodeGym ingen tests eller quizzer. CodeGyms skaber er af den opfattelse, at beståede tests skaber "illusionen om viden" hos mennesker. Folk ved ikke rigtig, hvordan man programmerer, men de er helt overbeviste om andet, da de har bestået testene. Sådanne mennesker holder op med at lære, da "de allerede ved alt".

Efterfølgende blev der tilføjet quizzer for at give CodeGym-studerende mulighed for nemt at identificere huller i deres læring. Det er nyttigt for programmører at kende nuancerne af de ting, de arbejder med til daglig i deres fag.

Java-quizzer

Videoer

Endelig er den allersidste type opgave at se en video. En masse nyttige og interessante videoer relateret til it-branchen er inkluderet i CodeGym-lektioner.


3. Opgavestatusser

Hver opgave på CodeGym har en særlig status. Status kan ændre sig, efterhånden som du løser opgaver.

Hver CodeGym-opgave er forbundet med en lektion. I første omgang vil du ikke have adgang til nogen opgaver, hvilket betyder, at du ikke vil være i stand til at løse dem.

Låst

Når du åbner næste lektion, bliver alle opgaverne i lektionen tilgængelige til løsning, dvs. deres status ændres til "Tilgængelig".

Ledig

Hvis du har sendt en opgave til verifikation mindst én gang, ændres dens status fra "Tilgængelig" til "I gang".

I gang

Til sidst, når du har opfyldt alle kravene, og validatoren accepterer din aflevering, ændres opgavens status til "Udført".

Afsluttet

Brugere med et Premium Pro-abonnement har 3 dage mere til at prøve at skrive andre løsninger til opgaven. Når dette ekstra tidsrum er udløbet, flytter opgaven til status "Lukket", og denne status ændres ikke længere.Lukket


4. WebIDE

For at gøre det nemmere for dig at løse opgaver, har vi skrevet en speciel widget: WebIDE . Det ser omtrent sådan ud:

WebIDE

Til venstre ser du de opgavebetingelser og krav , som din løsning skal opfylde. I centrum har vi editoren, hvor du skal skrive din kode . Dit program viste noget tekst, som du kan se i ruden nederst.

Og øverst vil du se disse knapper:

  • Bekræft : Send din løsning til test.
  • Hjælp : Stil et spørgsmål om din løsning i CodeGym-fællesskabet.
  • Diskuter : Diskuter opgaven med andre brugere.
  • Nulstil : Nulstil din løsning, dvs. start forfra.
  • Kør : Start programmet uden at indsende det til verifikation (din bekræftelsestæller stiger ikke).
  • Kodeanalyse : Få forslag til din løsnings kodestil

5. Krav

I de første år af CodeGym, når du verificerede hver opgave, fik du et simpelt resultat: ja eller nej. Programmet bestod enten alle prøverne, eller også gjorde det ikke. Super simpelt, men ikke super nyttigt.

Når folk lærer, er det meget vigtigt, at de forstår, hvad de gør forkert, og hvordan man begynder at gøre det rigtigt. Derfor giver det perfekt mening, at hvis serveren ikke accepterer din løsning, så spørger du, ja, hvad er der galt med den?

For at få svar på dette spørgsmål har du brug for, at nogen dykker ned i din løsning, analyserer den og fortæller dig, hvad der er galt med den. Dette ville tage lang tid og være dyrt. Skønheden ved øjeblikkelig opgavebekræftelse er, at du kan sætte dig ned for at studere klokken 02.00, og det hele vil fungere ligesom alle andre tidspunkter.

Derfor omskrev vi alle opgaverne på CodeGym. Nu har hver opgave ikke kun opgavebetingelser, men også en liste med 5-10 krav, der konkretiserer betingelserne. Det vigtigste er, at hvert krav verificeres separat.

Det betyder, at når du sender en opgave til verifikation i dag, vil du få et udvidet svar: ud for hvert opgavekrav vil du se et særligt ikon, der angiver, om dit program opfylder dette krav eller ej. Eksempel:

Krav

Denne tilgang forenkler livet i høj grad, når du arbejder med opgaver, der kræver, at du skriver flere klasser eller metoder. Du vil altid kunne se, hvilke metoder eller klasser du har skrevet korrekt, og hvilke du ikke gjorde.


6. Anbefalinger

Er det muligt at gøre opgaverne endnu bedre på en eller anden måde? Ville det ikke være fantastisk, hvis du efter hvert tjek fik at vide, hvad der præcist er galt i dit program og fik tip om, hvordan du fikser det? Ja, det ville være fedt! Nå, gæt hvad? Det gør vi netop på CodeGym 🙂

Vi fanger snesevis af almindelige fejl ved at kontrollere hver opgave. Hvis dit program laver en fejl, som validatoren kender til, så giver det en anbefaling - et tip til, hvordan du kan rette din løsning, så den opfylder alle kravene.

Tænk over det. Der er nu omkring 1200 opgaver på CodeGym, med i alt cirka 10.000 krav. Og der er flere anbefalinger forbundet med hvert krav. Nogle krav har dusinvis af dem. CodeGyms validator er klar til at komme med over 50.000 anbefalinger til brugerløsninger.

Plus, alt dette sker, mens din løsning er valideret, hvilket i de fleste tilfælde tager mindre end et sekund. Ingen person kunne gøre det. Dette er en rigtig virtuel mentor.

Anbefalinger