mielenkiintoista

Paras tapa opettaa itsesi koodaamaan

Kuva: Christopher Gower (Unsplash)

Jos haluat oppia koodaamaan, ensimmäisten vaiheiden ottaminen tähän valtavaan universumiin saattaa tuntua pelottavalta, ellei pelottavalta tehtävältä. Tässä on iso salaisuus: Siellä on paljon ilmaisia ​​(ja edullisia) resursseja, joita voit käyttää antamaan itsellesi kaiken tarvitsemasi apu, opettaa itsellesi uusia tekniikoita ja tehdä tästä oppimisprosessista hauskaa ja jännittävää - niin jännittävää kuin koodaus voi saada, ainakin .

Olitpa aikuinen, joka haluaa siirtyä teknologiateollisuudelle, opiskelija, joka haluaa oppia uusinta kieltä, tai harrastaja, joka haluaa vain ymmärtää ohjelmistojen ja palveluiden toimivuuden, tarvitset vain tietokoneen ja Internet-yhteyden ohjelmoinnin aloittamiseen. matka. Mutta ennen kuin teet lentävän harppauksen, tässä on parhaat vinkimme ja resurssit, joiden avulla voit lähteä sinut oikealle jalkalle.

Kysy itseltäsi: Miksi haluat oppia koodaamaan?

Ota muutaman minuutin (tai päivä) ajatella syitä - syitä - miksi haluat oppia ohjelmointikielen. Ole rehellinen itsellesi. Yritätkö oppia pelkän minimin saadaksesi ylennyksen? Haluatko tehdä suuren uramuutoksen? Haluatko luoda seuraavan suurimman sovelluksen? Jännitä huonetoverisi ohjelmoimalla erilaisia ​​älylaitteitasi tekemään jotain mahtavaa?

Vastauksesi voi auttaa määrittämään, mitkä ohjelmointikielet / kielet sinun tulisi hallita, ja millaista sitoutumista (ajassa ja rahassa) tavoitteesi saattaa vaatia. Esimerkiksi, jos unelma on luoda seuraava suuri käyttöjärjestelmä tai tappajavaihtoehto PhotoShopille, hyötyisit muodollisesta tietotekniikan koulutuksesta, joka opettaa sinulle C ++: n, samoin kuin monimutkaisemmille aiheille, kuten tietorakenne, algoritmit ja muistin allokointi.

Toisaalta, jos olet keskipitkä ura-ammattilainen, joka haluaa siirtyä tekniseen uraan, lyhytaikainen koodauslaatikko voi olla järkevämpää kuin mennä toisen asteen velkoihin. Jos haluat tehdä vain rakentaa verkkosivustoja tai ajaa Raspberry Pi -rajasi rajoihin, interaktiivisten opetusohjelmien ja ilmaisten verkkokurssien yhdistelmä saattaa riittää pääsemään alkuun.

Valitse oikea ohjelmointikieli

Kun olet selvittänyt, miksi haluat koodata, voit helpommin määrittää, mihin ohjelmointikieleen sinun tulee puuttua. Vaikka ei ole yhtä ”parasta” ohjelmointikieltä, jotkut kielet ovat käyttäjäystävällisempiä kuin toiset. HTML: ää ja CSS: ää pidetään helpoimpana lähtökohtana koodausmaailmaan, mutta ne ovat todella hyödyllisiä vain perussivustojen kehittämisessä.

Interaktiivisemmille verkkosivustoille, joihin sisältyy maksujärjestelmiä tai tietokantoja, sinun on tiedettävä Javascript, PHP, SQL ja Python, jotta kaikki komponentit laulavat. Mobiilisovellusten valmistajat käyttävät Swift- tai C-sovelluksia iOS-sovellusten tekemiseen ja Java- tai Kotlin-sovellukset Android-sovelluksiin. Videopelien kehittäjät kääntyvät Unityn tai jopa C #: n puoleen saadakseen pelin ideat elämään.

Etkö vieläkään voi päättää aloitusohjelmointikielestäsi? Suurin osa ammattilaisista suosittelee Python-, C #- tai JavaScriptin oppimista, koska ne tarjoavat suurimman hyödyllisyyden ja uran joustavuuden. Tutustu tähän hienoan infografiaan, joka vertaa muutama suosittu ohjelmointikieli auttaaksesi sinua mielessäsi.

Ennen kaikkea aloita oppiminen. Kun olet tyytyväinen ohjelmointikieleen, voit valita seuraavan huomattavasti nopeammin - kuten oppia uuden soittimen tai vieraan kielen.

