huvitav

Parimad viisid ennast koodiks õpetada

Foto: Christopher Gower (Unsplash)

Kui soovite õppida koodimist, võib esimeste sammude tegemine selle tohutu universumi jaoks tunduda hirmutav, kui mitte hirmutav ülesanne. Siin on suur saladus: seal on palju tasuta (ja odavaid) ressursse, mida saate kasutada kogu vajaliku abi andmiseks, uute tehnikate õpetamiseks ja selle õppimisprotsessi lõbusaks ja põnevaks muutmiseks - nii põnevaks kui kodeerimine võib saada, vähemalt .

Ükskõik, kas olete täiskasvanu, kes soovib minna üle tööstusharusse, õpilast, kes soovib õppida uusimat keelt, või huvijuhti, kes soovib lihtsalt aru saada, kuidas tarkvara ja teenused töötavad, on teil programmeerimise alustamiseks vaja ainult arvutit ja Interneti-ühendust. teekond. Kuid enne lendava hüppe tegemist on siin meie parimad näpunäited ja ressursid, et suunata teid paremale jalale.

Küsige endalt: miks soovite õppida koodima?

Võtke mõni minut (või üks päev), et mõelda põhjuste - põhjuste - üle, miks soovite programmeerimiskeelt õppida. Ole enda vastu aus. Kas proovite edutamise saamiseks õppida minimaalset miinimumi? Kas soovite teha suuri karjäärimuutusi? Kas soovite luua järgmise suurima rakenduse? Vapustage oma toakaaslasi, programmeerides oma erinevaid nutiseadmeid midagi ägedat tegema?

Teie vastus võib aidata kindlaks teha, millist programmeerimiskeelt (programmeerimiskeeli) peate valdama, ning seda, millist pühendumist (aja ja raha osas) teie eesmärk võib nõuda. Näiteks kui teie unistus on luua järgmine suurepärane opsüsteem või hävitaja alternatiiv PhotoShopile, siis tuleks teile kasuks formaalne informaatikaalane haridus, mis õpetaks teile C ++, aga ka keerukamad teemad nagu andmestruktuur, algoritmid ja mälu eraldamine.

Teisest küljest, kui olete keskmise karjääriprofessionaal, kes soovib liikuda tehnikakarjäärile, võib lühiajalise kodeerimise alglaadimine olla mõistlikum kui teise astme võlgadesse sattumine. Kui kõik, mida soovite teha, on veebisaitide loomine või Raspberry Pi piiridesse viimine, võib teie liikumiseks piisata interaktiivsete õpetuste ja tasuta veebikursuste kombinatsioonist.

Valige õige programmeerimiskeel

Kui olete välja mõelnud, miks soovite koodi kodeerida, saate hõlpsamini kindlaks teha, millises programmeerimiskeeles peaksite lahendama. Ehkki pole ühte “parimat” programmeerimiskeelt, mida õppida, on mõned keeled kasutajasõbralikumad kui teised. HTML-i ja CSS-i peetakse kodeerimismaailma kõige lihtsamaks sisenemispunktiks, kuid neist on tõesti kasu ainult põhiliste veebisaitide arendamisel.

Interaktiivsemate veebisaidide jaoks, mis hõlmavad maksesüsteeme või andmebaase, peate teadma Javascripti, PHP, SQL ja Pythonit, et kõik komponendid laulda. Mobiilirakenduste koostajad kasutavad iOS-i rakenduste tegemiseks Swifti või C-d, Androidi rakenduste jaoks Java või Kotlin. Videomängude arendajad pöörduvad Unity või isegi C # poole, et nende mänguideed ellu viia.

Kas te ei saa ikkagi oma alustava programmeerimiskeele üle otsustada? Enamik spetsialiste soovitab õppida Pythoni, C # või JavaScripti, kuna need pakuvad kõige laiemat kasulikkust ja karjääri paindlikkust. Mõistmise hõlbustamiseks vaadake seda suurepärast infograafikat, mis võrdleb mõnda populaarset programmeerimiskeelt.

Ennekõike hakake lihtsalt õppima. Kui olete ühe programmeerimiskeelega rahul, saate järgmise palju kiiremini vastu võtta, näiteks õppida uut muusikariista või võõrkeelt.

