zanimljiv

Najbolji načini da se naučite šifrirati

Foto: Christopher Gower (Unsplash)

Ako želite naučiti kako kodirati, poduzimanje prvih koraka u ovom ogromnom svemiru može izgledati zastrašujuće, ako ne i zastrašujući zadatak. Evo velike tajne: postoji puno besplatnih (i jeftinih) resursa koje možete koristiti kako biste sebi pružili svu potrebnu pomoć, naučili se novim tehnikama i ovaj proces učenja učinili zabavnim i uzbudljivim - koliko uzbudljivo može biti kodiranje, u najmanju ruku.,

Bez obzira jeste li odrasla osoba koja želi prijelaz u tehnološku industriju, student koji želi naučiti najnoviji jezik ili hobist koji samo želi razumjeti kako rade softver i usluge, sve što vam treba je računalo i pristup internetu kako biste započeli s programiranjem putovanje. Ali prije nego što krenete u polet, evo naših najboljih savjeta i resursa koji će vas krenuti pravom nogom.

Zapitajte se: Zašto želite naučiti kako kodirati?

Odvojite nekoliko minuta (ili dan) da razmislite o razlozima - razlozima - zašto želite naučiti programski jezik. Budite iskreni prema sebi. Pokušavate li naučiti najniži minimum za postizanje promocije? Želite li napraviti veliku promjenu u karijeri? Želite li stvoriti sljedeću najveću aplikaciju? Oduševiti svoje cimere programiranjem različitih pametnih uređaja da učine nešto fenomenalno?

Vaš će vam odgovor pomoći da odredite koji programski jezik trebate savladati, kao i vrstu opredjeljenja (u vremenu i novcu) koji vam može trebati. Na primjer, ako je vaš san stvoriti sljedeći sjajni operativni sustav ili ubojitu alternativu PhotoShopu, imali biste koristi od formalnog obrazovanja informatike koje vas uči C ++, kao i složenijih tema poput strukture podataka, algoritama i raspoređivanja memorije.

S druge strane, ako ste profesionalac u srednjoj karijeri koji želi tranziciju u tehnološku karijeru, kratkotrajni bootcamp može imati više smisla od dugovanja za drugi stupanj. Ako sve što želite učiniti je izgraditi web stranice ili gurnuti svoj Raspberry Pi do krajnjih granica, kombinacija interaktivnih vodiča i besplatnih internetskih tečajeva možda će vam biti dovoljna da krenete.

Odaberite pravi programski jezik

Kad shvatite zašto želite kodirati, lakše ćete odrediti kojim programskim jezikom se trebate pozabaviti. Iako ne postoji nijedan „najbolji“ programski jezik za učenje, neki su jezici prilagođeniji korisnicima od drugih. HTML i CSS smatraju se najlakšim ulaznim točkama u svijetu kodiranja, ali su samo korisni za razvoj osnovnih web stranica.

Za više interaktivnih web mjesta koja uključuju platne sustave ili baze podataka, morat ćete znati Javascript, PHP, SQL i Python da bi sve komponente pjevale. Proizvođači mobilnih aplikacija koriste Swift ili C za izradu iOS aplikacija, a Java ili Kotlin za Android aplikacije. Programeri za video igre pretvorit će se u Unity ili čak C # kako bi oživjeli svoje ideje za igre.

Još uvijek ne možete odlučiti o vašem programskom jeziku za pokretanje? Većina stručnjaka preporučuje učenje Python-a, C # ili JavaScript-a, jer oni nude najširi uslužni program i fleksibilnost u karijeri. Da biste vam pomogli da odlučite, pogledajte ovu sjajnu infografiku koja uspoređuje nekoliko popularnih programskih jezika.

Iznad svega, samo počnite učiti. Jednom kada vam postane ugodno s jednim programskim jezikom, moći ćete brže odabrati sljedeći - poput učenja novog glazbenog instrumenta ili stranog jezika.

