1. Apprendimento basato sulla pratica

Apprendimento Java basato sulla pratica

Ci sono persone che amano CodeGym con tutto il cuore e ci sono persone che lo odiano con tutto il cuore. Ma anche il critico più feroce di CodeGym concorderà prontamente sul fatto che ha un numero impressionante di attività. E il motivo per cui ce ne sono così tanti è perché tutti gli allenamenti CodeGym hanno come fondamento la pratica .

La programmazione è un'abilità. Nessuno dice: "So programmare". Ogni programmatore dice: "Posso programmare". È un'abilità pratica, come nuotare o giocare a scacchi. E puoi coltivare l'abilità solo attraverso la pratica costante.

Ecco perché l'intero corso CodeGym è una sequenza di compiti sempre più difficili. Inizi con compiti molto semplici e primitivi e finisci con quelli più difficili e interessanti. La difficoltà cresce un po' con ogni livello. Questo è precisamente il percorso che ti porterà al tuo obiettivo di diventare un programmatore.


2. Tipi di compiti

Un sacco di diversi tipi di attività ti aspettano su CodeGym. Elenchiamo i principali:

Attività in cui si scrive un programma

Questi sono i compiti più importanti del corso. Il loro livello di difficoltà varia ampiamente: dai compiti più semplici a quelli a cui dovrai pensare molto.

L'obiettivo di queste attività è scrivere un programma che soddisfi condizioni e requisiti specificati. La maggior parte delle attività rientra in questa categoria. Per comodità degli studenti di CodeGym, contrassegniamo questi compiti in base al loro livello di difficoltà: FACILE , MEDIO , DIFFICILE ed EPICO .

Le attività EPIC sono spesso basate su materiale di apprendimento futuro in lezioni che non hai ancora sbloccato. Sono popolari tra gli studenti di CodeGym che ritengono che il corso sia troppo facile per loro. Altri possono semplicemente saltare questi compiti e tornarci più tardi, quando avranno già acquisito familiarità con la teoria pertinente.

Progetti

Lo svantaggio delle attività ordinarie è che sono piccole. Fatto e dimenticato, come si suol dire. Pertanto, raramente è possibile renderli altamente interessanti. Ma un programma di grandi dimensioni è difficile da testare: ci sono semplicemente troppi modi per implementarlo.

Ecco perché CodeGym ha introdotto le attività di progetto : attività di grandi dimensioni suddivise in 5-35 attività secondarie ordinarie. Esegui tutte le attività secondarie in sequenza e ti ritroverai con un programma di grandi dimensioni.

Alla fine di ogni livello dopo il livello 20, c'è una grande attività di progetto, suddivisa in venti attività secondarie. Ci sono anche altre 6 attività di gioco, anch'esse progetti. E c'è un compito del progetto per essere accettato in uno stage online. In totale, ci sono 27 attività di progetto nell'intero corso.

Quiz

Per molto tempo, CodeGym non ha avuto test o quiz. Il creatore di CodeGym ritiene che i test superati creino "l'illusione della conoscenza" nelle persone. Le persone non sanno davvero come programmare, ma sono assolutamente convinte del contrario, dal momento che hanno superato i test. Queste persone smettono di imparare, poiché "sanno già tutto".

Successivamente, sono stati aggiunti quiz per consentire agli studenti di CodeGym di identificare facilmente le lacune nel loro apprendimento. È utile per i programmatori conoscere le sfumature delle cose con cui lavorano quotidianamente nella loro professione.


3. Stati dell'attività

Ogni attività su CodeGym ha uno stato speciale. Lo stato può cambiare mentre risolvi le attività.

Ogni attività CodeGym è associata a una lezione. Inizialmente, non avrai accesso a nessun compito, il che significa che non sarai in grado di risolverli.

Quando apri la lezione successiva, tutti i compiti nella lezione diventano disponibili per la risoluzione, cioè il loro stato cambia in "Disponibile".

Se hai inviato un'attività per la verifica almeno una volta, il suo stato cambia da "Disponibile" a "In corso".

Infine, quando hai soddisfatto con successo tutti i requisiti e il validatore accetta la tua sottomissione, lo stato dell'attività cambia in "Completato".

Gli utenti con un abbonamento Premium Mentor hanno 3 giorni in più per provare a scrivere altre soluzioni per l'attività. Allo scadere di questo periodo di tempo aggiuntivo, l'attività passa allo stato "Chiuso" e questo stato non cambierà più.


4. Requisiti

