Hvorfor du ikke bør lære å kode med Codeacademy
Fra tittelen tror du sannsynligvis at jeg har noe stort biff med Codecademy. Jeg gjør ikke.
På mange måter beundrer jeg dem. Siden 2011 har de introdusert utallige millioner til den edle håndverket av programvareutvikling, og har lansert karrierer fra tusenvis av utviklere. Det nummeret ser ut til å sveve med utgivelsen av deres første Java-kurs. Men samtidig, deres produkt - og å være mer presis, deres undervisningsmetoder - la mye å være ønsket, og forlater tusenvis frustrert og usikker på hvor de skal utvikle seg med deres formative utviklingsferdigheter.
Så, hva er så veldig galt med Codecademy?
Og hvordan kan du som en journeymaner kringgå disse feilene for å nå ditt programmeringspotensial?
Problem ett: Det lærer ikke tankegangen
Å være programmerer er mer enn bare å kunne regurgitate syntaxen. Det handler om å ha et bestemt tenkemåte, hvor du kan systematisk bryte et problem inn i individuelle og logiske trinn, og deretter gjenskape det på et språk som datamaskinen forstår.
Du må kunne se på et problem i stor skala, og forstå hvordan hvert trinn du tar påvirker resten av programmet. Videre må du være i stand til å tolerere et høyt nivå av frustrasjon og være i stand til å fortsette når du treffer en mental murvegg. 5 måter å slå programmørens blokk akkurat nå. 5 måter å slå programmeringsblokken akkurat nå. Hver programmerer møter en rekke negative følelser i løpet av deres reise, og hvis de ikke er merket, kan disse følelsene ha en dyp innflytelse på fremgang - selv om noen gir opp helt. Les mer . Du må være i stand til å kunne undersøke feil og feilmeldinger, og kommunisere ditt problem til andre. Enkelt sagt, du må kunne tenke som en koder.
Codecademy lærer deg ikke å tenke som en koder.
I stedet lærer det deg grunnleggende om en rekke programmeringsspråk, uten noen reell instruksjon om hvordan du vil bruke dem til virkelige problemer.
Så, hvordan kan du få den uvurderlige opplevelsen?
Personlig er jeg en stor fan av Project Euler og Reddit's Daily Programmer SubReddit, som har nok tankebøyende programmeringsoppgaver for å synke tennene til. Jeg er en stor fan av sistnevnte, fordi du oppfordres til å dele koden din for å motta tilbakemelding fra andre medlemmer av samfunnet.
Den daglige programmøren subreddit, som navnet antyder, kommer med daglige puslespill for alle ferdighetsnivåer, fra absolutte nybegynnere til herdede kodejockeyer.
Problem to: Blink og du vil savne det
En av mine største frustrasjoner med Codecademys tilnærming til undervisning er at det føles så utrolig forbigående. Du lærer noe, så fullfører du en utfordring, og du besøker knappest det emnet igjen. Blink, og du kommer til å savne det.
Det er ulikt tilnærmingen tatt Lær et språk og oversett for praksis med Duolingo (nå åpen for alle!) Lær et språk og oversett for praksis med Duolingo (nå åpen for alle!) Internett har gitt oss noen fantastiske verktøy for språkopplæring, og Duolingo er det siste nettstedet for å gi det en tur. Det er bare kommet ut av lukket beta og er nå tilgjengelig for alle ... Les mer av Duolingo Lær et språk og oversett for praksis med Duolingo (nå åpen for alle!) Lær et språk og oversett for praksis med Duolingo (nå åpen for alle!) Internett har gitt oss noen fantastiske verktøy for språkopplæring, og Duolingo er det siste nettstedet for å gi det et forsprang. Det er bare kommet ut av lukket beta og er nå tilgjengelig for alle ... Les mer, for eksempel, hvor du må regelmessig revidere og forsterke det du har lært for å utvikle seg.
Så, hvis du vil semente fremdriften din, må du gjøre noe bevisst praksis utenfor Codecademy. En av de beste måtene å gjøre det på er å bare skrive kode. Mange programmerere - og jeg inkluderer meg selv i det cadre - også sverger ved bevisst notataking og regelmessig revisjon med flashcards.
Papir flash-kort er billige og effektive. Faktisk kan du kjøpe 1000 på Amazon for mindre enn tretten dollar.
Oxford Blank Index Cards, 3 "x 5", Hvit, 1000 kort (10 pakker med 100) (30) Oxford Blank Index Cards, 3 "x 5", Hvite, 1000 kort (10 pakker med 100) (30) Kjøp nå hos Amazon $ 11.99
For de digitalt tilbøyelige, er det også en rekke apper du kan bruke. Jeg er en stor fan av Anki, bare på grunn av hvordan tilpassbar det er. Den kan skryte av tusenvis av community-built flashcards, og er utvidbart gjennom sin kraftige og veldokumenterte applikasjonsprogrammeringsgrensesnitt (API).
For mobile brukere er det også mange flashcard-applikasjoner for Android 6 Flash Card Apps for Android, sammenlignet: som er det beste? 6 Flash Card Apps for Android, Sammenlignet: Hvilket er det beste? Flash-kort er et utrolig nyttig verktøy for å studere, men de er ikke alltid praktiske å lage og bære rundt; det er her smarttelefonen kommer inn. Les mer, og for iPhone-essen din neste eksamen ved hjelp av Flashcard Apps for iPhone eller iPad Ace din neste eksamen ved hjelp av Flashcard Apps for iPhone eller iPad Hvis du vil begynne å få eksamen i skolen, går du sannsynligvis å ønske å begynne å bruke flashcards. Les mer . Du kan også bruke Google Sheets til å lage dem!
Jeg bruker for tiden CodeCode.Ninja - som, fullstendig avsløring, ble bygd av min venn og tidligere MakeUseOf-forfatter Erez Zukerman. Denne abonnementstjenesten er bygget med programmerere i tankene, og du kan bygge en levende, flash-kort basert kunnskapsbase av alt du trenger å vite.
Det jeg liker om tilnærmingen tatt av CodeCode.Ninja, er at du skal utvikle deg gjennom dekkene dine, du er nødt til å bevisst skrive ut svaret på hvert kort. Dette, jeg har funnet, bidrar til å bygge opp muskelminnet ditt.
Problem tre: Syntaks er ikke programmering
Igjen vil Codecademy lære deg syntaxen til et programmeringsspråk, men for det meste vil det ikke fortelle deg hvordan du bruker det. Derfor ser du ofte spørsmål som dette, som ble lagt ut på ovennevnte LearnProgramming subredddit.
Den innledende JavaScript Hva er JavaScript, og kan Internett eksistere uten det? Hva er JavaScript, og kan Internett eksistere uten det? JavaScript er en av de tingene mange tar for gitt. Alle bruker det. Les mer kurset lærer deg ikke hvordan du legger inn et skript i en nettside for å legge til interaktivitet til ellers flat, statisk HTML. Java-kurset lærer deg ikke hvordan du skal kompilere koden din for å kunne kjøre den. Hei, det forteller deg ikke engang at Java er et kompilert språk, eller forskjellen mellom et kompilert språk og et tolket språk.
Det er andre ting som er skummet over. Codecademy lærer deg ikke hvordan du skriver kode som er ren Arduino og Raspberry Pi Beginner? Slik skriver du Clean Code Arduino og Raspberry Pi Beginner? Slik skriver du ren kode Les mer, og stiliser for å være lesbar og lett å forstå. Det lærer deg ikke hvordan du skriver kode som er selvdokumenterende. Den lærer deg ikke om pakkehåndtering, og hvordan du bruker andres kode i din egen kode.
Dette er noe du bare kan overvinne ved å forlate de trygge havnene ved Codecademy ved første mulige mulighet. Ved å skrive kode, og lære på egen damp.
Problem fire: For mye kake, ikke nok grønnsaker
Årsaken til at Codecademy er vellykket, er at den tar koding, og forvandler den til vanedannende bitstørrelser som er enkle å oppnå, og gir øyeblikkelig tilbakemelding. Det er candy av koding.
Problemet er at å lære å være en utvikler betyr ofte at du må lære om ting som er viktige, men fra offset er det ikke veldig spennende, eller for den saks skyld, enkelt. Du lærer ikke om teorien om programmering. Ting som Donald Knuth brukte tusenvis av sider - og den beste delen av to tiår - skrev om i The Art of Computer Programming.
Art of Computer Programming, Volum 1-4A Boxed Set Art of Computer Programmering, Volum 1-4A Boxed Set Kjøp nå På Amazon $ 179.99
Codecademy skjermer deg i hovedsak fra den klissete, kompliserte delen av programmeringen. Det er ingen vei rundt dette, annet enn å være disiplinert, og gjøre egen forskning. Hvis du ikke vet hva du bør se på, bør du vurdere å spørre flere etablerte utviklere for veiledning.
Codecademy er ikke så ille
Det er mye å like om Codecademy. De har introdusert tusenvis til grunnleggende innen datavitenskap. Men det er også mye rom for forbedring.
For en annen metode for læring, ta en titt på de beste kursene på Coursera verdt å betale for de 10 beste gratis Coursera kursene du vil betale for de 10 beste gratis kursene i Coursera du vil betale for Du kan lære noe på nettet med Coursera . Disse 10 gratis kursene er så gode at du vil betale for å få et sertifikat også. Les mer .
Har du brukt Codecademy? Gjorde det vondt eller hindret deg? Fortell meg om det i kommentarene nedenfor.
Utforsk mer om: Utdanningsteknologi, programmering.