Perché non dovresti imparare a programmare con Codecademy

Codecademy-donts

Codecademy è un'app Web progettata per insegnare ai nuovi sviluppatori i mattoni della codifica. È incredibilmente popolare ma ha molte cose che può fare di meglio.

Dal 2011 hanno insegnato a milioni di persone come programmare gratuitamente e hanno lanciato la carriera di migliaia di sviluppatori. Allo stesso tempo, i loro prodotti e metodi di insegnamento lasciano molto a desiderare.

Quindi, cosa c'è che non va in Codecademy? Ci sono un paio di problemi di cui si dovrebbe parlare e apprendere le cose che non fanno bene potrebbe portare ad alcune alternative migliori per imparare il codice.

Codecademy Problema 1: non insegna la mentalità

Reddit sostituto della domanda di sfida di programmazione per codecademy

È fantastico conoscere una lingua a memoria, ma essere un programmatore è più che essere semplicemente in grado di memorizzare la sintassi. Si tratta di avere una mentalità particolare e imparare a risolvere un problema, risolverlo con il pensiero algoritmico e quindi codificare la soluzione.

Devi essere in grado di esaminare un problema su larga scala e capire come ogni passo che fai influenza il resto del programma. Inoltre, devi essere in grado di tollerare un alto livello di frustrazione e perseverare quando colpisci un muro di mattoni mentale .

Devi essere in grado di cercare errori, cercare risposte a Google e comunicare il tuo problema ad altri sviluppatori. In poche parole, devi essere in grado di pensare come un programmatore.

I corsi di Codecademy non ti insegnano a pensare come un programmatore.

Piuttosto, ti insegna le basi di un certo numero di linguaggi di programmazione senza molte istruzioni su come applicarli ai problemi della vita reale.

Quali sono i modi migliori per ottenere quell'esperienza di risoluzione dei problemi?

Sono un grande fan di Project Euler e del Daily Programmer Subreddit di Reddit, che presentano puzzle di programmazione da risolvere. Sono un grande fan di quest'ultimo perché sei incoraggiato a condividere il tuo codice e ricevere feedback da altri sviluppatori.

Il subreddit programmatore quotidiano viene fornito con puzzle giornalieri per tutti i livelli di abilità, dai principianti assoluti agli esperti di codice.

Codecademy Problema 2: lampeggia e ti perderai

Codice javascript interattivo per codecademy

Una delle mie maggiori frustrazioni con l'approccio di Codecademy all'insegnamento è la velocità con cui i corsi si muovono. Impari qualcosa, completi una sfida e potresti non rivedere più quell'argomento. Lampeggia e ti perderai.

Se vuoi consolidare i tuoi progressi, dovrai fare qualche pratica deliberata al di fuori di Codecademy. Uno dei modi migliori per farlo è semplicemente scrivere codice. Molti programmatori giurano notando e rafforzando con le flashcard.

Le flashcard di carta sono economiche ed efficaci. In effetti, è possibile acquistare pacchetti da 1.000 su Amazon per iniziare.

Oxford Blank Index Cards, 3 "x 5", Bianco, 1.000 carte (10 confezioni da 100) (30) Oxford Blank Index Cards, 3 "x 5", Bianco, 1.000 carte (10 confezioni da 100) (30) Acquista ora su Amazon $ 11,99

Se preferisci il digitale, c'è anche una serie di app che puoi usare. Sono un grande fan di Anki per quanto sia personalizzabile. Ha migliaia di flashcard create dalla comunità ed è estensibile tramite la sua interfaccia di programmazione dell'applicazione (API).

Per gli utenti mobili, ci sono anche molte applicazioni flashcard per Android e per iPhone.

Codecademy Problema 3: la sintassi non equivale alla programmazione

Codecademy ti insegnerà la sintassi di un linguaggio di programmazione ma per la maggior parte, non ti dirà come applicarlo. Questo è il motivo per cui spesso vedi domande come questa, pubblicate su SubProit di LearnProgramming.

Domanda javascript di codecademy di Reddit

Lo sviluppatore sta imparando JavaScript e sta iniziando a capire la lingua, ma non sa come applicarla effettivamente. Potrebbe non essere colpa degli sviluppatori.