Kokeile joitain verkkokursseja

Jos haluat hallita paremmin oppimisaikataulua (tai et halua käydä sitä yksin), online-koodauskurssi voi olla parempi vaihtoehto kuin henkilökohtainen koodaus bootcamp. On kuitenkin olemassa monia erilaisia ​​online-luokkia, jotka opettavat samoja ohjelmointikieliä, ja voi olla vaikea selvittää, mikä niistä on todella aikaa ja rahaa arvoinen.

Jos et halua harjoittaa yksin harjoittelua, katso The Odin Project, ilmainen vaihtoehto, joka kokoaa yhteen parhaan avoimen lähdekoodin sisällön koodaavan aloittelijan muuttamiseksi ohjelmoijaksi.

Haluatko enemmän yksitellen valmennusta ja uravalmisteluja tekemättä kokopäiväistä käynnistysleiriä? Kokeile ilmoittautua tilausmallin varmennuskursseille Udacitystä tai Treehousesta, missä sinulla on mahdollisuus pyytää ohjaajaa apua sen sijaan, että kärsit koodausvirheistään tai kysymyksistäsi yksin. Et voi tehdä paljon paremmin kuin Udemyn 19 dollarin koodausluokat (vielä vähemmän, kun myynti tapahtuu) - jopa kokopäiväiset bootcamp- ja tietotekniikan opiskelijat ilmoittautuvat näihin luokkiin täydentääkseen oppimistaan.

Riippumatta siitä kuinka monta kurssia suoritat, monille aloittelijoille on silti vaikeaa soveltaa suhteellisen perustietonsa. Tätä varten monet suosittelevat Watch and Code: n ilmaista käytännön JavaScript-kurssia, joka kiertää yhtä jatkuvasti iteraamaa projektia.

Keskity laskennallisen ajattelun oppimiseen

Sen sijaan, että keskittyisit tietyn ohjelmointikielen oppimiseen, voit oppia myös tietokoneen ymmärtämällä tavalla. Toisin sanoen, paranna taitojasi käsitteissä, kuten kuvion tunnistus, algoritmit ja abstraktiot. Siellä on myös lingo, kuten silmukat, jotka varmasti aukeavat millä tahansa kielellä, jota käytät. Mitä paremmin ymmärrät nämä periaatteet, sitä helpompi on oppia seuraava kieli (ja sen seurauksena suunnitella parempia tuotteita tai projekteja).

Internetin ansiosta sinun ei tarvitse ilmoittautua neljän vuoden korkeakouluohjelmaan oppiaksesi tietotekniikan perusteita; joukko korkeakoulutason luokkia on saatavana verkossa ilmaiseksi (tai nimellistä maksua vastaan).

En osaa suositella Harvardin tietotekniikan johdantoa CS50x: ään. Voit tarkistaa kurssin ilmaiseksi edX: n kautta ja ansaita todistuksen suorittamalla kaikki tehtävät, tai voit mennä omassa tahdissasi ja katsella kaikkia luentoja, jotka on lähetetty Youtubeen. Voit rakentaa oman DIY-korkeakoulutason tietojenkäsittelyohjelman tällä viidentoista verkkokurssin valinnalla (joista monet on lueteltu myös Goldavelez.com U -sarjassa).

Hanki kirja

Paras tapa oppia koodaamaan voi olla sinun tekeminen läheltä ja henkilökohtaisesti kuolleiden puiden kanssa - todellinen kirja, jota voit seurata alusta loppuun. Täydellisessä maailmassa tämä antaa sinulle kattavamman johdannon koodaukseen kuin siirtyminen aiheesta aiheeseen verkkosivustolla.

Voit todennäköisesti löytää e-kirjan jokaiselle kielelle tai kehykselle, jonka yrität oppia GitHubista, mutta monet web-kehittäjät vannoo Jon Duckettin värikkäistä sarjoista kaikesta etusijalla olevaan web-kehitykseen.

Itseopiskeluna ohjelmoijana saatat hyötyä myös kirjoista, jotka tarjoavat laajempia neuvoja ammatista. Parannat ajatteluasi ja tapojasi, piirteitä, joita voit soveltaa mihin tahansa kieleen, jonka päätät oppia. Steve McConnellin 900-sivinen koodi täydellinen: Ohjelmistojen rakentamisen käytännöllinen käsikirja (2. painos) pidetään lopullisena parhaiden käytäntöjen oppaana, ja siihen sisältyy tietovarmuus neuvoja kaikesta projektisuunnittelusta vianetsintäkoodiin.