Proovige mõnda veebikursust

Kui soovite oma õppimisgraafiku üle rohkem kontrolli saada (või ei soovi üksi sellega tegeleda), võib veebipõhine kodeerimise kursus olla parem valik kui isikliku kodeerimise alglaadimiskamber. Siiski on palju erinevaid veebiklasse, mis õpetavad samu programmeerimiskeeli, ja võib olla raske aru saada, milline neist on teie aega ja raha väärt.

Kui teil pole soolo harjutamist, siis tutvuge The Odini projektiga - tasuta valikuga, mis koondab endas parimat avatud lähtekoodiga sisu, et muuta kodeeriv algaja programmeerijaks.

Kas soovite rohkem üks-ühele juhendamist ja karjääri ettevalmistamist ilma täiskohaga algust tegemata? Proovige registreeruda tellimusmudeli sertifitseerimise kursustele Udacity või Treehouse'is, kus teil on võimalus paluda juhendajalt abi, selle asemel, et ainult oma kodeerimisvigu või küsimusi kannatada. Te ei saa palju paremat kui Udemy 19-dollarised koodiklassid (veelgi vähem, kui müük toimub) - isegi täistööajaga alglaadimislaagris ja arvutiteaduses õppivad õpilased registreeruvad nendele klassidele oma õppimise täiendamiseks.

Pole tähtis, kui palju kursusi läbite, on paljudel algajatel endiselt raske oma suhteliselt põhiteadmisi rakendada. Paljud soovitavad selleks Watch and Code'i tasuta praktilist JavaScripti kursust, mis keerleb ühe projektiga, mida pidevalt kordate.

Keskenduge arvutusliku mõtlemise õppimisele

Spetsiaalse programmeerimiskeele õppimisele keskendumise asemel võite õppida ka arvutist arusaadaval viisil. Teisisõnu, parandage oma oskusi selliste kontseptsioonide osas nagu mustrituvastus, algoritmid ja abstraktsioonid. Samuti on olemasingo, näiteks silmused, mis hüppavad teie poolt kasutatavas keeles. Mida paremini neid põhimõtteid mõistate, seda lihtsam on järgmist keelt õppida (ja selle tulemusel paremaid tooteid või projekte kavandada).

Tänu internetile ei pea te arvutiteaduse põhialuste õppimiseks registreeruma nelja-aastast kolledži programmi; mitmed kolledži tasemel klassid on veebis saadaval tasuta (või nominaalse tasu eest).

Ma ei saa piisavalt soovitada Harvardi CS50xi sissejuhatust arvutiteadusesse. Kursust saate tasuta redigeerida edX-i kaudu ja teenida tunnistuse, täites kõik ülesanded, või võite minna oma tempos ja vaadata kõiki Youtube'i postitatud loenguid. Selle viieteistkümne veebikursuse valikuga (millest paljud on loetletud ka meie Goldavelez.com U-seerias) saate luua oma DIY kolledži tasemel arvutiteaduse programmi.

Hankige raamat

Parim viis koodide õppimiseks võib hõlmata lähedaste ja isiklike suhete loomist mõne surnud puuga - päris raamatuga, mida saate algusest lõpuni jälgida. Täiuslikus maailmas annab see teile kodeerimise kohta põhjalikuma sissejuhatuse kui veebisaidil teemast teise hüppamine.

Tõenäoliselt leiate GitHubist mis tahes keele või raamistiku jaoks e-raamatu, mida proovite õppida, kuid paljud veebiarendajad vannutavad Jon Ducketti värvikirevaid seeriaid kõige algusest kuni veebiarenduseni.

Iseõppijana programmeerijana võiksite kasu saada ka raamatutest, mis pakuvad eriala kohta laiemaid nõuandeid. Parandate oma mõtlemist ja harjumusi, omadusi, mida saate rakendada mis tahes keeles, mille otsustate õppida. Parimate tavade lõplikuks juhiseks peetakse Steve McConnelli 900-leheküljelist koodi täielik: tarkvaraehituse praktiline käsiraamat (2. väljaanne) koos andmetega tagatud nõuannetega kõige kohta alates projekti kavandamisest kuni silumiskoodini.

