interessant

De bedste måder at lære dig selv at kode på

Foto: Christopher Gower (Unsplash)

Hvis du vil lære at kode, kan det at virke som en skræmmende, hvis ikke skræmmende opgave at tage dine første skridt ind i dette enorme univers, tage. Her er den store hemmelighed: Der er masser af gratis (og billige) ressourcer, du kan bruge til at give dig selv al den hjælp, du har brug for, lære dig selv nye teknikker og gøre denne læringsproces sjov og spændende - så spændende som kodning kan få, i det mindste .

Uanset om du er voksen, der ønsker at skifte til tech-branchen, en studerende, der ønsker at lære det nyeste sprog, eller en hobby, der bare vil forstå, hvordan software og tjenester fungerer, alt hvad du har brug for er en computer og internetadgang for at starte din programmering rejse. Men inden du tager et flyvende spring ind, her er vores bedste tip og ressourcer til at modregne dig på højre fod.

Spørg dig selv: Hvorfor vil du lære at kode?

Brug et par minutter (eller en dag) til at tænke over årsagerne - grundene - hvorfor du vil lære et programmeringssprog. Vær ærlig over for dig selv. Forsøger du at lære det bareste minimum for at score en kampagne? Leder du efter en stor karriereændring? Vil du oprette den næste største app? Spænd dine værelseskammerater ved at programmere dine forskellige smarte enheder til at gøre noget fantastisk?

Dit svar kan hjælpe med at bestemme, hvilket / hvilke programmeringssprog du skal beherske, samt hvilken slags engagement (i tid og penge) dit mål kan kræve. For eksempel, hvis din drøm er at oprette det næste store operativsystem eller et dræberalternativ til PhotoShop, ville du drage fordel af en formel computervidenskabelig uddannelse, der lærer dig C ++, såvel som mere komplekse emner som datastruktur, algoritmer og hukommelsestildeling.

På den anden side, hvis du er en professionel i midten af ​​karrieren, der ønsker at skifte til en teknisk karriere, kan en kortvarig kodning af bootcamp muligvis være mere fornuftig end at gå i gæld til en anden grad. Hvis alt hvad du vil gøre er at opbygge websteder eller skubbe din Raspberry Pi til dets grænser, kan en kombination af interaktive tutorials og gratis onlinekurser være nok til at få dig i gang.

Vælg det rigtige programmeringssprog

Når du har fundet ud af, hvorfor du vil kode, kan du lettere finde ud af, hvilket programmeringssprog du skal tackle. Selvom der ikke er et enkelt "bedste" programmeringssprog at lære, er nogle sprog mere brugervenlige end andre. HTML og CSS betragtes som de nemmeste indgangspunkter i kodningsverdenen, men de er kun virkelig nyttige til udvikling af basale websteder.

For flere interaktive websteder, der involverer betalingssystemer eller databaser, skal du kende Javascript, PHP, SQL og Python for at få alle komponenterne til at synge. Mobilappproducenter bruger Swift eller C til at fremstille iOS-apps og Java eller Kotlin til Android-apps. Videospiludviklere vil henvende sig til Unity, eller endda C #, for at bringe deres spilideer til live.

Kan du stadig ikke beslutte, om dit startprogrammeringssprog er? De fleste fagfolk anbefaler at lære Python, C # eller JavaScript, da de tilbyder den bredeste nytte- og karrierefleksibilitet. For at hjælpe dig med at sammensætte dig, tjek denne fantastiske infographic, der sammenligner et par populære programmeringssprog.

Først og fremmest skal du bare begynde at lære. Når du bliver fortrolig med et programmeringssprog, kan du hente det næste så meget hurtigere - som at lære et nyt musikinstrument eller et fremmedsprog.

Prøv nogle onlinekurser

Hvis du ønsker mere kontrol over din indlæringsplan (eller ikke ønsker at gå alene), kan et online kodningskursus muligvis være en bedre mulighed end en personlig kodning af bootcamp. Der er dog mange forskellige onlinekurser, der underviser i de samme programmeringssprog, og det kan være svært at finde ud af, hvilken der virkelig er værd at bruge din tid og penge.

Hvis du ikke har noget imod at øve solo, så tjek Odin-projektet, en gratis mulighed, der samler noget af det bedste open source-indhold til at omdanne en kodende newbie til en programmør.

