1. Læring basert på praksis

Java-læring basert på praksis

Det er folk som elsker CodeGym av hele sitt hjerte, og det er folk som hater det av hele sitt hjerte. Men selv CodeGyms mest ondsinnede kritiker vil lett være enig i at den har et imponerende stort antall oppgaver. Og grunnen til at det er så mange av dem er fordi all CodeGym trening har praksis som grunnlag .

Programmering er en ferdighet. Ingen sier: "Jeg vet hvordan jeg programmerer". Hver programmerer sier: "Jeg kan programmere". Det er en praktisk ferdighet, som å svømme eller spille sjakk. Og du kan bare dyrke ferdigheten gjennom konstant øvelse.

Derfor er hele CodeGym-kurset en sekvens av stadig vanskeligere oppgaver. Du starter med veldig enkle, primitive oppgaver, og avslutter med de vanskeligste og mest interessante. Vanskeligheten vokser litt for hvert nivå. Dette er nettopp veien som vil lede deg til målet ditt om å bli programmerer.


2. Typer oppgaver

En hel haug med forskjellige typer oppgaver venter på deg på CodeGym. La oss liste opp de viktigste:

Oppgaver hvor du skriver kode etter et eksempel

Dette er den enkleste øvelsen. Hensikten med disse oppgavene er å øve på din evne til å skrive kode. For å løse oppgaven må du skrive kode akkurat slik den finnes i eksempelkoden. Dette er veldig nyttig, men det blir kjedelig veldig fort. Det er nesten ingen slike oppgaver igjen: vi har erstattet dem med oppgaver som er mer interessante for CodeGym-studenter.

Kortene for slike oppgaver er merket med bokstaven T:

Typer oppgaver

Oppgaver hvor du skriver et program

Dette er de viktigste oppgavene i kurset. Vanskelighetsnivået deres varierer mye: fra de enkleste oppgavene til de du må tenke mye på.

Målet med disse oppgavene er å skrive et program som oppfyller spesifiserte betingelser og krav. De fleste oppgaver faller inn under denne kategorien. For å gjøre det enklere for CodeGym-studenter, merker vi disse oppgavene i henhold til deres vanskelighetsgrad: ENKEL , MIDDELS , HARD og EPISK .

EPISKE oppgaver er ofte basert på fremtidig læremateriell i leksjoner du ennå ikke har låst opp. De er populære blant CodeGym-studenter som føler kurset er for enkelt for dem. Andre kan ganske enkelt hoppe over disse oppgavene og gå tilbake til dem senere, når de allerede har blitt kjent med den aktuelle teorien.

Oppgaver hvor du skriver et program

Prosjekter

Ulempen med vanlige oppgaver er at de er små. Gjort og glemt, som de sier. Derfor er det sjelden mulig å gjøre dem svært interessante. Men et stort program er vanskelig å teste: det er rett og slett for mange måter å implementere det på.

Det er CodeGym introduserte prosjektoppgaver — store oppgaver fordelt på 10-30 ordinære deloppgaver. Du utfører alle deloppgavene sekvensielt, og du ender opp med et stort program.

På slutten av hvert nivå i Multithreading and Collections-oppdrag er det én stor prosjektoppgave, som er delt inn i tjue underoppgaver. Det er også ytterligere 6 spilloppgaver, som også er prosjekter. Totalt er det 27 prosjektoppgaver i hele kurset.

Quiz

Lenge hadde CodeGym ingen tester eller quiz. CodeGyms skaper er av den oppfatning at beståtte tester skaper "illusjonen av kunnskap" hos mennesker. Folk vet egentlig ikke hvordan de skal programmere, men de er grundig overbevist om noe annet, siden de besto prøvene. Slike mennesker slutter å lære, siden "de allerede vet alt".

Deretter ble det lagt til quizer for å la CodeGym-studenter enkelt identifisere hull i læringen. Det er nyttig for programmerere å kjenne nyansene til tingene de jobber med til daglig i yrket sitt.

Quiz Java

Videoer

Til slutt, den aller siste typen oppgave er å se en video. Mange nyttige og interessante videoer relatert til IT-bransjen har blitt inkludert i CodeGym-timer.


3. Oppgavestatuser

Hver oppgave på CodeGym har en spesiell status. Statusen kan endres etter hvert som du løser oppgaver.

Hver CodeGym-oppgave er knyttet til en leksjon. I utgangspunktet vil du ikke ha tilgang til noen oppgaver, noe som betyr at du ikke kan løse dem.