Isprobajte neke online tečajeve

Ako želite veću kontrolu nad rasporedom učenja (ili ga ne želite sami raditi), internetski tečaj kodiranja mogao bi biti bolja opcija od osobnog kodiranja bootcamp-a. Međutim, postoji mnogo različitih mrežnih predavanja koja podučavaju iste programske jezike i teško je shvatiti koji od njih zaista vrijedi vašeg vremena i novca.

Ako vam ne smeta vježbanje solo, pogledajte The Odin Project, besplatnu opciju koja objedinjuje neke od najboljih open-source sadržaja za pretvaranje početnika za kodiranje u programera.

Želite više treninga i priprema za karijeru bez potpunog bootcamp-a? Pokušajte se prijaviti na tečajeve za certificiranje modela pretplate iz Udacitya ili Treehousea, gdje imate priliku zatražiti pomoć učitelja, umjesto da sami trpite pogreške ili pitanja kodiranja. Ne možete učiniti puno bolje od klase kodiranja od 19 USD iz Udemyja (čak i manje, kad postoji prodaja) - čak i redoviti studenti bootcampa i studenata informatike prijavljuju se za te časove kako bi nadopunili svoje učenje.

Bez obzira koliko tečaja završili, mnogim početnicima je i dalje teško primijeniti svoje relativno osnovno znanje. U tu svrhu, mnogi preporučuju besplatni praktični JavaScript tečaj Watch and Code, koji se vrti oko jednog projekta koji stalno ponavljate.

Usredotočite se na učenje računalnog razmišljanja

Umjesto da se hiper-fokusirate na učenje određenog programskog jezika, to možete naučiti i na način koji će računalo razumjeti. Drugim riječima, poboljšajte svoje vještine na konceptima kao što su prepoznavanje uzorka, algoritmi i apstrakcije. Tu je i jezičak, poput petlji, koji se pojavljuju na bilo kojem jeziku koji koristite. Što bolje razumijete ove principe, to će biti lakše naučiti sljedeći jezik (i kao rezultat oblikovati bolje proizvode ili projekte).

Zahvaljujući internetu, ne morate se upisati u četverogodišnji fakultetski program da biste naučili osnove informatike; online je besplatan broj predavanja na razini visokog učilišta (ili nominalna naknada).

Ne mogu dovoljno preporučiti Harvard CS50x Uvod u informatiku. Možete besplatno pregledati tečaj putem edX-a i zaraditi potvrdu ispunjavanjem svih zadataka ili možete ići svojim tempom i gledati sva predavanja objavljena na Youtubeu. Ovim izborom petnaest internetskih tečajeva (mnogi od njih također su navedeni u našoj Goldavelez.com U seriji) možete izgraditi vlastiti program informatičkog obrazovanja na razini visokog učilišta.

Nabavite knjigu

Najbolji način da naučite kodirati vas može dovesti do bliskog i osobnog susreta s mrtvim stablima - prava knjiga koju možete pratiti od početka do kraja. U savršenom svijetu ovo će vam pružiti opsežniji uvod u kodiranje nego skakanje s teme na temu na web mjestu.

Vjerojatno možete naći e-knjigu za bilo koji jezik ili okvir koji pokušavate naučiti na GitHub-u, ali mnogi web programeri se zaklinju živopisnom serijom Jon Ducketta o svemu, od naprednog do back-end web razvoja.

Kao programer samouk, vi bi također mogli imati koristi od knjiga koje nude šire savjete o profesiji. Poboljšat ćete svoje mišljenje i navike, osobine koje možete primijeniti na bilo kojem jeziku koji se odlučite naučiti. Kompletan kod od 900 stranica Stevea McConnella: Praktični priručnik za izgradnju softvera (2. izdanje) smatra se konačnim vodičem za najbolju praksu, s podacima utemeljenim na podacima o svemu, od dizajna projekta do uklanjanja pogrešaka koda.

