zaujímavý

Najlepšie spôsoby, ako sa naučiť kódovať

Foto: Christopher Gower (Unsplash)

Ak sa chcete naučiť kódovať, vaše prvé kroky do tohto obrovského vesmíru by sa mohli javiť ako skľučujúca, ak nie zastrašujúca úloha. Tu je veľké tajomstvo: Existuje veľa bezplatných (a lacných) zdrojov, ktoré môžete použiť na poskytnutie všetkej pomoci, ktorú potrebujete, naučiť sa nové techniky a urobiť tento vzdelávací proces zábavným a vzrušujúcim - prinajmenšom tak vzrušujúcim, ako sa kódovanie môže dosiahnuť, prinajmenšom,

Či už ste dospelí, ktorí sa snažia prejsť na technický priemysel, študent, ktorý sa chce naučiť najnovší jazyk, alebo nadšenec, ktorý chce iba porozumieť tomu, ako softvér a služby fungujú, všetko, čo potrebujete, je počítač a prístup na internet, aby ste mohli začať programovať. cesta. Ale predtým, ako sa vydáte na letný skok, tu sú naše najlepšie tipy a zdroje, ktoré vás odvedú na pravú nohu.

Opýtajte sa sami seba: Prečo sa chcete naučiť kódovať?

Venujte pár minút (alebo deň) premýšľaniu o dôvodoch - dôvodoch - prečo sa chcete naučiť programovací jazyk. Buďte k sebe úprimní. Snažíte sa naučiť najmenšie minimum na to, aby ste dostali hodnotenie? Hľadáte veľké zmeny v kariére? Chcete vytvoriť ďalšiu najväčšiu aplikáciu? Napínajte svojich spolubývajúcich naprogramovaním rôznych inteligentných zariadení tak, aby robili niečo úžasné?

Vaša odpoveď môže pomôcť určiť, ktorý programovací jazyk (y) by ste mali ovládať, ako aj aký druh záväzku (v čase a peniazoch) si môže váš cieľ vyžadovať. Napríklad, ak je vaším snom vytvoriť ďalší skvelý operačný systém alebo vražednú alternatívu k programu PhotoShop, mali by ste úžitok z formálneho vzdelávania v oblasti informatiky, ktoré vás naučí C ++, ako aj z komplexnejších tém, ako je štruktúra údajov, algoritmy a alokácia pamäte.

Na druhej strane, ak ste profesionál v strednej kariére, ktorý sa snaží prejsť na technickú kariéru, krátkodobý kódovací bootcamp by mohol mať väčší zmysel ako zadlžovanie na druhý stupeň. Ak všetko, čo chcete urobiť, je vytvoriť webové stránky alebo posunúť svoj Raspberry Pi na svoje hranice, postačí vám kombinácia interaktívnych návodov a bezplatných online kurzov.

Vyberte správny programovací jazyk

Akonáhle zistíte, prečo chcete kódovať, môžete ľahšie určiť, s ktorým programovacím jazykom by ste sa mali zaoberať. Aj keď neexistuje jediný „najlepší“ programovací jazyk, ktorý by sa mohol učiť, niektoré jazyky sú užívateľsky príjemnejšie ako iné. HTML a CSS sa považujú za najjednoduchšie vstupné body do sveta kódovania, sú však skutočne užitočné iba pri vývoji základných webových stránok.

Pre interaktívnejšie webové stránky, ktoré zahŕňajú platobné systémy alebo databázy, musíte poznať Javascript, PHP, SQL a Python, aby všetky komponenty spievali. Tvorcovia mobilných aplikácií používajú Swift alebo C na výrobu aplikácií pre iOS a Java alebo Kotlin pre aplikácie pre Android. Vývojári videohier sa obrátia na Unity alebo dokonca na C #, aby oživili svoje herné nápady.

Stále sa nemôžete rozhodnúť pre váš štartovací programovací jazyk? Väčšina odborníkov odporúča učiť sa Python, C # alebo JavaScript, pretože ponúkajú najširšiu flexibilitu nástrojov a kariéry. Ak chcete pomôcť pri rozhodovaní, vyskúšajte túto skvelú infographic, ktorá porovnáva niekoľko populárnych programovacích jazykov.