Selle behemoti järelmõju on puhas kood: “Onu Bob” Robert Martini agiilse tarkvara meisterdamise käsiraamat. Martini arvates tuleks kood hõlpsasti testimiseks ja mastaapsuse tagamiseks tõhusalt kirjutada, muutes selle paljude tänapäevaste dev-meeskondade jaoks kohustuslikuks.

Kuna programmeerimine on tegelikult probleemide lahendamine, hindate mõtteprotsessi ja ümbriku tagaosa lahendusi, mida Jon Bentley jagab programmeerimispärlites (2. väljaanne). Iga peatükk lõpeb arvukate väljakutsetega, mida sageli kasutatakse tehnilistes tööintervjuudes, nii et tehke see raamat osaks teie ettevalmistamise tööst.

Vaadake mõnda interaktiivset õpetust või kodeerimise mängu

Vaadakem näkku: koodiridade lugemine ekraanil või raamatus võib tunduda õudne. Kui näete toimimises näidet, on sellel abstraktsel kontseptsioonil ühtäkki täielik mõte. See on ilu interaktiivsetest kodeerimisõpetustest, mida saate veebist leida.

Näiteks ei jaota FreeCodeCamp mitte ainult veebibrauseris kodeerimise kontseptsioone väikesteks tükkideks, vaid ka paarib iga kontseptsiooni vastava harjutusega, mille peate enne järgmise teema juurde liikumist lahendama. Nii ei saa te lihtsalt lõbusate asjade juurde vahele jääda; sait sunnib teid õppides oma koodi siluma.

Kodeerimismängud on ka lõbus viis programmeerimisel jalgade märjaks saamiseks. Kui teil on tapmiseks aega tund, võite proovida lihtsaid Hour of Code mänge. Lisaks kasutavad paljud koolid juba programmi Minecraft: Educational Edition, et õpetada lastele programmeerimise põhitõdesid kodeerimisplokkide ja isegi JavaScripti abil. (Selle Minecrafti versiooni saate tasuta alla laadida, kui teil on Office 365 Educationi konto.)

Kas soovite keerukamat mänguarenduse õpetust, mille saaksite oma CV juurde panna? CodinGame võib olla eakohasem, kui te ei tunne kogu päeva vältel plokkide mulgustamist.

Proovige laste mänguasja

Kes ütleb, et täiskasvanud ei saa õppida samadest STEAM / STEM mänguasjadest ja videomängudest, mis panevad lapsed kodeerimise külge? Lõppude lõpuks on need tooted mõeldud kodeerimise loogika ja süntaksi õpetamiseks ilma igavate kergesti häiritavate laste igavlemiseks, nii et isegi täiskasvanud kodeerijad võivad neid leida lõbusateks ja harivateks.

Kui soovite riist- ja tarkvara seoseid paremini mõista, siis naudiksite Piper Computer Kit 2, mille abil saate ehitada Raspberry Pi toitega arvutit. Selle DIY sülearvuti abil saate õppida koodiga kohandatud Minecrafti lugurežiimi väljakutsete kaudu, kasutada pukseerimiskeelt Blockly keelt füüsilise andmetöötluse õppimiseks või lihtsalt korjata mõni eelhäälestatud õppetükkide Python.

Ehkki te ilmselt ei saa oma BB-8 droidi luua, saate õppida seda Sphero BOLT-iga kodeerima. Kaasrakendust kasutades saate oma droidipalli juhtida pukseerimiskodeerimise plokkide Scratch abil või viia taseme JavaScripti poole, et programmeerida keerukamaid käike.

Õpetage oma lemmikseadmetele (ja abistajatele) uusi trikke

Kas teil on nutikodu seadet nagu Amazon Echo? Saate oma kodeerimisoskused proovile panna, luues kohandatud miniprogramme, et oma seadmete digitaalsetest abilistest rohkem funktsioone saada. Amazoni Alexa võib juba teada paljusid häälkäskluse põhioskusi, näiteks viimaste uudiste pealkirjade lugemist, kuid keerukamaid ülesandeid saate talle õpetada, kodeerides Node.js, Java, Python, C # või Go. (Või kui soovite alustada millegi lihtsamaga, proovige lihtsamat Alexa oskuste jooniste saiti.)