Dokaz tom behemotu je Clean Code: Priručnik o agilnom softverskom zanatstvu "ujaka Boba" Roberta Martina. Martin vjeruje da bi kôd trebao biti učinkovito napisan za jednostavno testiranje i skalabilnost, što ga čini čitljivim za mnoge moderne razvojne timove.

Budući da se programiranje zaista tiče rješavanja problema, cijenit ćete proces razmišljanja i „natrag u omotnicu“ rješenja koja Jon Bentley dijeli u Programming Pearls (2. izdanje). Svako se poglavlje završava brojnim izazovima koji se često koriste u tehničkim razgovorima za posao, tako da ova knjiga bude dio vašeg priprema za posao.

Pogledajte neke interaktivne vodiče ili igre za kodiranje

Priznajmo: čitanje redaka koda na ekranu ili u knjizi može izgledati poput gluposti. Kad vidite primjer u djelovanju, taj apstraktni koncept odjednom ima savršen smisao. To je ljepota interaktivnih priručnika za kodiranje koje možete pronaći na webu.

Na primjer, FreeCodeCamp ne samo da razgrađuje koncepte kodiranja na male komade u vašem web pregledniku, već također upari svaki koncept s relevantnom vježbom koju morate riješiti prije prelaska na sljedeću temu. Na ovaj način ne možete jednostavno preskočiti na zabavu; stranica vas zaista prisiljava na uklanjanje pogrešaka koda dok učite.

Igre kodiranja također su zabavan način da se noge programiraju u programiranju. Ako imate sat vremena za ubojstvo, možete isprobati jednostavne igre Hour of Code. Uz to, mnoge škole već koriste Minecraft: Edukacijsko izdanje za podučavanje djece programiranju osnova s ​​kodiranim blokovima, pa čak i JavaScriptom. (Možete preuzeti besplatno ovu verziju Minecraft-a ako imate račun za Office 365 za obrazovanje.)

Želite li složeniji udžbenik za razvoj igara koji možete staviti na svoj životopis? CodinGame možda odgovara dobi ako se ne osjećate kao da svakodnevno probijate blokove.

Isprobajte dječju igračku

Tko kaže da odrasli ne mogu učiti od istih STEAM / STEM igračaka i videoigara koje djecu prikvače na kodiranje? Uostalom, ovi su proizvodi dizajnirani da podučavaju logiku i sintaksu kodiranja bez dosadne lako odvratne djece, pa bi ih čak i odrasli kodoci mogli smatrati zabavnim i edukativnim.

Ako želite bolje razumjeti odnos između hardvera i softvera, uživajte u Piper Computer Kit 2 koji gradi računalo Raspberry Pi. Koristeći ovaj DIY laptop, možete naučiti kodirati putem svojih prilagođenih Minecraft Story Mode izazova, koristiti povuci i ispusti Blockly jezik da biste naučili fizičko računanje ili samo pokupiti neki osnovni Python iz unaprijed instaliranih lekcija.

Iako vjerojatno nećete moći stvoriti vlastiti droid BB-8, možete ga naučiti kodirati pomoću Spherovog BOLT-a. Pomoću popratne aplikacije možete kontrolirati droid kuglu pomoću povlačenja i ispuštanja kodirajućih blokova zvanih Scratch ili podići razinu na JavaScript da biste programirali naprednije poteze.

Naučite svoje omiljene uređaje (i pomoćnike) novim trikovima

Imate li pametni uređaj poput Amazon Ehoa? Možete testirati svoje vještine kodiranja izradom prilagođenih mini programa kako biste dobili više funkcionalnosti od digitalnih pomoćnika svojih uređaja. Amazonova Alexa možda već poznaje mnoge osnovne „vještine glasovnih naredbi“, poput čitanja najnovijih naslova vijesti, ali više kompliciranih zadataka možete naučiti kodiranjem u Node.js, Java, Python, C # ili Go. (Ili, ako želite započeti s nečim lakšim, isprobajte jednostavniju web lokaciju sa nacrtima vještina Alexa.)