Predovšetkým začnite s učením. Akonáhle sa budete cítiť pohodlne s jedným programovacím jazykom, budete si môcť vybrať ten ďalší oveľa rýchlejšie - napríklad naučiť sa nový hudobný nástroj alebo cudzí jazyk.

Vyskúšajte niektoré online kurzy

Ak chcete väčšiu kontrolu nad svojím učebným plánom (alebo nechcete ísť sám za seba), online kódovací kurz môže byť lepšou voľbou ako osobný kódovací bootcamp. Existuje však veľa rôznych online tried, ktoré vyučujú rovnaké programovacie jazyky, a môže byť ťažké zistiť, ktorá z nich naozaj stojí za váš čas a peniaze.

Ak vám nevadí cvičiť sólo, vyskúšajte projekt Odin, bezplatná možnosť, ktorá spája najlepší obsah s otvoreným zdrojovým kódom na premenu kódujúceho nováčika na programátora.

Chcete viac individuálnych tréningov a kariérnych príprav bez toho, aby ste museli robiť bootcamp na plný úväzok? Skúste sa prihlásiť na predplatné certifikačných kurzov od spoločnosti Udacity alebo Treehouse, kde máte možnosť požiadať učiteľa o pomoc namiesto toho, aby ste sami utrpeli chyby pri kódovaní alebo otázky. Nemôžete robiť oveľa lepšie ako 19 USD kurzy kódovania od Udemy (ešte menej, keď dôjde k predaju) - každý študent denného bootcampu a počítačovej vedy sa prihlási na tieto triedy, aby doplnil svoje učenie.

Bez ohľadu na to, koľko kurzov absolvujete, mnohým začiatočníkom je stále ťažké uplatniť svoje relatívne základné znalosti. Na tento účel mnohí odporúčajú bezplatný kurz praktického skriptu JavaScript od Watch and Code, ktorý sa točí okolo jedného projektu, ktorý neustále opakujete.

Zamerajte sa na učenie výpočtového myslenia

Namiesto toho, aby ste sa sústredili na výučbu konkrétneho programovacieho jazyka, môžete sa naučiť aj spôsobom, ktorému počítač porozumie. Inými slovami, vylepšite svoje zručnosti v pojmoch ako rozpoznávanie vzorov, algoritmy a abstrakcie. Sú tu tiež žargóny, napríklad slučky, ktoré sa musia objaviť v akomkoľvek jazyku, ktorý používate. Čím lepšie pochopíte tieto princípy, tým ľahšie sa naučíte ďalší jazyk (a v dôsledku toho navrhnete lepšie výrobky alebo projekty).

Vďaka internetu sa nemusíte zapísať do štvorročného vysokoškolského štúdia, aby ste sa naučili základy počítačovej vedy; niekoľko tried vysokej školy je k dispozícii online zadarmo (alebo za nominálny poplatok).

Nemôžem odporučiť Harvardov CS50x Úvod do počítačovej vedy. Kurz môžete bezplatne auditovať prostredníctvom edX a získať certifikát dokončením všetkých zadaní alebo môžete ísť vlastným tempom a pozerať všetky prednášky uverejnené na Youtube. S týmto výberom pätnástich online kurzov (z ktorých mnohé sú uvedené aj v našej sérii Goldavelez.com U), si môžete zostaviť svoj vlastný počítačový program na vysokej škole pre domácich majstrov.

Získajte knihu

Najlepším spôsobom, ako sa naučiť kódovať, môže byť oboznámenie sa s mŕtvymi stromami - skutočná kniha, ktorú môžete sledovať od začiatku do konca. V perfektnom svete vám to poskytne komplexnejší úvod do kódovania, ako preskakovanie z témy na tému na webovej stránke.

Pravdepodobne nájdete elektronickú knihu pre akýkoľvek jazyk alebo rámec, ktorý sa snažíte naučiť na serveri GitHub, ale veľa vývojárov webu prisahá na farebnú sériu Jon Duckett na všetkom, od vývoja webu po front-end.

Ako programátor, ktorý sa vyučuje samostatne, môžete mať úžitok aj z kníh, ktoré ponúkajú širšie poradenstvo v odbore. Zlepšíte svoje myslenie a návyky, vlastnosti, ktoré môžete použiť pre akýkoľvek jazyk, ktorý sa rozhodnete naučiť. 900-stranový kód Steve McConnella je kompletný: Praktická príručka tvorby softvéru (2. vydanie) sa považuje za definitívnu príručku osvedčených postupov s radami založenými na údajoch o všetkom, od návrhu projektu až po ladiaci kód.