Nei primi anni di CodeGym, quando verificavi ogni attività ottenevi un semplice risultato: sì o no. Il programma ha superato tutti i test oppure no. Super semplice, ma non super utile.

Man mano che le persone imparano, è molto importante che capiscano cosa stanno facendo di sbagliato e come iniziare a farlo bene. Di conseguenza, ha perfettamente senso che se il server non accetta la tua soluzione, allora chiedi, beh, cosa c'è che non va?

Per ottenere una risposta a questa domanda, hai bisogno di qualcuno che si immerga nella tua soluzione, la analizzi e ti dica cosa c'è che non va. Ciò richiederebbe molto tempo e sarebbe costoso. Il bello della verifica istantanea delle attività è che puoi sederti a studiare alle 2 del mattino e tutto funzionerà come qualsiasi altro momento.

Ecco perché abbiamo riscritto tutte le attività su CodeGym. Ora ogni compito ha non solo le condizioni del compito, ma anche un elenco di 5-10 requisiti che arricchiscono le condizioni. Soprattutto, ogni requisito viene verificato separatamente.

Ciò significa che quando invii un'attività per la verifica oggi, riceverai una risposta estesa: accanto a ciascun requisito dell'attività vedrai un'icona speciale che indica se il tuo programma soddisfa o meno questo requisito. Esempio:

Requisiti

Questo approccio semplifica notevolmente la vita mentre lavori su attività che richiedono di scrivere diverse classi o metodi. Sarai sempre in grado di vedere quali metodi o classi hai scritto correttamente e quali no.


5. Raccomandazioni

È possibile rendere i compiti ancora migliori in qualche modo? Non sarebbe fantastico se, dopo ogni controllo, ti venisse detto cosa c'è esattamente che non va nel tuo programma e ricevessi suggerimenti su come risolverlo? Sì, sarebbe bello! Bene, indovina un po'? Facciamo proprio questo su CodeGym 🙂

Rileviamo dozzine di errori comuni controllando i requisiti di ogni attività. Se il tuo programma commette un errore di cui il validatore è a conoscenza, allora fa una raccomandazione, un suggerimento su come puoi correggere la tua soluzione in modo che soddisfi tutti i requisiti.

Pensaci. Ora ci sono circa 1200 attività su CodeGym, con un totale di circa 10.000 requisiti. E ci sono diverse raccomandazioni associate a ciascun requisito. Alcuni requisiti ne hanno dozzine. Il validatore di CodeGym è pronto a formulare oltre 50.000 raccomandazioni per le soluzioni utente.

Inoltre, tutto ciò avviene quando la tua soluzione viene convalidata, il che nella maggior parte dei casi richiede meno di un secondo. Nessuna persona potrebbe farlo. Questo è un vero mentore virtuale.

Raccomandazioni

6. Comunità

CodeGym si concentra su un sacco di pratica , che rappresenta oltre l' 80% dell'intero processo di apprendimento. Abbiamo trasformato l'apprendimento in una ricerca grande e coinvolgente (in realtà una serie di missioni).

Ma ognuno è diverso: alcune persone imparano velocemente e altre imparano più lentamente. Alcune persone trovano facile il nuovo materiale, mentre altre lo trovano più difficile. Ma il nostro compito è che ciascuno dei nostri studenti arrivi al traguardo. Almeno questo è ciò per cui ci battiamo.

In questo mondo, i programmatori non sono solo pochi milioni di persone che scrivono codice in varie lingue e creano startup nel tempo libero. Formano una rete globale, condividono costantemente le loro conoscenze con gli altri, pronti a rispondere alle domande e ad aiutarti a comprendere argomenti complessi.

La più grande comunità di sviluppatori al mondo, il sito Web StackOverflow , è nata dall'esigenza dei programmatori di imparare gli uni dagli altri. Il suo concetto è semplice: fai una domanda e qualsiasi programmatore al mondo può rispondere. Comodo, vero? 🙂

In CodeGym, crediamo che lo scambio di conoscenze tra studenti sia estremamente prezioso. Quando i programmatori aiutano gli altri, essi stessi crescono . E non c'è modo migliore per capire qualcosa da soli che spiegarlo a qualcun altro. Ecco perché abbiamo creato sezioni speciali sul nostro sito Web progettate per offrire a tutti i nostri studenti l'opportunità di condividere le proprie conoscenze e aiutarsi a vicenda nell'apprendimento.

Quindi cosa fai se rimani bloccato sull'ultima attività? Cercare una soluzione già pronta su Internet è una cattiva idea. Certo, riceverai credito per l'attività se copi semplicemente la soluzione di qualcun altro o usi la nostra soluzione corretta. Ma non colmerai la tua lacuna di conoscenza e questo tornerà sicuramente a morderti nel sedere in futuro.


