Dal titolo, probabilmente penserai che ho qualche carne in scatola con Codecademy. Io non.
In molti modi, li ammiro. Dal 2011, hanno introdotto innumerevoli milioni nel nobile mestiere dello sviluppo di software Codecademy - Il modo più semplice per codecademy Code - Hands Down Il modo più semplice per codificare Codecademy è un nuovo tutorial di programmazione interattiva di siti web che ti guida attraverso le basi di JavaScript. Anche se non è mai stato molto lungo, il sito ha già suscitato molto entusiasmo in ... Read More, e ha lanciato le carriere di migliaia di sviluppatori. Quel numero sembra destinato a salire con il rilascio del loro primo corso Java. Ma allo stesso tempo, il loro prodotto - e per essere più precisi, i loro metodi di insegnamento - lascia molto a desiderare, e lascia migliaia di persone frustrate, e insicuro su dove progredire con le loro capacità di sviluppo formativo.
Quindi, cosa c'è di così terribilmente sbagliato in Codecademy?
E come puoi, in qualità di programmatore esperto, aggirare questi difetti per raggiungere il tuo potenziale di programmazione?
Problema uno: non insegna la mentalità
Essere un programmatore è molto più che essere in grado di rigurgitare la sintassi. Si tratta di avere una mentalità particolare, in cui è possibile suddividere sistematicamente un problema in passaggi individuali e logici, e quindi ricrearlo in una lingua compresa dal computer.
Devi essere in grado di esaminare un problema su larga scala e capire come ogni passo che fai influisce sul resto del programma. Inoltre, devi essere in grado di tollerare un alto livello di frustrazione e essere in grado di perseverare quando colpisci un muro di mattoni mentali 5 modi per battere il blocco del programmatore in questo momento 5 modi per battere il blocco del programmatore in questo momento Ogni programmatore incontra una serie di negativi emozioni nel corso del loro viaggio, e se lasciate non controllate, queste emozioni possono avere un profondo impatto sul progresso - anche causando alcuni a rinunciare del tutto. Leggi di più . Devi essere in grado di essere in grado di ricercare bug e messaggi di errore e comunicare il tuo problema agli altri. In poche parole, devi essere in grado di pensare come un programmatore.
Codecademy non ti insegna a pensare come un programmatore.
Piuttosto, ti insegna le basi di un certo numero di linguaggi di programmazione, senza alcuna vera istruzione su come applicarli ai problemi della vita reale.
Quindi, come puoi ottenere quell'esperienza inestimabile?
Personalmente, sono un grande fan di Project Euler e del Reddit's Daily Programmer SubReddit, che offre abbastanza rompicapo di programmazione per far affondare i denti di chiunque. Sono un grande fan di quest'ultimo, perché sei incoraggiato a condividere il tuo codice per ricevere feedback dagli altri membri della community.
Il Daily Programmer subreddit, come suggerisce il nome, viene fornito con puzzle giornalieri per tutti i livelli di abilità, dai principianti assoluti ai fanatici del codice induriti.
Problema due: batterà e ti mancherà
Una delle mie più grandi frustrazioni con l'approccio all'insegnamento di Codecademy è che sembra così incredibilmente transitoria. Impari qualcosa, poi completi una sfida e non riesci ancora a rivisitare quell'argomento. Blink, e ti mancherà.
È diverso dall'approccio adottato da Duolingo. Impara una lingua e traduci per pratica con Duolingo (ora aperto a tutti!) Impara una lingua e traduci per pratica con Duolingo (ora aperto a tutti!) Internet ci ha fornito alcuni fantastici strumenti per l'apprendimento delle lingue e Duolingo è l'ultimo sito a provarlo. È appena uscito da closed beta ed è ora disponibile per tutti ... Leggi di più, ad esempio, dove devi rivedere e rinforzare regolarmente ciò che hai appreso per progredire.
Quindi, se vuoi cementare i tuoi progressi, dovrai fare qualche pratica deliberata al di fuori di Codecademy. Uno dei modi migliori per farlo è semplicemente scrivere codice. Molti programmatori - e io includo me stesso in quel quadro - anche imprecano per una notazione deliberata e una revisione regolare con le flashcard.
Le schede flash di carta sono economiche ed efficaci. In effetti, puoi acquistare 1.000 su Amazon per meno di tredici dollari.
Cartelle Oxford Blank, 3 "x 5", bianche, 1.000 carte (10 confezioni da 100) (30) Cartelle Oxford Blank, 3 "x 5", bianche, 1.000 carte (10 confezioni da 100) (30) Acquista ora A Amazon $ 11, 99
Per quelli con inclinazione digitale, c'è anche un numero di app che puoi usare. Sono un grande fan di Anki, semplicemente per la sua personalizzazione. Vanta migliaia di flashcard create dalla comunità ed è estensibile tramite la sua API (application programming interface) potente e ben documentata.
Per gli utenti mobili, ci sono anche molte applicazioni flashcard per Android 6 App Flash Card per Android, a confronto: qual è il migliore? 6 app per flash card per Android, a confronto: qual è il migliore? Le Flashcard sono uno strumento incredibilmente utile per studiare, ma non sempre sono comode da fare e da portare in giro; Ecco dove arriva lo smartphone. Per saperne di più, e per l'iPhone Ace Your Next Exam Uso di App per iPhone o iPad di Flashcard Ace Your Next Exam Utilizzo di App Flashcard per iPhone o iPad Se vuoi iniziare gli esami di scuola, probabilmente stai andando voler iniziare a usare le flashcard. Leggi di più . Puoi anche utilizzare Google Fogli Come creare Flashcard digitali con i fogli di lavoro di Google Documenti Come creare flashcard digitali con i fogli di lavoro di Google Documenti Leggi di più per renderli!
Attualmente sto usando CodeCode.Ninja - che, la divulgazione completa, è stata costruita dal mio amico ed ex scrittore MakeUseOf Erez Zukerman. Questo servizio in abbonamento è stato creato pensando ai programmatori e puoi creare una base di conoscenze vivente basata su schede flash di tutto ciò che devi sapere.
Quello che mi piace dell'approccio adottato da CodeCode.Ninja è che per progredire nel tuo mazzo, sei costretto a digitare deliberatamente la risposta per ogni carta. Questo, ho trovato, aiuta a costruire la tua memoria muscolare.
Problema 3: la sintassi non è la programmazione
Ancora una volta, Codecademy ti insegnerà la sintassi di un linguaggio di programmazione, ma per la maggior parte non ti dirà come applicarlo. Ecco perché vedi spesso domande come questa, che è stata pubblicata su subredddit LearnProgramming di cui sopra.
Il JavaScript introduttivo Che cos'è JavaScript, e Internet esiste senza di esso? Che cos'è JavaScript e Internet può esistere senza di esso? JavaScript è una di quelle che molti danno per scontato. Tutti lo usano. Per saperne di più, il corso non ti insegna come incorporare uno script in una pagina Web per aggiungere interattività a un HTML statico altrimenti piatto. Il corso Java non ti insegna come compilare il tuo codice per eseguirlo. Ehi, non ti dice nemmeno che Java è un linguaggio compilato, o la differenza tra un linguaggio compilato e un linguaggio interpretato.
Ci sono altre cose che sono sfiorate. Codecademy non ti insegna come scrivere codice pulito di Arduino e Raspberry Pi Beginner? Ecco come scrivere codice pulito Arduino e Raspberry Pi principiante? Ecco come scrivere codice pulito Leggi di più e stilizzato per essere leggibile e facile da capire. Non ti insegna come scrivere codice che si auto-documenta. Non ti insegna la gestione dei pacchetti e come utilizzare il codice di altre persone nel tuo codice.
Questo è qualcosa che puoi solo superare lasciando i porti sicuri di Codecademy alla prima opportunità possibile. Scrivendo codice e imparando da solo.
Problema quattro: troppa torta, non abbastanza verdure
La ragione per cui Codecademy ha successo è perché richiede la codifica e la trasforma in pezzi di piccole dimensioni che sono facili da realizzare e che offrono un feedback istantaneo. È la caramella della codifica.
Il problema è che imparare ad essere uno sviluppatore spesso significa che devi imparare cose importanti, ma dall'offset non sono terribilmente eccitanti o, peraltro, facili. Non si impara sulla teoria della programmazione. Le cose che Donald Knuth ha speso migliaia di pagine - e la parte migliore di vent'anni - scrivendo in The Art of Computer Programming.
The Art of Computer Programming, Volumes 1-4A Boxed Set The Art of Computer Programming, Volume 1-4A Boxed Set Acquista ora su Amazon $ 190, 54
Codecademy essenzialmente ti protegge dalla parte appiccicosa e complicata della programmazione. Non c'è modo di aggirare questo, se non per essere disciplinati e fare le tue ricerche. Se non sai cosa dovresti guardare, prova a chiedere ad altri sviluppatori affermati di aiutarti.
Codecademy non è così male
C'è molto da apprezzare su Codecademy. Hanno introdotto migliaia di elementi fondamentali dell'informatica. Ma c'è anche molto spazio per migliorare.
Hai usato Codecademy? Ti ha ferito o ti ha ostacolato? Parlamene nei commenti qui sotto.