Dôsledkom tohto podvodu je Čistý kód: Príručka agilného softvérového remeselného spracovania od „strýka Boba“ Roberta Martina. Martin je presvedčený, že kód by mal byť napísaný efektívne pre ľahké testovanie a škálovateľnosť, čo z neho robí mnoho moderných tímov.

Pretože programovanie je naozaj o riešení problémov, oceníte myšlienkový proces a riešenia „zadnej časti obálky“, ktoré Jon Bentley zdieľa v Programming Pearls (2. vydanie). Každá kapitola končí mnohými výzvami, ktoré sa často používajú pri technických pohovoroch, a preto sa táto kniha musí stať súčasťou prípravy na prácu.

Pozrite si niektoré interaktívne návody alebo hry na kódovanie

Priznajme si to: čítanie riadkov kódu na obrazovke alebo v knihe môže vyzerať ako blábol. Keď vidíte príklad v akcii, tento abstraktný koncept zrazu dáva zmysel. To je krása interaktívnych výukových programov, ktoré môžete nájsť na webe.

Napríklad FreeCodeCamp nielen rozdeľuje koncepty kódovania na malé kúsky vo vašom webovom prehliadači, ale tiež páruje každý koncept s príslušným cvičením, ktoré musíte vyriešiť pred presunom na ďalšiu tému. Týmto spôsobom nemôžete jednoducho preskočiť na zábavné veci; stránka vás skutočne núti ladiť váš kód, keď sa dozviete.

Kódovacie hry sú tiež zábavným spôsobom, ako si namočiť nohy pri programovaní. Ak máte hodinu na zabitie, môžete vyskúšať jednoduché hry Hodiny kódu. Mnoho škôl už používa vydanie Minecraft: Educational Edition, ktoré učia deti programovať základy programovacích blokov a dokonca aj JavaScript. (Túto verziu Minecraft si môžete zadarmo stiahnuť, ak máte účet Office 365 Education.)

Chcete zložitejší návod na vývoj hier, ktorý môžete uviesť vo svojom životopise? CodinGame môže byť vhodnejší z hľadiska veku, ak sa necítite, že by ste celý deň dierovali bloky.

Vyskúšajte detskú hračku

Kto hovorí, že dospelí sa nemôžu učiť od rovnakých hračiek a videohier STEAM / STEM, ktoré spôsobujú, že deti sú na kódovaní závislé? Koniec koncov, tieto produkty sú navrhnuté tak, aby učili kódovaciu logiku a syntax bez nudných ľahko rozptyľujúcich detí, takže dokonca aj dospelí kódovači ich budú môcť nájsť zábavné a vzdelávacie.

Ak chcete lepšie porozumieť vzťahu medzi hardvérom a softvérom, mali by ste radosť z počítačovej súpravy Piper Computer Kit 2, ktorá vám dáva budovať počítač poháňaný Raspberry Pi. Pomocou tohto prenosného počítača pre domácich majstrov sa môžete naučiť kódovať pomocou vlastných výziev v režime Minecraft Story Mode, pomocou drag-and-drop blockly jazyka sa učiť fyzickú prácu s počítačom, alebo si len vybrať niektoré základné Python z predinštalovaných hodín.

Aj keď pravdepodobne nebudete môcť vytvoriť svoj vlastný droid BB-8, môžete sa naučiť kódovať jeden pomocou Sphero's BOLT. Pomocou sprievodnej aplikácie môžete ovládať svoju droidskú guľu pomocou drag-and-drop kódovacích blokov s názvom Scratch alebo úrovňou po JavaScript na programovanie pokročilejších ťahov.

Naučte svoje obľúbené zariadenia (a asistentov) nové triky

Máte smiešne zariadenie ako Amazon Echo? Svoje zručnosti v oblasti kódovania môžete vyskúšať vytvorením prispôsobených miniprogramov, pomocou ktorých získate viac funkcií z digitálnych asistentov svojich zariadení. Amazonská Alexa už môže poznať mnoho základných „zručností týkajúcich sa hlasových príkazov“, ako je napríklad čítanie najnovších titulkov správ, ale jej zložitejšie úlohy môžete naučiť pomocou kódovania v Node.js, Java, Python, C # alebo Go. (Alebo, ak chcete začať s niečím ľahším, vyskúšajte jednoduchšie stránky s plánmi schopností Alexa.)