Vil du have mere en-til-en coaching og karriereforberedelse uden at lave en bootcamp på fuld tid? Prøv at tilmelde dig certificeringskurser for abonnementsmodel fra Udacity eller Treehouse, hvor du har mulighed for at bede en tutor om hjælp i stedet for at lide dine kodningsfejl eller spørgsmål alene. Du kan ikke gøre meget bedre end de $ 19-kodningskurser fra Udemy (endnu mindre, når der er et salg) - selv fuldtidsstudier af bootcamp og datalogi tilmelder sig disse klasser for at supplere deres læring.

Uanset hvor mange kurser du gennemfører, har mange begyndere stadig svært ved at anvende deres relativt basale viden. Med henblik herpå anbefaler mange det gratis praktiske JavaScript-kursus fra Watch and Code, som drejer sig om et enkelt projekt, som du konstant gentager.

Fokus på at lære computingtænkning

I stedet for at fokusere på at lære et specifikt programmeringssprog, kan du også lære det på en måde, som en computer forstår. Med andre ord, forbedre dine evner til begreber som mønstergenkendelse, algoritmer og abstraktioner. Der er også lingo, ligesom løkker, som bundet til at dukke op på ethvert sprog, du bruger. Jo bedre du forstår disse principper, desto lettere vil det være at lære det næste sprog (og designe bedre produkter eller projekter som et resultat).

Takket være internettet behøver du ikke at tilmelde dig et fire-årigt college-program for at lære de grundlæggende elementer i datalogi; et antal klasser på college-niveau er gratis tilgængelige online (eller et nominelt gebyr).

Jeg kan ikke anbefale Harvards CS50x-introduktion til datalogi nok. Du kan revidere kurset gratis via edX og optjene et certifikat ved at udfylde alle opgaver, eller du kan gå i dit eget tempo og se alle foredrag, der er lagt ud på Youtube. Du kan opbygge dit eget DIY-videnskabsprogram på college-niveau med dette valg af femten online-kurser (hvoraf mange også er opført i vores Goldavelez.com U-serie).

Få en bog

Den bedste måde at lære at kode på kan involvere dig i at komme tæt på og personlig med nogle døde træer - en rigtig bog, som du kan følge med fra begyndelse til slutning. I en perfekt verden giver dette dig en mere omfattende introduktion til kodning end at springe rundt fra emne til emne på et websted.

Du kan sandsynligvis finde en e-bog til ethvert sprog eller ramme, du prøver at lære på GitHub, men mange webudviklere sværger ved Jon Ducketts farverige serie om alt fra front- til back-end webudvikling.

Som en selvlært programmør kan du muligvis også drage fordel af bøger, der tilbyder bredere rådgivning om erhvervet. Du forbedrer din tankegang og vaner, træk, du kan anvende på ethvert sprog, du beslutter at lære. Steve McConnells 900-siders kode komplet: En praktisk håndbog om softwarekonstruktion (2. udgave) betragtes som den definitive guide til bedste praksis med data-støttet rådgivning om alt fra projektdesign til fejlfindingskode.

En følge af denne behemoth er Clean Code: A Handbook of Agile Software Craftsmanship af “Onkel Bob” Robert Martin. Martin mener, at kode skal skrives effektivt for nem test og skalerbarhed, hvilket gør dette til en must-read for mange moderne dev-teams.

Da programmering virkelig handler om problemløsning, vil du sætte pris på tankeprocessen og ”bagsiden af ​​konvolutten” -løsninger, som Jon Bentley deler i Programming Pearls (2. udgave). Hvert kapitel slutter med et antal udfordringer, der ofte bruges i tekniske jobsamtaler, så gør denne bog til en del af dit jobpreparat.

Tjek nogle interaktive tutorials eller kodning spil

Lad os indse det: læsning af kodelinjer på en skærm eller i en bog kan ligne gibberish. Når du ser et eksempel i handling, giver det abstrakte koncept pludselig perfekt mening. Det er skønheden i interaktive kodningsvejledninger, du kan finde på nettet.

For eksempel opdeler FreeCodeCamp ikke kun kodningskoncepter i små bidder i din webbrowser, det parrer også hvert koncept med en relevant øvelse, som du skal løse, før du går videre til det næste emne. På denne måde kan du ikke bare springe videre til de sjove ting; webstedet tvinger dig virkelig til at debugge din kode, mens du lærer.

Kodningspil er også en sjov måde at få fødderne våde i programmering. Hvis du har en time at dræbe, kan du prøve de enkle Hour of Code-spil. Derudover bruger mange skoler allerede Minecraft: Uddannelsesudgave til at lære børn programmering af grundlæggende med kodningsblokke og endda JavaScript. (Du kan downloade denne version af Minecraft gratis, hvis du har en Office 365 Education-konto.)