Moguće je da je vaše zanimanje za kodiranje ograničeno - možda biste samo željeli naučiti dovoljno Python-a da, na primjer, napravi Raspberry Pi dobre projekte. Ako je to slučaj, možete usvojiti samostalni pristup učenju provjeravanjem mnogih projekata koji drugi dijele na njegovoj web stranici.

Rekreirajući postojeće projekte naučit ćete više o unutarnjem djelovanju visoko prilagodljivog uređaja. Možda ćete se možda nadahnuti za stvaranje novih načina upotrebe mini-računala i dubljeg uranjanja u svijet koda. (Možete čak upisati UC Irvine's Raspberry Pi platformu i Python programiranje za klasu Raspberry Pi putem Coursere ako želite malu pomoć. Početak rada.)

Pogledajte videozapise o kodiranju

Ponekad je jednostavno lakše gledati kako vam netko pokazuje kako se to radi. U današnje vrijeme možete pronaći sve vrste obrazovnih videozapisa o gotovo bilo kojoj temi koja se tiče kodiranja: bivši Google-ovi koji dijele rješenja za intervjue s kodiranjem, YouTubers livestreaming kodirajući ih maratonima, pa čak i veterani programiranja koji vam pokazuju kako otkloniti određenu pogrešku na bilo kojem jeziku koji želite.

Preporučam da provjerite CS Dojo, TheNetNinja i Harvard CS50 YouTube kanal. Ako nemate vremena za traženje savršenog video zapisa ili kanala za kodiranje, također možete potražiti ogromnu videoteku LinkedIn Learninga za vježbe s provjerenim i profesionalnim izgledom. Iako se pretplata na pretplatu od 30 USD mjesečno ne naplaćuje, možete gledati neograničenu količinu sadržaja i tema - čineći LinkedIn učenje boljom ponudom od ostalih internetskih predavanja na zahtjev koje imaju neugodna ograničenja.

Vježbajte s osobnim projektima

Bez obzira koliko certifikata i radionica kodiranja završite ili koliko programskih jezika koje naučite, dokaz vaše vještine kodiranja bit će u vašem programu programiranja. Iako vaš osobni projekt ne mora biti tako ambiciozan kao stvaranje sljedećih Google karata, na njemu biste trebali raditi 24/7 kako biste stalno poboljšavali i širili njegov opseg.

Započnite s malim, ali mislite velikim. Vaš bi projekt trebao uključivati ​​vještine koje trenutno imate u kutiji s alatima, ali trebali biste imati i plan budućih značajki i vještina koje će vam trebati da tu viziju pretvorite u stvarnost. Bez primjene svojih vještina kodiranja u nekoliko projekata, čak se ne bi smatrali profesionalnim svirkama kodiranja - pa počnite planirati i vježbati. (Naš savjet? Koristite svoje kodiranje sjeckalica za izgradnju nevjerojatnih postavki za noćne igre.)

Proslavite male pobjede

Kodiranje je sve u pojedinostima, zbog čega morate "slaviti male pobjede", kako je rekao jedan od naših profesora programiranja. Potrebna je praksa da svaki element radi samostalno, kao i stalno testiranje kako bi se osiguralo da će svaki redak koda raditi sa svim ostalim - bez grešaka. Ako naoko ne učinite sitnice poput zatvaranja HTML oznake, zaglavili biste uklanjanje pogrešaka u jednostavnoj sintaksičkoj pogrešci umjesto pisanja impresivnijeg i složenijeg koda.

Trebate biti strpljivi prema sebi; nemojte očekivati ​​da ćete kodirati sljedeći nakon samo nekoliko mjeseci studija ili nekoliko dizajnera. Kodiranje vjenčanog RSVP obrasca bez pogreške i stvaranje jednostavne, a još ispravne igre predviđanja broja već je značajno postignuće za početnike. Ako vas zaglavi, ne odustajte. Apsolutno biste trebali potražiti pomoć svugdje gdje je možete pronaći, ali i znati kada se odmoriti kako ne bi došlo do izgaranja. A zatim pokušajte, pokušajte ponovo.

Google svoje poruke o pogrešci

Ovo je naš najbolji savjet za kodiranje: Ako ne možete shvatiti zašto vam je kôd pokvaren, uvijek možete potražiti rješenja na mreži. Na kraju krajeva, vjerojatno niste prva osoba koja je pogriješila, a netko je na internetu sigurno već pronašao rješenje za vaš problem. Jednostavno "kopirajte i zalijepite" poruku o pogrešci u Google (ili željenu tražilicu), dodajte par navodnika oko cijele fraze tako da ne tražite samo ključne riječi, a zatim pritisnite "Enter". Nadam se da ovo malo trik će vas dovesti do točnog odgovora.

Ako i dalje imate problema, svoje pitanje uvijek možete postaviti na forumima programera kao što su Stack Overflow, Redditov programski subreddit ili GitHub. Nikad ne boli nazvati prijatelja ili internetskog stranca.

Hakirati tuđi kod

Kada obrnete inženjering tuđeg koda, testirajući svaki redak da biste vidjeli kako to funkcionira, dobili ste bolje razumijevanje širine slike. Zahvaljujući tonu i tonu otvorenog koda koji se nalazi vani, možete naučiti gotovo svašta istražujući tuđi (besprijekoran) rad. Sjetite se samo podijeliti svoj kôd sa zajednicom ako nadahnuće pokaže i poboljšate dio programa s kojim ste se ponašali.

Nabavite mentora (ili podučite nekog drugog)

Programska zajednica puna je ljudi koji su spremni pomoći narednoj generaciji programera. GitHub, mrežni hangout za programere koji koriste Git za upravljanje svojim projektima kodiranja, dizajniran je za internetsku suradnju. Ne samo da programeri ugošćuju i dijele svoje projekte sa svojim vršnjacima, oni također pružaju povratne informacije o kodu i opće savjete zajednici.

Možda ćete kroz GitHub pronaći neke korisne online mentore ili upoznati druge programere veterana na lokalnom događaju ili hackathonu za kodiranje. Nakon što steknete neko iskustvo s programiranjem, možda ćete moći odgovoriti na pitanja drugih ljudi ili čak naučiti ono što ste naučili za novorođenče - sjajan test da vidite da li zaista znate svoje stvari.

Posetite bootcamp za kodiranje

Kodiranje bootcampa može biti kontroverzno: pružit će vam brzo upoznavanje i iskustvo s puno vještina, ali možda vam to ne bi bila zlatna karta za potpuno novi Googleov posao.

Ako želite postati profesionalni programer i postati programer za puno radno vrijeme, intenzivni i osobni kodni bootcamp mogao bi vam pomoći, pogotovo ako najbolje učite u strukturiranom okruženju s stvarnim ljudima kako bi vas motivirali. Međutim, ove su vrste kamkordera često najskuplje i vremenski naporno pohađati: Gledate više od 15 000 dolara samo za školarinu, plus troškove života nekoliko mjeseci dok ne diplomirate.

Srećom, institucije poput Flatiron School i Grace Hopper Program nude stipendije ili odloženo školovanje kako bi ove bootcampe učinile pristupačnijim za manje zastupljene skupine poput manjina i žena u tehnici. Pogledajte Izvještaj o tečajevima za sveobuhvatnu raščlambu mnogih internetskih i osobnih dizajnera - uključujući detaljne preglede njihovih kolega koji vam mogu pomoći da odlučite hoće li vam bootcamp pomoći da ostvarite svoje programske snove.