interesanti

Labākie veidi, kā iemācīt sevi kodēt

Foto: Kristofers Goweris (Unsplash)

Ja vēlaties iemācīties kodēt, spert pirmos soļus šajā milzīgajā Visumā varētu šķist drausmīgs, ja ne iebiedējošs uzdevums. Šeit ir lielais noslēpums: ir daudz bezmaksas (un lētu) resursu, kurus varat izmantot, lai sniegtu sev visu nepieciešamo palīdzību, iemācītu sev jaunus paņēmienus un padarītu šo mācību procesu jautru un aizraujošu - tik aizraujošu, cik var iegūt kodēšana. .

Neatkarīgi no tā, vai esat pieaugušais, kurš vēlas pāriet uz tehnoloģiju nozari, students, kurš vēlas iemācīties jaunāko valodu, vai hobijists, kurš vienkārši vēlas saprast, kā darbojas programmatūra un pakalpojumi, viss, kas jums nepieciešams, ir dators un interneta piekļuve, lai sāktu savu programmēšanu ceļojums. Pirms lidojat lēcienā, šeit ir mūsu labākie padomi un resursi, lai palīdzētu jums uz labās kājas.

Pajautājiet sev: Kāpēc jūs vēlaties iemācīties kodēt?

Veltiet dažas minūtes (vai dienu), lai padomātu par iemesliem - iemesliem - kāpēc vēlaties iemācīties programmēšanas valodu. Esiet godīgi pret sevi. Vai jūs mēģināt iemācīties minimālu minimumu, lai iegūtu paaugstinājumu? Vai jūs vēlaties veikt lielas pārmaiņas karjerā? Vai vēlaties izveidot nākamo lielāko lietotni? Aizraujiet istabas biedrus, ieprogrammējot dažādās viedās ierīces, lai izdarītu kaut ko satriecošu?

Jūsu atbilde var palīdzēt noteikt, kura programmēšanas valoda (-as) jums jāapgūst, kā arī kādas saistības (laikā un naudā) var prasīt jūsu mērķis. Piemēram, ja jūsu sapnis ir izveidot nākamo lielisko operētājsistēmu vai slepenu alternatīvu PhotoShop, jums noderētu formāla datorzinātņu izglītība, kas māca jums C ++, kā arī sarežģītākas tēmas, piemēram, datu struktūra, algoritmi un atmiņas piešķiršana.

No otras puses, ja jūs esat vidējas karjeras profesionālis, kurš vēlas pāriet uz tehnoloģiju karjeru, īstermiņa kodēšanas sāknēšanas kampaņai varētu būt lielāka jēga nekā iedziļināties parādos par otro pakāpi. Ja viss, ko vēlaties darīt, ir vietņu izveidošana vai Raspberry Pi maksimālā robeža, interaktīvo apmācību un bezmaksas tiešsaistes kursu kombinācija varētu būt pietiekama, lai jūs sāktu.

Izvēlieties pareizo programmēšanas valodu

Kad esat izdomājis, kāpēc vēlaties kodēt, varat vieglāk noteikt, kura programmēšanas valoda jums jārisina. Kaut arī nav vienas “labākās” programmēšanas valodas, ko iemācīties, dažas valodas ir draudzīgākas lietotājam nekā citas. HTML un CSS tiek uzskatīti par vienkāršākajiem ieejas punktiem kodēšanas pasaulē, taču tie patiešām ir noderīgi tikai pamata vietņu izstrādē.

Interaktīvākām vietnēm, kas ietver maksājumu sistēmas vai datu bāzes, jums jāzina Javascript, PHP, SQL un Python, lai visas sastāvdaļas dziedātu. Mobilo lietotņu veidotāji izmanto Swift vai C, lai izveidotu iOS lietotnes, un Java vai Kotlin Android lietotnēm. Video spēļu izstrādātāji vērsīsies Unity vai pat C #, lai savas spēles idejas atdzīvinātu.