Võimalik, et teie huvi kodeerimise vastu on piiratud - võiksite lihtsalt õppida piisavalt Pythoni, et panna näiteks Raspberry Pi tegema lahedaid projekte. Kui jah, saate õppimiseks kasutada DIY-lähenemist, vaadates läbi paljud projektid, mida teised selle veebisaidil jagavad.

Olemasolevate projektide taasloomisega saate rohkem teada oma väga kohandatava seadme sisemisest toimimisest. Võite isegi leida inspiratsiooni luua uusi miniarvuti kasutamise viise ja süveneda koodimaailma. (Kursuse kaudu saate registreeruda isegi UC Irvine'i programmi Vaarika Pi platvorm ja Pythoni programmeerimine Vaarika Pi platvormi klassis, kui soovite alustamiseks natuke abi.)

Vaadake kodeerimisega seotud videoid

Mõnikord on lihtsalt lihtsam vaadata, kuidas keegi näitab teile, kuidas see on tehtud. Leiate kõikvõimalikke õppevideoid peaaegu kõigi kodeerimisega seotud teemade kohta tänapäeval: endised Google'i töötajad, kes jagavad lahendusi kodeerimisega seotud intervjuudes, YouTuberid viivad otsekohe sisse oma kodeerimise maratone ja isegi programmeerimise veterane, mis näitavad teile, kuidas tõrkeotsingut teha mis tahes keeles.

Soovitan vaadata CS Dojo, TheNetNinja ja Harvardi CS50 YouTube'i kanalit. Kui teil pole aega täiusliku kodeerimisvideo või -kanali otsimiseks, võite vaadata ka LinkedIn Learningi tohutut videoteekit kontrollitud ja professionaalse ilmega õpetuste jaoks. Ehkki teenuse 30-dollarine tellimistasu ei maksa aevastada, saate piiramatul hulgal sisu ja teemasid vaadelda - see teeb LinkedIn Learningist soodsama pakkumise kui teised tellitavad veebiklassid, millel on tüütud piirangud.

Harjuta isiklike projektidega

Pole tähtis, kui palju sertifikaate ja kodeerimise töötubasid olete läbinud või kui palju programmeerimiskeeli olete õppinud, on teie kodeerimisoskuse tõestus teie programmeerimisprojektis. Ehkki teie isiklik projekt ei pea olema sama ambitsioonikas kui järgmise Google Mapsi loomine, peaks see olema midagi, mida soovite töötada ööpäevaringselt, et selle ulatust pidevalt täiustada ja laiendada.

Alustage väikeselt, kuid mõelge suurelt. Teie projekt peaks hõlmama oskusi, mis teil praegu tööriistakastis on, kuid teil peaks olema ka tulevaste funktsioonide ja oskuste plaan, mida peate selle nägemuse tegelikkuseks muutmiseks. Ilma mõnes projektis oma kodeerimisoskusi rakendamata ei arvestata sind isegi professionaalsete kodeerimisrežiiga - seega alustage kavandamist ja harjutamist. (Meie nõuanne? Kasutage oma kodeerimisalasid, et ehitada mänguõhtuks hämmastav seadistus.)

Tähistage väikeseid võidukäike

Kodeerimine on kõik detailides, mistõttu peate "väikseid võite tähistama", nagu ütles üks meie programmeerimisprofessor. Iga elemendi iseseisvaks töötamiseks on vaja harjutamist, samuti on vaja pidevat testimist, et tagada, et iga koodirida töötab kõigi ülejäänutega - ilma vigadeta. Kui te ei tee näiliselt väikseid asju nagu HTML-i sildi sulgemine, siis tasuks siluda lihtsat süntaksiviga, selle asemel et kirjutada muljetavaldavamat ja keerukamat koodi.

Sa pead olema enda suhtes kannatlik; ärge eeldage, et hakkate järgmist kodeerima vaid pärast mõnekuist õpet või paari alglaadimislaagrit. Veatu pulma RSVP vormi kodeerimine veebisaidil või lihtsa, kuid õige numbrite ennustamise mängu tegemine on juba algajale oluline saavutus. Kui jänni jääb, siis ära anna alla. Peaksite absoluutselt otsima abi kõikjalt, kust seda leiate, kuid teadke ka, millal teha läbipõlemine, et vältida läbipõlemist. Ja siis proovige, proovige uuesti.

Google'ile oma veateated

See on meie parim kodeerimisnõuanne: Kui te ei saa aru, miks teie kood rikutakse, võite alati otsida lahendusi veebist. Lõppude lõpuks pole te tõenäoliselt esimene inimene, kes oma vea tegi, ja keegi Internetis on teie probleemile kindlasti juba lahenduse leidnud. Lihtsalt “kopeerige ja kleepige” oma tõrketeade Google'isse (või teie eelistatud otsingumootorisse), lisage tervele fraasile paar jutumärke, nii et te ei otsi ainult märksõnu, seejärel vajutage sisestusklahvi. Loodetavasti on see väike trikk viib teid õige vastuseni.

Kui teil on endiselt probleeme, võite oma küsimuse alati postitada arendajate foorumitesse, nagu näiteks Virna ülevool, Redditi programmeerimise alamrediit või GitHub. Sõbrale või Interneti-võõrale helistamine pole kunagi valus.

Haki kellegi teise koodi

Kellegi teise koodi ümberprojekteerimisel ja iga rea ​​testimisel, kuidas see töötab, saate suuremat pilti paremini mõista. Tänu paljudele avatud lähtekoodiga koodidele, mis seal on, saate õppida peaaegu kõike, uurides kellegi teise (veatut) tööd. Ärge unustage jagada oma koodi kogukonnaga tagasi, kui inspiratsioon ilmub ja saate paremaks muuta mõnda programmi, mida nägite.

Hankige mentor (või õpetage kedagi teist)

Programmeerimiskogukond on täis inimesi, kes on valmis aitama järgmise põlvkonna programmeerijaid. GitHub, on-line hangout arendajatele, kes kasutavad Giti oma kodeerimisprojektide haldamiseks, on mõeldud veebikoostööks. Arendajad mitte ainult ei võõrusta ja jaga oma projekte eakaaslastega, vaid pakuvad kogukonnale ka tagasisidet koodiga ja üldisi nõuandeid.

Võimalik, et leiate GitHubi kaudu kasulikke veebijuhendajaid või kohtute teiste veteraniarendajatega kohalikul kodeerimise Meetupi üritusel või hackathonil. Kui olete programmeerimisega mõne kogemuse omandanud, võiksite ehk vastata teiste inimeste küsimustele või isegi õpetada algajatele õppima - see on hea proovikivi, kas saate teada, kas teate oma asju tegelikult.

Külastage kodeerivat algust

Bootcampside kodeerimine võib olla vaieldav: need annavad teile paljudele oskustele kiire sissejuhatuse ja kogemuse, kuid need ei pruugi olla teie kuldne pilet uhiuuele Google'i töökohale.

Kui soovite minna professionaaliks ja saada täistööajaga arendajaks, võib teid aidata intensiivne ja isiklikult kodeeriv alglaadimisplaat, eriti kui õpite kõige paremini reaalsete inimestega struktureeritud keskkonnas, et teid motiveerida. Seda tüüpi alglaadimislaagrites osalemine on aga sageli kõige kallim ja aeganõudvam: vaatate õppemaksu eest 15 000 dollarit, millele lisanduvad mõne kuu elamiskulud, kuni lõpetate.

Õnneks pakuvad sellised asutused nagu Flatironi kool ja programm Grace Hopper stipendiume või edasilükatud õppemaksu, et muuta need alglaadimislaagrid alaesindatud rühmade jaoks soodsamaks, näiteks vähemused ja tehnikaga tegelevad naised. Tutvuge kursuseraportiga, et saada ülevaade paljudest veebisisestest ja isiklikest alglaadimislaagritest - sealhulgas nende alamkogude üksikasjalikest ülevaadetest - see võib aidata teil otsustada, kas alglaadimiskamber aitab teil programmeerimise unistusi saavutada.