Seurauksena tähän behemothiin on Clean Code: Ketterän ohjelmiston käsityön käsikirja, jonka on tehnyt ”setä Bob” Robert Martin. Martin uskoo, että koodi tulisi kirjoittaa tehokkaasti helppoa testausta ja skaalautuvuutta varten, mikä tekee siitä luettavan monille nykyaikaisille dev-joukkueille.

Koska ohjelmointi on todella ongelmanratkaisua, arvostat ajatteluprosessia ja kirjekuoren takaosaa koskevia ratkaisuja, jotka Jon Bentley jakaa ohjelmointipelleissä (2. painos). Jokainen luku päättyy lukuisilla haasteilla, joita käytetään usein teknisissä työhaastatteluissa, joten tee tämä kirja osaksi valmisteluasi.

Katso joitain interaktiivisia oppaita tai koodauspelejä

Tarkastellaan sitä: koodirivien lukeminen näytöllä tai kirjassa voi näyttää kiusalliselta. Kun näet esimerkin toiminnassa, tuo abstrakti käsite on yhtäkkiä täysin järkevä. Se on kauneus interaktiivisista koodausohjeista, joita löydät verkosta.

Esimerkiksi FreeCodeCamp ei vain hajottaa koodauskäsitteitä pieniksi palasiksi selaimessa, vaan se myös parittaa jokaisen konseptin asiaankuuluvalla harjoituksella, joka sinun on ratkaistava ennen siirtymistä seuraavaan aiheeseen. Tällä tavalla et voi vain siirtyä eteenpäin hauskoihin juttuihin; sivusto pakottaa sinut todella korjaamaan koodisi oppiessasi.

Koodauspelit ovat myös hauska tapa kastella jalat märkäksi ohjelmoinnissa. Jos sinulla on tunti tappaa, voit kokeilla yksinkertaisia ​​Hour of Code -pelejä. Lisäksi monet koulut käyttävät jo Minecraft: Educational Edition -opetusta opettamaan lapsille ohjelmoinnin perusteet koodauslohkoilla ja jopa JavaScriptillä. (Voit ladata tämän Minecraft-version ilmaiseksi, jos sinulla on Office 365 Education -tili.)

Haluatko monimutkaisemman pelin kehittämisohjeen, jonka voit laittaa ansioluetteloosi? CodinGame saattaa olla ikäkohtaisempi, jos et tunnu lyövän kappaleita koko päivän ajan.

Kokeile lasten lelua

Kuka sanoo, että aikuiset eivät voi oppia samoista STEAM / STEM-leluista ja videopeleistä, jotka saavat lapset koukkuun? Loppujen lopuksi nämä tuotteet on suunniteltu opettamaan koodauslogiikkaa ja syntaksia ilman tylsää helposti häiritseviä lapsia, joten jopa aikuiset kooderit saattavat löytää heille hauskoja ja kouluttavia.

Jos haluat ymmärtää paremmin laitteiston ja ohjelmiston välistä suhdetta, nauti Piper Computer Kit 2: stä, jonka avulla rakennat Raspberry Pi-käyttöistä tietokonetta. Tämän DIY-kannettavan avulla voit oppia koodaamaan sen mukautettujen Minecraft Story Mode -haasteiden avulla, käyttämään vetämällä ja pudottamalla Blockly-kieltä oppimaan fyysistä laskentaa tai vain hakemaan joitain perus Python-sovelluksia esiasennetuista oppitunneista.

Vaikka et todennäköisesti pysty luomaan omaa BB-8-droidiasi, voit oppia koodaamaan sellaisen Sphero's BOLT -sovelluksella. Seuraussovelluksen avulla voit hallita droidipalloa vetämällä ja pudottamalla -koodauslohkoilla, nimeltään Scratch, tai tasolle JavaScriptiä, jotta voit ohjelmoida edistyneempiä liikkeitä.

Opettele suosikkilaitteitasi (ja avustajiasi) uusia temppuja

Onko sinulla smarthome-laitetta, kuten Amazon Echo? Voit koodata taitosi kokeiluun luomalla räätälöityjä miniohjelmia, jotta saat enemmän toimintoja laitteidesi digitaalisista avustajista. Amazonin Alexa saattaa jo tietää monia äänikomentojen perustaidoja, kuten uusimpien uutisotsikoiden lukemista, mutta voit opettaa hänelle monimutkaisempia tehtäviä koodaamalla Node.js, Java, Python, C # tai Go. (Tai jos haluat aloittaa jotain helpompaa, kokeile yksinkertaisempia Alexa-taitosuunnitelmien sivustoa.)