Vai joprojām nevarat izlemt par sākuma programmēšanas valodu? Lielākā daļa profesionāļu iesaka mācīties Python, C # vai JavaScript, jo tie piedāvā visplašāko lietderību un karjeras elastību. Lai palīdzētu jums izdomāt, apskatiet šo lielisko infografiku, kurā salīdzinātas dažas populāras programmēšanas valodas.

Pirmkārt, vienkārši sāciet mācīties. Kad jums būs ērtāk izmantot vienu programmēšanas valodu, jūs varēsit uzņemt nākamo daudz ātrāk - piemēram, iemācīties jaunu mūzikas instrumentu vai svešvalodu.

Izmēģiniet dažus tiešsaistes kursus

Ja vēlaties vairāk kontrolēt savu mācību grafiku (vai nevēlaties to aplūkot atsevišķi), tiešsaistes kodēšanas kurss varētu būt labāks risinājums nekā personiskās kodēšanas sāknēšanas programma. Tomēr ir daudz dažādu tiešsaistes nodarbību, kurās tiek mācītas tās pašas programmēšanas valodas, un var būt grūti izdomāt, kura no tām ir jūsu laika un naudas vērts.

Ja jums nav iebildumu praktizēt solo, iepazīstieties ar The Odin Project - bezmaksas iespēju, kurā apkopots viens no labākajiem atvērtā pirmkoda satura kodēšanas iesācēju pārvēršanas programmētājiem.

Vai vēlaties vairāk individuālu apmācību un karjeras sagatavošanu, neveicot pilnu slodzi? Mēģiniet reģistrēties abonēšanas modeļa sertifikācijas kursiem no Udacity vai Treehouse, kur jums ir iespēja lūgt pasniedzēja palīdzību, nevis tikai jācieš no kodēšanas kļūdām vai jautājumiem. Jūs nevarat paveikt daudz labāk nekā Udemy 19 ASV dolāru kodēšanas nodarbības (vēl mazāk, ja notiek izpārdošanas) - pat pilna laika sāknēšanas videokameras un datorzinātņu studenti pierakstās uz šīm nodarbībām, lai papildinātu mācīšanos.

Neatkarīgi no tā, cik daudz kursu pabeidzat, daudziem iesācējiem joprojām ir grūti pielietot savas salīdzinoši pamatzināšanas. Šajā nolūkā daudzi iesaka bezmaksas praktisko JavaScript kursu no Watch and Code, kas ir saistīts ar vienu projektu, kuru jūs pastāvīgi atkārtojat.

Koncentrējieties uz skaitļošanas domāšanas apguvi

Tā vietā, lai koncentrētos uz noteiktas programmēšanas valodas apguvi, varat iemācīties arī datoru saprotamā veidā. Citiem vārdiem sakot, uzlabojiet prasmes tādās koncepcijās kā modeļa atpazīšana, algoritmi un abstrakcijas. Pastāv arī lingo, piemēram, cilpas, kuras var uznirst jebkurā jūsu lietotajā valodā. Jo labāk jūs sapratīsit šos principus, jo vieglāk būs iemācīties nākamo valodu (un rezultātā izveidot labākus produktus vai projektus).

Pateicoties internetam, jums nav jāreģistrējas četrgadīgā koledžas programmā, lai apgūtu datorzinātnes pamatus; vairākas koledžas līmeņa nodarbības ir pieejamas tiešsaistē bez maksas (vai par nominālo maksu).

Es nevaru pietiekami ieteikt Hārvardas CS50x ievadi datorzinātnēs. Jūs varat revidēt kursu bez maksas, izmantojot edX, un nopelnīt sertifikātu, izpildot visus uzdevumus, vai arī varat doties savā tempā un skatīties visas Youtube ievietotās lekcijas. Izmantojot šo piecpadsmit tiešsaistes kursu izvēli (no kuriem daudzi ir arī mūsu Goldavelez.com U sērijā), jūs varat izveidot pats savu DIY koledžas līmeņa datorzinātņu programmu.