Je možné, že váš záujem o kódovanie je obmedzenejší - možno sa budete chcieť iba naučiť dosť Pythonu, aby vaše Raspberry Pi urobilo napríklad skvelé projekty. Ak áno, môžete si zvoliť prístup pre domácich majstrov pomocou vyskúšania mnohých projektov, ktoré ostatní zdieľajú na svojej webovej stránke.

Obnovením existujúcich projektov sa dozviete viac o vnútornom fungovaní vášho vysoko prispôsobiteľného zariadenia. Možno sa dokonca ocitnete inšpirovaní pri vytváraní nových spôsobov použitia vášho mini počítača a ponoríte sa ďalej do sveta kódov. (Môžete sa dokonca prihlásiť do triedy Raspberry Pi od UC Irvine a do programu Python Programming do triedy Raspberry Pi Platform prostredníctvom Coursera, ak chcete trochu pomôcť pri začatí.)

Pozrite si videá o kódovaní

Niekedy je jednoduchšie sledovať, ako vám niekto ukazuje, ako sa to robí. V súčasnosti nájdete najrôznejšie vzdelávacie videá o takmer akejkoľvek téme týkajúcej sa kódovania: bývalí spolupracovníci spoločnosti Google zdieľajúce riešenia kódovacích rozhovorov, YouTubers prežívajú svoje kódovacie maratóny a dokonca programátorskí veteráni vám ukážu, ako vyriešiť konkrétnu chybu v akomkoľvek jazyku, ktorý chcete.

Odporúčam vyskúšať kanál CS Dojo, TheNetNinja a kanál YouTube CS50 od Harvardu. Ak nemáte čas hľadať dokonalé kódovacie video alebo kanál, môžete sa tiež pozrieť na rozsiahlu videotéku LinkedIn Learning, kde nájdete preverené a profesionálne vyzerajúce príručky. Aj keď poplatok za predplatenie služby 30 dolárov mesačne nie je na čo kýchať, môžete sa pozerať na neobmedzené množstvo obsahu a tém - vďaka čomu je LinkedIn učenie lepšie ako iné triedy online na požiadanie, ktoré prichádzajú s nepríjemnými obmedzeniami.

Prax s osobnými projektmi

Bez ohľadu na to, koľko certifikátov a kódovacích workshopov absolvujete, alebo koľko programovacích jazykov sa naučíte, vaše programovacie zručnosti budú dôkazom vašich kódovacích schopností. Aj keď váš osobný projekt nemusí byť taký ambiciózny ako vytváranie ďalších máp Google, malo by byť niečo, na čom by ste chceli pracovať 24/7, aby ste neustále zlepšovali a rozširovali jeho rozsah.

Štart malé, ale myslím, že veľký. Váš projekt by mal zahŕňať zručnosti, ktoré momentálne máte vo svojom súbore nástrojov, ale mali by ste mať tiež plán budúcich funkcií a zručností, ktoré potrebujete, aby ste túto víziu premenili na skutočnosť. Bez použitia kódovacích schopností v niekoľkých projektoch by ste neboli považovaní za profesionálne koncerty kódovania - začnite teda plánovať a trénovať. (Naša rada? Použite svoje kódovacie kotlety na vytvorenie úžasného nastavenia pre hernú noc.)

Oslavujte malé víťazstvá

Kódovanie je všetko v detailoch, preto musíte „oslavovať malé víťazstvá“, ako to uviedol jeden z našich profesorov programovania. Prakticky je potrebné, aby každý prvok fungoval samostatne, ako aj neustále testovanie, aby sa zaistilo, že každý riadok kódu bude fungovať so všetkými ostatnými - bez chýb. Ak nemáte zdanlivo malé veci, ako napríklad zatvorenie značky HTML, uviazli by ste pri ladení jednoduchej chyby syntaxe, a nie písaní pôsobivejšieho a komplexnejšieho kódu.