låst

Når du åpner neste leksjon, blir alle oppgavene i leksjonen tilgjengelige for løsning, dvs. statusen deres endres til "Tilgjengelig".

Tilgjengelig

Hvis du har sendt inn en oppgave for verifisering minst én gang, endres statusen fra "Tilgjengelig" til "Pågår".

I prosess

Til slutt, når du har oppfylt alle kravene og validatoren godtar innleveringen din, endres oppgavens status til "Fullført".

Fullført

Brukere med Premium Pro-abonnement har 3 dager til på å prøve å skrive andre løsninger for oppgaven. Etter at dette ekstra tidsvinduet utløper, flyttes oppgaven til "Lukket"-status, og denne statusen vil ikke lenger endres.Lukket


4. NETTID

For å gjøre det enklere for deg å løse oppgaver, har vi skrevet en spesiell widget: WebIDE . Det ser omtrent slik ut:

NETTID

Til venstre ser du oppgavebetingelsene og kravene som din løsning må tilfredsstille. I sentrum har vi editoren , som er der du må skrive koden din . Programmet ditt viste noe tekst, som du kan se i ruten nederst.

Og øverst vil du se disse knappene:

  • Bekreft : Send inn løsningen din for testing.
  • Hjelp : Still et spørsmål om løsningen din i CodeGym-fellesskapet.
  • Diskuter : Diskuter oppgaven med andre brukere.
  • Tilbakestill : Tilbakestill løsningen din, dvs. start på nytt.
  • Kjør : Start programmet uten å sende det til verifisering (bekreftelsestelleren din vil ikke øke).
  • Kodeanalyse : Få forslag til løsningens kodestil

5. Krav

I de første årene av CodeGym, når du verifiserte hver oppgave, fikk du et enkelt resultat: ja eller nei. Programmet besto enten alle testene eller så klarte det ikke. Super enkelt, men ikke super nyttig.

Når folk lærer, er det veldig viktig at de forstår hva de gjør feil og hvordan de kan begynne å gjøre det riktig. Følgelig gir det perfekt mening at hvis serveren ikke godtar løsningen din, vil du spørre, vel, hva er galt med den?

For å få svar på dette spørsmålet trenger du noen til å dykke ned i løsningen din, analysere den og fortelle deg hva som er galt med den. Dette vil ta lang tid og bli dyrt. Det fine med umiddelbar oppgaveverifisering er at du kan sette deg ned for å studere klokken 02.00, og alt vil fungere som alle andre tidspunkter.

Derfor skrev vi om alle oppgavene på CodeGym. Nå har hver oppgave ikke bare oppgavebetingelser, men også en liste med 5-10 krav som konkretiserer betingelsene. Det viktigste er at hvert krav verifiseres separat.

Det betyr at når du sender inn en oppgave for verifisering i dag, vil du få et utvidet svar: ved siden av hvert oppgavekrav vil du se et spesielt ikon som indikerer om programmet ditt tilfredsstiller dette kravet eller ikke. Eksempel:

Krav

Denne tilnærmingen forenkler livet i stor grad når du jobber med oppgaver som krever at du skriver flere klasser eller metoder. Du vil alltid kunne se hvilke metoder eller klasser du skrev riktig og hvilke du ikke gjorde.


6. Anbefalinger

Er det mulig å gjøre oppgavene enda bedre på en eller annen måte? Ville det ikke vært flott om du etter hver sjekk ble fortalt hva som er feil i programmet ditt og fikk tips om hvordan du kan fikse det? Ja, det hadde vært kult! Vel, gjett hva? Vi gjør nettopp det på CodeGym 🙂

Vi fanger dusinvis av vanlige feil ved å sjekke hver oppgavekrav. Hvis programmet ditt gjør en feil som validatoren vet om, gir det en anbefaling – et hint om hvordan du kan fikse løsningen slik at den tilfredsstiller alle kravene.

Tenk på det. Det er nå omtrent 1200 oppgaver på CodeGym, med totalt omtrent 10 000 krav. Og det er flere anbefalinger knyttet til hvert krav. Noen krav har dusinvis av dem. CodeGyms validator er klar til å gi over 50 000 anbefalinger for brukerløsninger.

I tillegg skjer alt dette når løsningen din er validert, noe som i de fleste tilfeller tar mindre enn et sekund. Ingen person kunne gjøre det. Dette er en ekte virtuell mentor.

Anbefalinger