Iegūstiet grāmatu

Labākais veids, kā iemācīties kodēt, var būt saistīts ar tuvināšanās un personības uzlabošanu ar dažiem nokaltušiem kokiem - īstu grāmatu, kurai varat sekot līdzi no sākuma līdz beigām. Ideālā pasaulē tas sniegs jums visaptverošāku ievadni kodēšanā, nekā vietnē pāriet no vienas tēmas uz tēmu.

Iespējams, ka vietnē GitHub varat atrast e-grāmatu jebkurai valodai vai ietvaram, kuru mēģināt iemācīties, taču daudzi tīmekļa izstrādātāji zvēru pie Jona Duketa krāsainajām sērijām par visu, sākot no tīmekļa vietnes sākuma līdz beigām.

Kā pašmācības programmētājs jūs varētu gūt labumu arī no grāmatām, kas piedāvā plašākus padomus par šo profesiju. Jūs uzlabosit savu domāšanu un ieradumus, iezīmes, kuras varat izmantot jebkurā valodā, kuru nolemjat mācīties. Stīva Makkonella 900 lappušu kods pabeigts: programmatūras izstrādes praktiskā rokasgrāmata (2. izdevums) tiek uzskatīts par galīgo paraugprakses rokasgrāmatu, sniedzot ar datiem pamatotus padomus par visu, sākot no projekta izstrādes līdz atkļūdošanas kodam.

Šīs behemotes rezultāts ir Clean Code: “Tēvocis Bobs” Roberta Martina rokasgrāmata “Agile Software Craftsmanship”. Martins uzskata, ka kods ir efektīvi jāraksta, lai būtu viegli pārbaudīt un mērogot, padarot to par daudzām mūsdienu dev komandām obligāti izlasāmu.

Tā kā programmēšana patiešām ir saistīta ar problēmu risināšanu, jūs novērtēsit pārdomu procesu un “aploksnes aizmugurē” esošos risinājumus, ar kuriem Jons Bentlijs dalās programmā Programming Pearls (2. izdevums). Katra nodaļa noslēdzas ar vairākiem izaicinājumiem, kurus bieži izmanto tehniskās darba intervijās, tāpēc padariet šo grāmatu par daļu no jūsu sagatavošanās darba.

Iepazīstieties ar dažām interaktīvām pamācībām vai kodēšanas spēlēm

Cīnīsimies pret to, ka koda rindiņu lasīšana ekrānā vai grāmatā var izskatīties kā jucekļa. Kad redzat piemēru darbībā, šim abstraktajam jēdzienam pēkšņi ir pilnīga jēga. Tas ir interaktīvo kodēšanas apmācību skaistums, ko varat atrast tīmeklī.

Piemēram, FreeCodeCamp ne tikai kodēšanas jēdzienus sadala mazos gabalos jūsu tīmekļa pārlūkprogrammā, bet arī sadala katru jēdzienu ar atbilstošu vingrinājumu, kas jums jāatrisina, pirms pāriet uz nākamo tēmu. Tādā veidā jūs varat ne tikai pāriet uz priekšu pie jautrajiem priekšmetiem; vietne patiešām liek jums atkļūdot savu kodu, kad jūs mācāties.

Kodēšanas spēles ir arī jautrs veids, kā programmēšanas laikā slapjš kājām. Ja jums ir stunda nogalināšanas, varat izmēģināt vienkāršās Hour of Code spēles. Turklāt daudzas skolas jau izmanto Minecraft: Educational Edition, lai iemācītu bērniem programmēšanas pamatus ar kodēšanas blokiem un pat JavaScript. (Ja jums ir Office 365 Education konts, šo Minecraft versiju var lejupielādēt bez maksas.)