Vil du have en mere kompleks tutorial til spiludvikling, som du kan lægge på dit CV? CodinGame kan være mere aldersmæssig passende, hvis du ikke har lyst til at stanse blokke hele dagen lang.

Prøv et børns legetøj

Hvem siger, at voksne ikke kan lære af det samme STEAM / STEM-legetøj og videospil, der får børn til at blive kodet? Når alt kommer til alt er disse produkter designet til at lære kodningslogik og syntaks uden at kede let distraherede børn, så selv voksne kodere kan muligvis finde dem sjove og lærerige.

Hvis du bedre vil forstå forholdet mellem hardware og software, ville du nyde Piper Computer Kit 2, som har dig til at bygge en Raspberry Pi-drevet computer. Ved hjælp af denne DIY-bærbare computer kan du lære at kode gennem dens tilpassede Minecraft Story Mode-udfordringer, bruge drag-and-drop Blockly-sproget til at lære fysisk computing eller bare hente nogle grundlæggende Python fra de forudinstallerede lektioner.

Selvom du sandsynligvis ikke vil være i stand til at oprette din egen BB-8 droid fra, kan du lære at kode en med Sphero's BOLT. Ved hjælp af ledsager-appen kan du styre din droid-kugle ved hjælp af træk-og-slip-kodningsblokke kaldet Scratch eller niveau op til JavaScript for at programmere mere avancerede træk.

Lær dine yndlingsenheder (og assistenter) nye tricks

Har du en smarthome-enhed som Amazon Echo? Du kan sætte dine kodningsfærdigheder på prøve ved at oprette tilpassede mini-programmer for at få mere funktionalitet ud af dine enheds digitale assistenter. Amazons Alexa kender muligvis allerede mange basale "færdigheder" til stemmekommando, som at læse de seneste nyhedsoverskrifter, men du kan lære hende mere komplicerede opgaver ved at kode i Node.js, Java, Python, C # eller Go. (Eller, hvis du vil starte med noget lettere, kan du prøve det enklere Alexa-færdighedsblokrintsite.)

Det er muligt, at din interesse for kodning er mere begrænset - du ønsker måske bare at lære nok Python til at få din Raspberry Pi til at gøre fede projekter, f.eks. I så fald kan du anvende en DIY-tilgang til læring ved at tjekke de mange projekter, andre deler på sin hjemmeside.

Ved at genskabe eksisterende projekter, lærer du mere om den indre funktion af din meget tilpassede enhed. Du kan endda finde dig selv inspireret til at oprette nye måder at bruge din mini-computer og dykke længere ind i kodenes verden. (Du kan endda tilmelde dig UC Irvines The Raspberry Pi-platform og Python-programmering til Raspberry Pi-platformen gennem Coursera, hvis du vil have lidt hjælp til at komme i gang.)

Se videoer om kodning

Nogle gange er det bare lettere at se nogen vise dig, hvordan det gøres. Du kan finde alle mulige uddannelsesvideoer om næsten ethvert kodningsrelateret emne i dag: ex-Googlers, der deler løsninger på kodningsinterviews, YouTubers, der leverer deres kodningsmaraton, og endda programmerer veteraner, der viser dig, hvordan du løser en bestemt fejl på ethvert sprog, du ønsker.

Jeg anbefaler at tjekke CS Dojo, TheNetNinja og Harvards CS50 YouTube-kanal. Hvis du ikke har tid til at søge efter en perfekt kodningsvideo eller -kanal, kan du også tjekke LinkedIn Learnings enorme videobibliotek for gennemprøvede og professionelle uddannelser. Mens tjenestens abonnementsgebyr på $ 30 pr. Måned ikke er noget at nyde på, kan du se en ubegrænset mængde indhold og emner - hvilket gør LinkedIn Learning til en bedre aftale end andre on-demand online klasser, der har irriterende begrænsninger.

Øv dig med personlige projekter

Uanset hvor mange certifikater og kodningsworkshops du afslutter, eller hvor mange programmeringssprog du lærer, vil beviset for dine kodningsfærdigheder være i dit programmeringsprojekt. Selvom dit personlige projekt ikke behøver at være så ambitiøst som at oprette de næste Google Maps, skal det være noget, du gerne vil arbejde på 24/7 for konstant at forbedre og udvide dets rækkevidde.

Begynd i det små, men tænk stort. Dit projekt skal involvere de færdigheder, du i øjeblikket har i din værktøjskasse, men du skal også have en plan for fremtidige funktioner og færdigheder, som du har brug for for at gøre denne vision til virkelighed. Uden at anvende dine kodningsfærdigheder i et par projekter, ville du ikke engang blive overvejet til professionelle kodningsprogrammer - så start planlægning og øvelse. (Vores råd? Brug dine kodningskoteletter til at oprette en fantastisk opsætning til spilaften.)