Musíte byť trpezliví so sebou; Neočakávajte, že kód budúci po niekoľkých mesiacoch štúdia alebo po niekoľkých bootcampoch. Kódovanie bezchybného svadobného formulára RSVP na webovej stránke alebo vytvorenie jednoduchej, ale napriek tomu správnej hry na predpovedanie čísel je už pre začiatočníkov významným úspechom. Ak uviaznete, nevzdávajte sa. Mali by ste absolútne hľadať pomoc všade, kde ju nájdete, ale tiež vedieť, kedy si urobiť prestávku, aby ste predišli vyhoreniu. A potom to skúste znova.

Google vaše chybové správy

Toto je naša najlepšia rada v oblasti kódovania: Ak neviete zistiť, prečo je váš kód poškodený, vždy môžete hľadať riešenia online. Pravdepodobne nie ste prvý, kto urobil chybu, koniec koncov, a niekto na internete už určite našiel riešenie vášho problému. Stačí len „skopírovať a prilepiť“ svoju chybovú správu do Google (alebo vášho preferovaného vyhľadávacieho nástroja), pridať do celého výrazu pár úvodzoviek, aby ste nielen hľadali kľúčové slová, a potom klikli na „Enter“. Dúfajme, že tento malý trik vás dovedie k správnej odpovedi.

Ak máte stále problémy, vždy môžete zverejniť svoju otázku na fórach vývojárov, ako sú Stack Overflow, Redditova programová subreddit alebo GitHub. Nikdy nie je na škodu telefonovať priateľovi - alebo cudzincovi na internete.

Prelomte kód niekoho iného

Keď spätne analyzujete kód niekoho iného a testujete každý riadok, aby ste zistili, ako to funguje, získate lepšie pochopenie celkového obrazu. Vďaka tony a tony open-source kódu, ktorý je tam vonku, sa môžete dozvedieť o čomkoľvek, keď preskúmate prácu niekoho iného (bezchybnú). Nezabudnite zdieľať svoj kód s komunitou, ak sa objaví inšpirácia a vy vylepšíte časť programu, s ktorým ste sa hrali.

Získajte mentora (alebo učte niekoho iného)

Programátorská komunita je plná ľudí, ktorí sú ochotní pomôcť ďalšej generácii programátorov. GitHub, online hangout pre vývojárov, ktorí používajú Git na riadenie svojich kódovacích projektov, je určený na spoluprácu online. Vývojári nielen hostia a zdieľajú svoje projekty so svojimi rovesníkmi, ale poskytujú komunite aj spätnú väzbu na kód a všeobecné rady.

Možno budete môcť nájsť nejakých užitočných online inštruktorov prostredníctvom GitHub alebo sa stretnúť s inými vývojármi veteránov na miestnej kódovacej udalosti Meetup alebo hackathonu. Akonáhle získate nejaké skúsenosti s programovaním, možno budete môcť odpovedať na otázky iných ľudí alebo dokonca naučiť to, čo ste sa naučili nováčikom - skvelý test, aby ste zistili, či skutočne poznáte svoje veci.

Zúčastnite sa kódovacieho bootcampu

Kódovanie bootcampov môže byť kontroverzné: dajú vám rýchly úvod a skúsenosti s mnohými zručnosťami, ale nemusia to byť vaše zlaté lístky na úplne novú prácu Google.

Ak sa chcete stať profesionálnym hráčom a stať sa vývojárom na plný úväzok, môže vám pomôcť program intenzívneho a osobného kódovania bootcampu, najmä ak sa najlepšie učíte v štruktúrovanom prostredí so skutočnými ľuďmi, aby vás motivoval. Tieto typy bootcampov sú však často najnákladnejšie a časovo najnáročnejšie: na výučbu sa pozeráte vyššie o 15 000 dolárov, plus na pár mesiacov až do ukončenia vysokoškolského vzdelania, ako aj životné náklady.

Našťastie, inštitúcie ako Flatiron School a The Grace Hopper Program ponúkajú štipendiá alebo odložené školné, aby boli tieto bootcampy dostupnejšie pre nedostatočne zastúpené skupiny, ako sú menšiny a ženy v technike. Vyskúšajte správu o kurze, kde nájdete komplexné zhrnutie mnohých online a osobných bootcampov - vrátane podrobných recenzií z ich kamenných priečok, ktoré vám môžu pomôcť rozhodnúť sa, či bootcamp vám pomôže dosiahnuť vaše programovacie sny.