Vai vēlaties iegūt sarežģītāku spēles izstrādes apmācību, kuru varat izmantot savā CV? CodinGame varētu būt piemērotāks vecumam, ja nejūtas kā caurumošanas bloki visu dienu.

Izmēģiniet bērnu rotaļlietu

Kurš saka, ka pieaugušie nevar mācīties no tām pašām STEAM / STEM rotaļlietām un videospēlēm, kurās bērni tiek kodināti? Galu galā šie produkti ir izstrādāti, lai iemācītu kodēšanas loģiku un sintakse, bez garlaicīgiem viegli apjucis bērniem, tāpēc pat pieaugušie kodētāji varētu atrast viņus jautrus un izglītojošus.

Ja vēlaties labāk izprast sakarības starp aparatūru un programmatūru, jums patiks Piper Computer Kit 2, ar kuru jūs veidojat datoru, kas darbināms ar Raspberry Pi. Izmantojot šo DIY klēpjdatoru, jūs varat iemācīties kodēt, izmantojot pielāgotos Minecraft Story Mode izaicinājumus, izmantot vilkšanas un nomešanas Blockly valodu, lai iemācītos fizisko skaitļošanu, vai arī vienkārši paņemt kādu Python no iepriekš instalētām nodarbībām.

Lai gan jūs, iespējams, nevarēsit izveidot savu BB-8 droid no, jūs varat iemācīties to kodēt ar Sphero's BOLT. Izmantojot papildprogrammu, jūs varat kontrolēt savu droid bumbiņu, izmantojot vilkšanas un nomešanas kodēšanas blokus, kurus sauc par Scratch, vai arī paceliet Java līmeni, lai programmētu sarežģītākas kustības.

Māciet iecienītākajām ierīcēm (un palīgiem) jaunus trikus

Vai jums ir tāda viedtālruņa ierīce kā Amazon Echo? Jūs varat pārbaudīt savas kodēšanas prasmes, izveidojot pielāgotas mini programmas, lai iegūtu vairāk funkcionalitātes no ierīču digitālajiem palīgiem. Amazon Alexa, iespējams, jau zina daudzas balss komandu “pamatprasmes”, piemēram, lasot jaunākos ziņu virsrakstus, taču jūs varat iemācīt viņai sarežģītākus uzdevumus, kodējot tos Node.js, Java, Python, C # vai Go. (Vai arī, ja vēlaties sākt ar kaut ko vieglāku, izmēģiniet vienkāršāku Alexa prasmju projektu vietni.)

Iespējams, ka jūsu interese par kodēšanu ir ierobežotāka - jūs, iespējams, vēlēsities vienkārši iemācīties pietiekami daudz Python, lai, piemēram, jūsu Raspberry Pi veiktu atdzist projektus. Ja tā, jūs varat izmantot pašizveidoto pieeju mācībām, iepazīstoties ar daudzajiem projektiem, ar kuriem citi dalās savā tīmekļa vietnē.