Il corso introduttivo JavaScript non si tuffa nell'uso del Document Object Model con JavaScript . Il corso Java non ti insegna come compilare il tuo codice per eseguirlo.

Non è tutto ciò che tende a essere sorpreso. Codecademy non ti dà consigli per scrivere codice più pulito . Non ti insegna come scrivere codice auto-documentante. Non ti insegna la gestione dei pacchetti o come utilizzare il codice di altre persone nei tuoi progetti.

Questo è qualcosa che puoi superare trovando un'alternativa a Codecademy. Cerca istruzioni che insegnino queste importanti abitudini e il tuo codice fiorirà.

Codecademy Problema 4: non spiega la teoria

Esempio di codice java Codecademy

La ragione per cui Codecademy ha successo è che prende la codifica e la trasforma in pezzi di dimensioni ridotte che sono facili da realizzare. È fantastico adesso, ma non così tanto a lungo termine. Imparare a essere uno sviluppatore significa apprendere i pri
ncipi dello sviluppo del software, che sono onestamente molto impegnativi. È la ragione per cui i bravi sviluppatori sono così preziosi.

Nel curriculum di Codecademy, non si impara a conoscere la teoria della programmazione. Le cose di cui Donald Knuth ha trascorso migliaia di pagine – e la parte migliore di due decenni – di cui scrivono in The Art of Computer Programming .

The Art of Computer Programming, Volumes 1-4A Boxed Set The Art of Computer Programming, Volumes 1-4A Boxed Set Acquista ora su Amazon $ 162,33

Codecademy ti protegge dalla parte complicata della programmazione. Non c'è altro modo di aggirare questo, se non quello di avere la disciplina per fare le proprie ricerche. Se non sai cosa dovresti guardare, un buon modo per imparare è trovare sviluppatori esperti che possano aiutarti.

Alternative Codecademy

Se preferisci la struttura fornita da Codecademy ma desideri alcune alternative, ci sono alcune opzioni.

Code School vs. Codecademy

Main Logo Code School Pluralsight

Code School ti insegnerà come programmare proprio come Codecademy, ma con alcuni vantaggi significativi. Code School (recentemente acquisita da Pluralslight) offre una selezione più approfondita di classi dallo sviluppo del software alla sicurezza informatica.

Le lezioni sono tenute con video da professionisti del codice che spiegano i concetti in profondità. Il curriculum si estende dall'inizio alla codifica di livello avanzato. L'apprendimento della Code School è suddiviso in percorsi di codifica e ogni percorso può essere superiore di 20 ore in una sola lingua.

Code School non è gratuito, ma il prezzo da pagare mensilmente coprirà tutto il loro materiale. È un investimento serio con risultati seri.

FreeCodeCamp vs. Codecademy

Pagina principale di FreeCodeCamp

Come suggerisce il nome, FreeCodeCamp è gratuito proprio come Codecademy. Proprio come Code School, avrai del materiale abbastanza approfondito da imparare.

FreeCodeCamp è incentrato sul procurarti un lavoro. Presentano oltre 40.000 laureati che trovano lavoro in aziende di alto profilo come Microsoft e Google. Offrono sette diverse certificazioni, ciascuna a circa 300 ore.

Dove vedrai la vera differenza è la preparazione al colloquio di programmazione. FreeCodeCamp offre migliaia di ore di sfide tutte incentrate sull'apprendimento della logica alla base della codifica. Le aziende vogliono sapere come risolvere i problemi e non memorizzare una lingua, quindi questo è un enorme vantaggio.

Codecademy non è poi così male

Ora guarda, c'è molto da apprezzare su Codecademy. Questo non ha lo scopo di scoraggiare i programmatori in erba, l'apprendimento è sempre l'obiettivo. Codecademy ha introdotto migliaia ai fondamenti dell'informatica. Ma c'è anche un notevole margine di miglioramento.

Esistono alternative all'apprendimento del codice. Per i programmatori web che desiderano crescere, puoi imparare JavaScript con questi corsi Udemy . Se hai bisogno di ispirazione per le idee del mondo reale, dai un'occhiata ad alcuni fantastici progetti per principianti per i nuovi programmatori .

Leggi l'articolo completo: Perché non dovresti imparare a programmare con Codecademy