7. Domande sui compiti

I requisiti , i consigli e il mentore virtuale sono fantastici. Ma cosa succede se il validatore continua a non accettare la tua soluzione e non sei sicuro di quale sia il problema?

Anche in questo caso, c'è ancora una via d'uscita. Incontra la sezione Aiuto . In questa sezione del sito Web, gli studenti di CodeGym possono porre domande sui compiti, esplorare le reciproche soluzioni e anche dare consigli e suggerimenti. Non è consentito pubblicare soluzioni complete!

Sembra molto semplice ed essenziale, ma in realtà è piuttosto sofisticato.

Innanzitutto, a ogni domanda può essere associata un'attività . Ciò significa che non ha senso guadare tutte le domande, se sei interessato a domande su un'attività specifica. Puoi sempre utilizzare un filtro per vedere facilmente solo le domande relative all'attività che ti interessa. Basta inserire il nome dell'attività nella barra di ricerca:

Domande sui compiti

In secondo luogo, se fai clic sul pulsante "Community help" mentre risolvi un'attività, verrai immediatamente indirizzato alla sezione Aiuto, dove vedrai solo domande sull'attività su cui stai lavorando. Se la tua soluzione non supera la verifica dell'attività, le domande vengono ordinate in modo utile: le domande principali riguarderanno i requisiti non soddisfatti che hanno causato il fallimento della tua soluzione.

Pulsante di aiuto

In terzo luogo, il plug-in IntelliJ IDEA offre funzionalità simili. Puoi fare clic sul pulsante "Aiuto" o premere la combinazione di tasti Ctrl+Alt+W, che aprirà immediatamente la sezione Aiuto nel tuo browser. E, naturalmente, il filtro visualizzerà solo le domande sull'attività che stai risolvendo in IntelliJ IDEA .

IntelliJ IDEA aiuto

8. Creazione di una domanda

Se non trovi una buona analisi del tuo errore nella sezione Aiuto, puoi sempre creare la tua domanda. È abbastanza facile da fare: devi solo fare clic sul pulsante "Fai una domanda" e compilare i campi richiesti:

Creazione di una domanda

A differenza di molti altri servizi, come StackOverflow, Code Ranch, ecc., CodeGym non richiede di inserire tutte le informazioni importanti nel titolo della domanda. Scrivi la tua domanda come preferisci.

E a proposito, non è necessario copiare il codice da WebIDE o IntelliJ IDEA e aggiungerlo alla domanda. Quando crei una domanda su un'attività, il codice della tua soluzione insieme agli stati dei vari requisiti dell'attività vengono automaticamente aggiunti ad essa , cioè quali requisiti la tua soluzione attualmente soddisfa e quali no.

Creazione di una domanda 2

Ciò significa che gli altri studenti di CodeGym vedono immediatamente tutte le informazioni rilevanti sulla soluzione del richiedente, il che rende molto più facile fornire buoni consigli.


9. Codice soluzione

Su molti siti, quando si crea una domanda sul codice, è necessario allegare alla domanda un archivio con file di programma oppure aggiungere tutti questi file al testo della domanda stessa. Il risultato è un gran casino in cui le persone non vogliono o non sono in grado di scavare.

Fare una domanda in modo rapido ed efficiente è un'intera forma d'arte. Sui normali siti Web, dovrai dedicare mezz'ora a formulare la tua domanda o accettare il fatto che nessuno ti risponderà. Una buona domanda su un'attività deve assolutamente contenere le seguenti informazioni:

  • Collegamento all'attività che il richiedente sta risolvendo
  • Le condizioni del compito in modo che gli altri non debbano andare a dar loro la caccia da nessuna parte
  • Codice soluzione: potrebbe includere molti file
  • Stato di ciascun requisito dell'attività, ovvero cosa funziona attualmente e cosa no.
  • Testo della domanda: questo di solito è abbastanza chiaro: la mia soluzione non funziona e non sono sicuro del perché.

CodeGym visualizza queste informazioni utilizzando un widget speciale molto simile al widget WebIDE . Dopotutto, è già progettato per visualizzare tutte queste informazioni. Bene, forse con l'eccezione della domanda stessa.

Codice soluzione

In effetti, abbiamo scritto un widget speciale proprio per renderti conveniente studiare le soluzioni di altri utenti. E per rendere facile e piacevole per gli altri utenti esaminare le tue soluzioni nelle domande che poni.