On mahdollista, että kiinnostuksesi koodaukseen on rajoitetumpaa - saatat haluta vain oppia tarpeeksi Pythonia, jotta esimerkiksi Raspberry Pi voi tehdä viileitä projekteja. Jos näin on, voit omaksua itseäsi -lähestymistavan oppimiseen tutustumalla moniin muihin hankkeisiin, jotka muut jakavat sen verkkosivuilla.

Uudelleenluomalla olemassa olevia projekteja saat lisätietoja hyvin muokattavan laitteen sisäisestä toiminnasta. Saatat jopa löytää inspiraation luoda uusia tapoja käyttää minitietokonettasi ja tuntea syvemmälle koodimaailmaa. (Voit jopa ilmoittautua Courseran kautta UC Irvine: n Raspberry Pi Platform- ja Python-ohjelmointiin Raspberry Pi Platform -luokalle, jos haluat vähän apua aloittamiseen.)

Katso videoita koodauksesta

Joskus on vain helpompaa katsoa, ​​että joku näyttää, kuinka se tapahtuu. Löydät kaikenlaisia ​​koulutusvideoita melkein kaikista koodaukseen liittyvistä aiheista nykyään: entiset Google-käyttäjät jakavat ratkaisuja koodaushaastatteluihin, YouTubers-ohjelmat reagoivat koodausmaratoniensa lähetykseen ja jopa ohjelmoivat veteraaneja, jotka osoittavat sinulle, kuinka vianmääritys voi tapahtua millä tahansa haluamalla kielellä.

Suosittelen tarkistamaan CS Dojo, TheNetNinja ja Harvardin CS50-YouTube-kanava. Jos sinulla ei ole aikaa etsiä täydellistä koodausvideota tai -kanavaa, voit myös tutustua LinkedIn Learningin laajaan videokirjastoon tarkistettujen ja ammattimaisen tutoriaalien avulla. Vaikka palvelun 30 dollarin kuukausittainen liittymismaksu ei aivan aivottele, voit tarkkailla rajoittamatonta määrää sisältöä ja aiheita - mikä tekee LinkedIn Learning -sovelluksesta edullisemman tarjouksen kuin muut on-demand-verkkokurssit, joihin liittyy ärsyttäviä rajoituksia.

Harjoittele henkilökohtaisten projektien kanssa

Ei ole väliä kuinka monta sertifikaattia ja koodausseminaaria suoritat tai kuinka monta ohjelmointikieltä opit, todistus koodaustaitodestasi tulee ohjelmointiprojektiisi. Vaikka henkilökohtaisen projektisi ei tarvitse olla yhtä kunnianhimoista kuin seuraavan Google Mapsin luominen, sen tulisi olla jotain, jonka haluat työskennellä ympäri vuorokauden ympäri parantaaksesi ja laajentaaksesi jatkuvasti sen laajuutta.

Aloita pieni, mutta ajattele iso. Projektiisi tulee sisällyttää tällä hetkellä työkalupakossasi olevat taidot, mutta sinulla tulisi olla myös suunnitelma tulevista ominaisuuksista ja taitoista, joita tarvitset muuttaaksesi näkemyksen todellisuudeksi. Käyttämättä koodaustaitojasi muutamassa projektissa, et edes harkitse ammatillisia koodauskeikkoja - aloita suunnittelu ja harjoittelu. (Neuvomme? Käytä koodauslappujasi rakentaaksesi hämmästyttävä asennus peliyöhön.)

Juhli pieniä voittoja

Koodaus on kaikki yksityiskohdissa, minkä vuoksi sinun on juhlittava pieniä voittoja, kuten yksi ohjelmointiprofessorimme sanoi. Kestää kunkin elementin toimimisen itsenäisesti, ja jatkuvan testauksen varmistaa, että jokainen koodirivi toimii kaikilla muilla osilla - ilman virheitä. Jos et tee näennäisesti vähäisiä asioita oikein, kuten suljetaan HTML-tunnistetta, sinun pitäisi olla virheenkorjaamassa yksinkertaista syntaksivirhetta sen sijaan, että kirjoittaisit vaikuttavamman ja monimutkaisemman koodin.