Atjaunojot esošos projektus, jūs uzzināsit vairāk par īpaši pielāgojamās ierīces iekšējo darbību. Jūs pat varētu iedvesmoties radīt jaunus veidus, kā izmantot savu mini datoru un padziļināties kodu pasaulē. (Ja jūs vēlaties nelielu palīdzību darba sākšanā, jūs pat varat reģistrēties UC Irvine's Raspberry Pi platformas un Python programmēšanas klasē Raspberry Pi platformas klasē, ja vēlaties nelielu palīdzību.)

Skatieties video par kodēšanu

Dažreiz ir vienkārši vieglāk skatīties, kā kāds parāda, kā tas tiek darīts. Jūs varat atrast visu veidu izglītojošus videoklipus par gandrīz jebkuru ar kodēšanu saistītu tēmu mūsdienās: bijušie Google darbinieki kopīgo risinājumus kodēšanas intervijās, YouTubers tiešraidē demonstrē savus kodēšanas maratonus un pat programmēšanas veterāni parāda, kā novērst specifiskas kļūdas problēmu jebkurā vēlamajā valodā.

Es iesaku pārbaudīt CS Dojo, TheNetNinja un Hārvardas CS50 YouTube kanālu. Ja jums nav laika meklēt perfektu kodēšanas video vai kanālu, varat arī apskatīt LinkedIn Learning plašo video bibliotēku, kurā ir pārbaudītas un profesionāla izskata konsultācijas. Lai gan pakalpojuma abonēšanas maksa USD 30 mēnesī nav par ko šķīstīties, jūs varat pārmērīgi skatīties neierobežotu daudzumu satura un tēmu - padarot LinkedIn Learning izdevīgāku piedāvājumu nekā citās tiešsaistes nodarbībās pēc pieprasījuma, kurām ir kaitinošie ierobežojumi.

Prakse ar personīgiem projektiem

Neatkarīgi no tā, cik daudz sertifikātu un kodēšanas semināru jūs aizpildāt vai cik daudz programmēšanas valodu jūs apgūstat, kodēšanas prasmes pierādījums būs jūsu programmēšanas projektā. Lai arī personīgajam projektam nav jābūt tik vērienīgam kā nākamā Google Maps izveidošanai, tam vajadzētu būt kaut kam, ar kuru jūs vēlaties strādāt visu diennakti, lai pastāvīgi uzlabotu un paplašinātu tā darbības jomu.

Sāciet mazu, bet domājiet lielu. Jūsu projektā jāiekļauj prasmes, kas jums pašreiz ir jūsu rīku komplektā, taču jums vajadzētu būt arī nākotnes funkciju un prasmju plānam, kas jums būs nepieciešami, lai šo redzējumu pārvērstu realitātē. Neizmantojot savas kodēšanas prasmes dažos projektos, jūs pat neuzskatīsit par profesionāliem kodēšanas koncertiem - tāpēc sāciet plānot un praktizēt. (Mūsu padoms? Izmantojiet savus kodēšanas karbonādes, lai izveidotu pārsteidzošu spēles nakts iestatījumu.)

Sviniet mazās uzvaras

Kodēšana ir viss sīkumos, tāpēc jums ir “jāsvin nelielas uzvaras”, kā to teica viens no mūsu programmēšanas profesoriem. Nepieciešama prakse, lai katrs elements darbotos patstāvīgi, kā arī pastāvīga pārbaude, lai nodrošinātu, ka katra koda rinda darbosies ar visu pārējo - bez kļūdām. Ja neveicat šķietami mazsvarīgas lietas, piemēram, aizverot HTML tagu, jūs iestrēdzat vienkāršas sintakses kļūdas atkļūdošanu, nevis uzrakstījāt iespaidīgāku un sarežģītāku kodu.

Jums jābūt pacietīgam pret sevi; negaidiet, ka nākamais tiks kodēts tikai pēc dažiem mēnešiem ilgas studijas vai pēc dažām sākumkamerām. Kāzu RSVP formas bez kļūdām kodēšana tīmekļa vietnē vai vienkāršas, tomēr pareizas skaitļu pareģošanas spēles izveidošana iesācējam jau ir ievērojams sasniegums. Ja iestrēdzis, nepadodies. Jums noteikti jāmeklē palīdzība visur, kur to varat atrast, kā arī jāzina, kad ieturēt pārtraukumu, lai izvairītos no izdegšanas. Un tad mēģiniet, mēģiniet vēlreiz.

Google jūsu kļūdu ziņojumus

Šis ir mūsu labākais kodēšanas padoms: Ja nevarat saprast, kāpēc tiek bojāts kods, vienmēr varat meklēt risinājumus tiešsaistē. Galu galā jūs, iespējams, neesat pirmais, kurš pieļāvis savu kļūdu, un kāds internetā, protams, jau ir atradis risinājumu jūsu problēmai. Vienkārši “nokopējiet un ielīmējiet” kļūdas ziņojumu Google (vai vēlamajā meklētājprogrammā), pievienojiet pēdiņu pāri visai frāzei, lai jūs meklētu ne tikai atslēgvārdus, pēc tam nospiediet taustiņu “Enter”. Cerams, ka šis mazais triks novedīs pie pareizās atbildes.

Ja jums joprojām ir problēmas, jūs vienmēr varat nosūtīt savu jautājumu izstrādātāju forumos, piemēram, Stack Overflow, Reddit programmēšanas subreddit vai GitHub. Zvanīt draugam vai interneta svešiniekam nekad nav sāpīgi.

Sakapāt kāda cita kodu

Pārveidojot kāda cita kodu, pārbaudot katru rindu, lai redzētu, kā tā darbojas, jūs iegūsit labāku izpratni par kopējo attēlu. Pateicoties daudzām tonnām atvērtā koda kodu, jūs varat uzzināt gandrīz visu, pārbaudot kāda cita (nevainojamu) darbu. Atcerieties tikai dalīties ar kodu atpakaļ sabiedrībā, ja rodas iedvesma un jūs uzlabojat to programmas daļu, ar kuru jūs darbojāties.

Iegūstiet mentoru (vai māciet kādam citam)

Programmēšanas kopiena ir pilna ar cilvēkiem, kuri vēlas palīdzēt nākamajai programmētāju paaudzei. GitHub, tiešsaistes Hangout sesija izstrādātājiem, kuri kodēšanas projektu pārvaldīšanai izmanto Git, ir paredzēta tiešsaistes sadarbībai. Izstrādātāji ne tikai uzņem un dalās projektos ar vienaudžiem, bet arī sniedz atsauksmes par kodu un vispārīgus padomus sabiedrībai.

Jūs, iespējams, varētu atrast noderīgus tiešsaistes mentorus, izmantojot GitHub, vai satikties ar citiem veterānu izstrādātājiem vietējā kodēšanas Meetup pasākumā vai hackathon. Kad esat ieguvis zināmu pieredzi programmēšanā, iespējams, varēsit atbildēt uz citu cilvēku jautājumiem vai pat iemācīt iesācējiem iesācējus - lielisks pārbaudījums, lai pārliecinātos, vai tiešām zināt savas lietas.

Apmeklējiet kodēšanas sāknēšanas vietu

Sākumkameru kodēšana var būt diskutabla: tās sniegs ātru iepazīstināšanu un pieredzi ar daudzām prasmēm, taču tās, iespējams, nav jūsu zelta biļete uz pilnīgi jaunu Google darbu.

Ja vēlaties piedalīties profesionālajā izglītībā un kļūt par pilna laika izstrādātāju, intensīva un klātienes kodēšanas sāknēšanas kampaņa var jums palīdzēt, it īpaši, ja vislabāk mācāties strukturētā vidē ar reāliem cilvēkiem, lai jūs motivētu. Tomēr šāda veida nometnes bieži apmeklē visdārgāk un prasa daudz laika: jūs skatāties uz USD 15 000, kas palielina tikai mācību summu, kā arī iztikas izdevumus dažiem mēnešiem līdz absolvēšanai.

Par laimi tādas institūcijas kā Flatiron skola un The Grace Hopper programma piedāvā stipendijas vai atliktu apmācību, lai padarītu šīs sāknēšanas nometnes pieejamākas tām nepietiekami pārstāvētajām grupām kā minoritātes un sievietes tehnikas jomā. Iepazīstieties ar kursa pārskatu, lai iegūtu visaptverošu daudzo tiešsaistes un klātienes sākumkameru sadalījumu, ieskaitot detalizētus pārskatus no viņu alum, kas var palīdzēt jums izlemt, vai sāknēšanas nometne palīdzēs jums sasniegt jūsu sapņus par programmēšanu.