Fejr små sejre

Kodning er alt i detaljerne, og derfor er du nødt til at "fejre små sejre", som en af ​​vores programmeringsprofessorer udtrykte det. Det tager praksis at få hvert element til at fungere på egen hånd, såvel som konstant test for at sikre, at hver kodelinje fungerer sammen med resten - uden fejl. Hvis du ikke gør tilsyneladende mindre ting rigtigt som at lukke et HTML-tag, vil du sidde fast og fejlsøge en simpel syntaksfejl i stedet for at skrive en mere imponerende og kompleks kode.

Du skal være tålmodig med dig selv; Forvent ikke at kode det næste efter blot et par måneders undersøgelse eller et par bootcamps. Kodning af en fejlfri bryllups-RSVP-form på et websted, eller oprettelse af et simpelt, men endnu ikke korrekt antal, forudsigelsespil, er allerede en betydelig præstation for en begyndende. Hvis du sidder fast, skal du ikke give op. Du skal absolut søge hjælp overalt, hvor du kan finde den, men også vide, hvornår du skal tage en pause for at undgå udbrændthed. Og prøv så, prøv igen.

Google dine fejlmeddelelser

Dette er vores bedste stykke kodningsråd: Hvis du ikke kan finde ud af, hvorfor din kode er brudt, kan du altid lede efter løsninger online. Du er sandsynligvis ikke den første person, der begår din fejl, når alt kommer til alt, og nogen på internettet har helt sikkert allerede fundet en løsning på dit problem. Bare "kopier og indsæt" din fejlmeddelelse i Google (eller din foretrukne søgemaskine), tilføj et par anførselstegn rundt om hele sætningen, så du ikke bare søger efter nøgleord, og tryk derefter på "Enter". Forhåbentlig, denne lille trick vil føre dig til det rigtige svar.

Hvis du stadig har problemer, kan du altid sende dit spørgsmål på udviklernes fora som Stack Overflow, Reddit's programmering subreddit eller GitHub. Det gør aldrig ondt at ringe til en ven - eller en fremmed internet.

Hack en andres kode

Når du omvendt konstruerer en andens kode og tester hver linje for at se, hvordan den fungerer, får du en bedre forståelse af det store billede. Takket være de mange tonsvis af open source-kode, der er derude, kan du lære næsten alt ved at undersøge en andens (fejlfri) arbejde. Husk bare at dele din kode tilbage med samfundet, hvis inspiration rammer, og du forbedrer en del af det program, du fik fiklet med.

Få en mentor (eller lær en anden)

Programmeringsfællesskabet er fuld af mennesker, der er villige til at hjælpe den næste generation af programmerere. GitHub, online hangout for udviklere, der bruger Git til at administrere deres kodningsprojekter, er designet til online-samarbejde. Udviklere er ikke kun vært for og deler deres projekter med deres jævnaldrende, de leverer også kode-feedback og generel rådgivning til samfundet.

Du kan muligvis finde nogle nyttige online mentorer gennem GitHub eller møde andre veteranudviklere ved en lokal kodning af Meetup-begivenhed eller hackathon. Når du har fået nogle erfaringer med programmering, kan du muligvis svare på andre folks spørgsmål eller endda lære hvad du har lært nybegynder - en god test for at se, om du virkelig kender dine ting.

Deltag i en kodende bootcamp

Kodning af bootcamps kan være kontroversielt: De giver dig en hurtig introduktion og oplevelse af masser af færdigheder, men de er muligvis ikke din gyldne billet til et splinternyt Google-job.

Hvis du vil gå pro og blive en fuldtidsudvikler, kan en intensiv og personlig kodning af bootcamp muligvis hjælpe dig, især hvis du lærer bedst i et struktureret miljø med rigtige mennesker til at motivere dig. Imidlertid er disse typer bootcamps ofte de dyreste og tidskrævende at deltage: Du ser på op til $ 15.000 til bare undervisningen plus leveomkostninger i et par måneder, indtil du studerer.

Heldigvis tilbyder institutioner som Flatiron School og The Grace Hopper-programmet stipendier eller udsat undervisning for at gøre disse bootcamps mere overkommelige for underrepræsenterede grupper som minoriteter og kvinder inden for tech. Tjek kursusrapporten for en omfattende oversigt over de mange online og personlige bootcamps - inklusive detaljerede anmeldelser fra deres alums, som kan hjælpe dig med at beslutte, om en bootcamp vil hjælpe dig med at nå dine programmeringsdrømme.