Sinun on oltava kärsivällinen itsesi suhteen; Älä odota seuraavan koodaamista vain muutaman kuukauden tutkimuksen tai muutaman käynnistysleirin jälkeen. Virheettömän RSVP-häälomakkeen koodaaminen verkkosivustolle tai yksinkertaisen, mutta oikein numeron ennustamispelin tekeminen on jo merkittävä saavutus aloittelijalle. Jos olet jumissa, älä anna periksi. Sinun on ehdottomasti etsittävä apua kaikkialta, josta löydät sen, mutta myös tiedettävä milloin pitää tauko välttääksesi palovammoja. Ja sitten yritä, yritä uudelleen.

Google-virheviestisi

Tämä on paras koodausneuvontamme: Jos et ymmärrä miksi koodisi on rikki, voit aina etsiä ratkaisuja verkosta. Et todennäköisesti ole ensimmäinen henkilö, joka teki virheen, ja joku Internetistä on varmasti jo löytänyt ratkaisun ongelmaan. Lisää vain kopioi ja liitä virhesanoma Googleen (tai haluamaasi hakukoneeseen), lisää lainausmerkit koko lauseen ympärille, jotta et vain etsisi avainsanoja, ja paina sitten Enter. Toivottavasti tämä pieni temppu johtaa oikeaan vastaukseen.

Jos sinulla on vielä ongelmia, voit aina lähettää kysymyksesi kehittäjien foorumeille, kuten Stack Overflow, Redditin ohjelmointialdit tai GitHub. Soittaa ystävälle tai Internet-muukalaiselle ei ole koskaan haittaa.

Hakkeroi jonkun toisen koodi

Kun muokkaat jonkun toisen koodia ja testaat jokaista riviä sen toiminnan kannalta, saat paremman käsityksen suuresta kuvasta. Siellä olevien tonsien avoimen lähdekoodin ansiosta voit oppia melkein mitä tahansa tutkimalla jonkun toisen (virheetöntä) työtä. Muista vain jakaa koodi takaisin yhteisölle, jos inspiraatio osuu ja parannat osaa ohjelmastasi, jonka kanssa vihasi.

Hanki mentori (tai opeta joku muu)

Ohjelmointiyhteisö on täynnä ihmisiä, jotka ovat valmiita auttamaan seuraavan sukupolven ohjelmoijia. GitHub, online-hangout kehittäjille, jotka käyttävät Git-ohjelmaa koodausprojektiensa hallintaan, on suunniteltu verkkoyhteistyöhön. Kehittäjät eivät vain isännöi ja jaa projekteja kumppaneidensa kanssa, vaan tarjoavat myös koodipalautetta ja yleisiä neuvoja yhteisölle.

Saatat ehkä löytää hyödyllisiä online-menttoreita GitHubin kautta tai tavata muita veteraanikehittäjiä paikallisella koodaus Meetup -tapahtumassa tai hackathonissa. Kun olet hankkinut jonkin verran kokemusta ohjelmoinnista, saatat pystyä vastaamaan muiden ihmisten kysymyksiin tai jopa opettamaan aloittelijoille oppimiasi - loistava testi nähdäksesi, tunnetko todella jutusi.

Osallistu koodaavaan käynnistysleiriin

Käynnistysleirien koodaaminen voi olla kiistanalainen: Ne antavat sinulle nopean esittelyn ja kokemuksen monille taitoille, mutta ne eivät ehkä ole kultainen lippu aivan uudelle Google-työlle.

Jos haluat mennä ammattilaiseksi ja tulla kokopäiväiseksi kehittäjäksi, intensiivinen ja henkilökohtaisesti koodaava käynnistysleiri saattaa auttaa sinua, etenkin jos opit parhaiten jäsennellyssä ympäristössä todellisten ihmisten kanssa motivoidaksesi sinua. Tämäntyyppiset käynnistysleirit ovat kuitenkin usein kalleimpia ja aikaintensiivisimpiä osallistua: Tarkastelet korkeintaan 15 000 dollaria pelkästään lukukausimaksusta, plus lisäkustannukset muutaman kuukauden ajan, kunnes valmistut.

Onneksi Flatiron-koulu ja The Grace Hopper -ohjelma tarjoavat stipendejä tai viivästyttävää opetusta, jotta nämä käynnistysleirit olisivat edullisempia aliedustetuille ryhmille, kuten vähemmistöille ja tekniikan naisille. Tutustu kurssiraporttiin, jossa on kattava erittely monista verkko- ja henkilökohtaisista käynnistysleireistä - mukaan lukien yksityiskohtaiset arvostelut niiden aluminista -, joiden avulla voit päättää, aikooko käynnistysleiri auttaa sinua saavuttamaan ohjelmointiunelmiesi.