Mainos

Ohjelmointi on kovaa. Ainoat ihmiset, jotka väittävät muuta, ovat ne, joilla on vuosien koodauskokemus. On okei olla ylikuormitettu! Siellä paljon oppia ja todennäköisesti unohdat asiat yhtä nopeasti kuin opit ne. Luota minuun: se on normaalia.

Mutta vain siksi, että se on normaalia, ei tarkoita, etteikö se olisi turhauttavaa. Totuus kerrottakoon, oppia koodaamaan Kuinka oppia ohjelmointia ilman kaikkea stressiäEhkä olet päättänyt harjoittaa ohjelmointia joko uralla tai vain harrastuksena. Loistava! Mutta ehkä alat tuntea olosi ylivoimaiseksi. Ei kovin hyvä. Tässä on apua matkasi helpottamiseksi. Lue lisää voi olla erittäin stressaavaa, jos et lähesty sitä oikealla mielentilalla ja asenteella.

Haluatko oppia uuden kielen tai kirjaston tai kehyksen mahdollisimman pian, eikö niin? Se on ymmärrettävää. Onneksi on olemassa muutamia vinkkejä, jotka voivat auttaa sinua säilyttämään paremmin kaikki raskaat ohjelmointitiedot, jotka lentävät toisesta korvasta sisään ja toisesta ulos.

Ei enää cram-istuntoja

Kukaan ei halua kuulla sitä, mutta ahmiminen on huonoin tapa oppia ohjelmoimaan. Jos olet minun kaltaiseni, ahmiminen oli sinun toimintatapa koko koulun ja yliopiston ajan. Se on ainoa tapa, jolla osaat opiskella.

Mutta opi virheistäni: mitä enemmän yrität ahmia, sitä vähemmän muistat. Tämä pätee melko pitkälti mihin tahansa tietoon perustuvaan aiheeseen, mutta se on erityisen totta ohjelmoinnin osalta.

Tämän väitteen perusta tulee vuoden 2008 tutkimuksesta Kalifornian yliopisto, San Diego:

"Opiskelijat suoriutuvat paremmin, kun he jakavat opiskeluistuntojaan, sen sijaan, että he yrittäisivät tukkia kaiken omiin töihinsä yhden istunnon aikana."

Miksi? Todennäköisesti johtuen sarjasijaintiefekti:

"Sarjasijaintivaikutus on ihmisen taipumus muistaa sarjan ensimmäinen ja viimeinen kohde ja huonoimmin keskimmäinen."

Toisin sanoen: missä tahansa opiskeluistunnossa säilytät todennäköisemmin lähellä oppimaasi tietoa istunnon alussa ja lopussa ja todennäköisemmin unohtaa tiedot keskeltä istunto.

Haluat maksimoida alkujen ja loppujen määrän. Siksi on parempi pitää useita lyhyitä istuntoja muutaman pitkän istunnon sijaan, kun on kyse uuden materiaalin oppimisesta ja omaksumisesta.

Kun seuraavan kerran istut alas oppimaan koodia, ota se yksi aihe kerrallaan ja pidä lyhyt tauko kunkin aiheen välillä. (Varmista vain, että tauot eivät muutu viivyttelyksi!)

Arvioi, Arvioi, Arvioi

Toinen syy, miksi ahmiminen on ristiriidassa pitkän aikavälin tiedon säilyttämisen kanssa, on se, että muisti haalistuu ajan myötä. Tämä ei ole aina totta – olen varma, että meillä kaikilla on muutamia lapsuusmuistoja, jotka eivät koskaan katoa – mutta se näyttää olevan yleinen tapaus muistoille, jotka eivät ole sidottu tunteisiin.

Keskustelua käydään siitä, rappeutuuko itse muisti ajan myötä (rappeutumisteoria) tai se vain työnnetään ulos ja korvataan uusilla muistoilla ajan myötä (häiriöteoria). Minkä teorian hyväksytkin, seurauksena on, että vanhemmat muistot haalistuvat todennäköisemmin.

Tässä arvostelu tulee peliin.

newbie-coder-tips-memory-review

Ajattele sitä kuin kävelemään muistojen metsässä. Joka kerta kun haluat käyttää muistia, sinun on tehtävä se jäljittää hermopolkua löytääkseen sen. Joka kerta, kun jäljittelet tämän muistin, polku syöpyy sisään hieman enemmän - aivan kuten likareitti muodostuu luonnollisesti, kun ihmiset kävelevät samaa polkua yhä uudelleen. Jos lopetat polun kävelemisen, se voi haalistua ja muisto katoaa jonnekin metsään.

Jättäen syrjään kaikki poppsykologia, tässä on otos: ohjelmoinnin suhteen ei riitä, että oppii aiheen vain kerran tai kahdesti. Sinun täytyy käydä siinä uudelleen kymmeniä tai jopa satoja kertoja. Jokainen arvostelu syövyttää aiheen aivoihisi hieman syvemmälle.

Tiedän, kuinka vaikeaa tämä voi olla, jos olet luonnollinen ryöstäjä, mutta yllätyt kuinka nopeasti alat säilyttää materiaalia, kun yrität tarkistaa sen säännöllisesti.

Käytä useita erilaisia ​​resursseja

Vaikein osa ohjelmointia – ainakin upouusien koodaajien kohdalla – on sisäistämisen vaativien yksityiskohtien ja vivahteiden valtava määrä. Kunnes tuo sisäistäminen tapahtuu, olet jatkuvassa pään raapimisessa.

Kielestä riippuen sinun on opittava ulkoa satoja syntaksisääntöjä (esim. avainsanat, puolipisteet, välilyönnit). Jotkut kielet ovat tiukempia, toiset vähemmän, ja toisilla on oma ainutlaatuinen lähestymistapansa syntaksiin, joita ei käytetä missään muualla. Kaikki tämä voi olla hämmentävää, jos sinulla ei ole aikaisempaa kokemusta koodauksesta.

newbie-coder-tips-code-confusion

Puhumattakaan kaikesta käsitteellisesta tiedosta, joka ylittää yksittäiset kielet. Aiheet, kuten olio-ohjelmointi, entiteettikomponenttijärjestelmät ja tarkkailijamallit, voivat todella saada pään pyörimään, kun yrität oppia niitä ensimmäisen kerran.

Olen jakanut tämän kuvan aiemmin, mutta se on niin ajankohtaista, että se kannattaa toistaa:

"Oletetaan, että joku näyttäisi sinulle valokuvan patsaasta. Se saattaa tarjota tarpeeksi kuvan, jotta saat riittävän käsityksen patsaasta, mutta et saa koko kuvaa. Loitonnettu valokuva menettäisi monimutkaiset yksityiskohdat, kun taas zoomattu valokuva menettäisi perspektiivin. Mutta muista kuvakulmista otettujen lisävalokuvien avulla voit todella alkaa nähdä patsaan täyteys tekstuurissa, koossa, yksityiskohtaisesti, edestä taakse, sivulta sivulle ja ylhäältä alas."

Ohjelmoinnin oppiminen voi olla yllättävän mielivaltaista. Kaikki saattavat kehua resurssia A parhaana tavan oppia kieltä X, mutta ehkä siinä ei ole sinulle mitään järkeä. Ehkä kaikki vihaavat resurssia B, mutta katsot yhdellä silmäyksellä ja se on täysin järkevää! Mitä tulee joku muuhun, ehkä he ovat erillään opiskellessaan resursseja A ja B, mutta hyötyvät suuresti resurssista C.

Siksi on niin tärkeää, että olet valmis kuluttamaan kaikenlaisia ​​resursseja. Jokainen oppii eri tavalla. Jos sinulla on ongelmia tietyn aiheen kanssa, etsi toinen lähde. Ehkä se sopii sinulle paremmin. Ehkä ei.

Vaikka luulet ymmärtäväsi tietyt aiheet, on mahdollista, että niistä on vielä opittavaa. On myös mahdollista, että jonkun muun selitys vahvistaa käsitteen mielessäsi lopullisesti. Et koskaan tiedä, joten miksi et kuluttaisi niin paljon resursseja kuin mahdollista?

Huomaa, että pelit voivat olla erittäin hyödyllinen resurssi! Katso nämä hauskoja ja opettavia koodauspelejä 9 parasta koodauspeliä ohjelmointitaitosi kehittämiseenKoodauspelit auttavat sinua oppimaan nopeammin käytännön harjoittelun ja kokemuksen avulla. Lisäksi ne ovat hauska tapa testata ohjelmointitaitojasi! Lue lisää .

Opettele käsitteitä samalla tavalla kuin opit niitä

Ohjelmoinnissa on kaunis konsepti nimeltä kumi ankan virheenkorjaus Outoimmat ohjelmointiperiaatteet, joista et ole koskaan kuullutSeuraavat periaatteet opettavat sinua olemaan viisaita koodisi kanssa. Jotkut ovat outoja ja monet ovat humoristisia, mutta ne ovat kaikki yhtä käytännöllisiä ja tärkeitä. Huomio! Lue lisää , joka kuvaa tekniikkaa, jolla koodi selitetään rivi riviltä elottomalle kumisakkalle. Sitä käytetään, kun tietty koodisegmentti on rikki, mutta sille ei ole selvää syytä.

Kummallista kyllä, useimmilla ohjelmoijilla on "Eureka!" hetki keskellä koodin selittämistä, kun he yhtäkkiä näkevät, missä koodauslogiikkavirhe tapahtuu. Verbalisointi laukaisee eri alueen aivoissa ja pakottaa sinut näkemään ongelman uudesta näkökulmasta.

Tätä käsitettä voidaan myös käyttää apuna uuden materiaalin oppimisessa. Olet ehkä törmännyt tähän suosittuun lainaukseen, joka usein liitetään Albert Einsteiniin:

"Jos et osaa selittää sitä yksinkertaisesti, et ymmärrä sitä tarpeeksi hyvin."

Lukuun ottamatta joitakin aloja, jotka käsittelevät edistynyttä teoreettista tietoa, tämä sanonta pitää paikkansa. Mitä enemmän ymmärrät aiheen, sitä paremmin sinulla on valmiudet selittää se siten, että joku, joka ei tunne aihetta, voi silti ymmärtää sen.

newbie-coder-tips-kumi-ankka

Tämän päinvastoin on myös totta. Kun yrität opettaa aihetta, törmäät tiettyihin käsitteisiin, joita et näytä pystyvän selittämään selkeästi. Tämä ei ole vain mahtava tapa diagnosoida tietämyksesi heikkouksia, vaan oikean selityksen löytäminen voi auttaa vahvistamaan käsitystä mielessäsi.

Sitä kutsutaan opettamalla oppimiseksi, ja se on pohjimmiltaan käänne kumiankan virheenkorjaukseen.

Nyt en sano, että sinun pitäisi itse asiassa opettaa muita; mieluummin jokainen uusi ohjelmointiaihe, jonka opit, yritä opettaa se kumiankolle (tai näkymätön ystävälle). Se voi tuntua aluksi typerältä, mutta saatat pitää sen uskomattoman hedelmällisenä muistin säilyttämisen kannalta.

Tarkoitettu harjoittelu tekee mestarin

Käsitys lahjakkuudesta on täyttä roskaa. Kukaan ei poistu kohdusta maailmanluokan viulistina, painijana tai ohjelmoijana. Toki jotkut ihmiset saattavat olla taipuvaisempia tiettyihin tieteenaloihin, mutta lahjakkuus ilman kokemusta on turhaa Älä anna piilotettujen kykyjesi kuolla: 7 tapaa mennä ja löytää ne uudelleenHuono uutinen on, että sinun täytyy työskennellä lujasti hioaksesi piilotettuja kykyjäsi. Hyvä uutinen on, että kykyjesi sylkemiseen on enemmän kuin koskaan. Lue lisää . Samoin kova työ on aina arvokkaampaa kuin lahjakkuus.

Niin sanottu, kaikki kovan työn muodot eivät ole samanarvoisia. Malcolm Gladwell loi surullisen 10 000 tunnin säännön, jonka mukaan sinun on investoitava vähintään 10 000 tuntia aiheeseen tullaksesi mestariksi. Vaikka tunne saattaa olla totta, monet ihmiset ymmärtävät väärin, mitä hän yritti sanoa.

aloittelija-koodaaja-vinkkejä-tietoinen-käytäntö

Lyhyesti sanottuna 10 000 tunnin sitoutuminen ei itse asiassa takaa mestaruutta. Tiedät sanonnan: "Harjoittelu ei tee mestaria. Täydellinen harjoitus tekee mestarin." Jotta se olisi merkityksellistä, harjoituksen tulee olla tarkoituksellista Haluatko tulla jonkin asian asiantuntijaksi? Kokeile harkittua harjoitteluaOn aivan liian helppoa tuntea olonsa kaatuneeksi, kun yrittää kovasti parantaa tiettyä taitoa. Käytä "tahallisen harjoituksen" voimaa päästäksesi yli näistä raivostuvista tasangoista. Lue lisää . Mestaruus voidaan saavuttaa vain 10 000 tunnin tietoisella harjoituksella.

Kuinka harjoittelet, on paljon enemmän merkitystä kuin kuinka paljon aikaa käytät harjoitteluun.

Lukeminen on passiivista. YouTube-oppituntien katsominen on passiivista. Podcastien kuuntelu on passiivista. Aloittelevana koodaajana saatat tuntea kiusausta lepäillä opetusohjelmasta toiseen ja käsitellä aihetta toisensa jälkeen ilman, että käytät tätä tietoa käytännössä. Vastusta tätä kiusausta.

On yksi asia ymmärtää edessä oleva esimerkki, mutta toinen asia on syntetisoida ratkaisu tyhjästä. Jos haluat nopeuttaa oppimisprosessia, sinun on oltava valmis olemaan aktiivinen passiivisen sijaan. Aktiivinen harjoittelu on ainoa, jolla on lopulta merkitystä.

Kokeile henkilökohtaisia ​​projekteja

Minulle läksyt olivat koulun pahin osa. Se tuntui vain monimutkaiselta tempulta tappaa hauskaa ja pitää opiskelijat kiireisinä – mikä, rehellisyyden nimissä, oli joskus totta. Mutta nyt kun katson taaksepäin, kotitehtävien tärkeys on vihdoin järkevä. Se pakotti minut soveltamaan uutta tietoa aktiivisesti.

Jos olet ilmoittautunut mukaan ohjelmointikurssit ja -tunnit 11 parasta sivustoa ilmaisille online-tietokoneohjelmointikursseilleKäyttämällä näitä ilmaisia ​​online-tietokoneohjelmointikursseja voit tulla loistavaksi koodaajaksi ilman tietojenkäsittelytieteen tutkintoa. Lue lisää , älä aliarvioi kotitehtävien tehokkuutta. Ota se vakavasti ja pidä sitä aina mahdollisuutena lujittaa oppimaasi pitkäkestoiseen muistiin.

Mutta usein kotitehtävät eivät vieläkään riitä. (Ja jos opit ohjelmoimaan itse ilman varsinaista ohjaajaa, sinulla ei todennäköisesti ole aloitettavia kotitehtäviä.)

newbie-coder-vinkkejä-henkilökohtaisia ​​projekteja

Mikä on ratkaisu? Luo pari poisheitettävää sivuprojektia!

Ajattele a muutama projekti-idea 5 projekti-ideaa, jotka auttavat sinua oppimaan ohjelmoinnin nopeamminOn olemassa muutamia tapoja helpottaa ohjelmoinnin oppimiskäyrää. Likaa kätesi ja opi nopeammin sivuprojekteilla, jotka voit aloittaa milloin tahansa. Leiki näiden viiden kanssa. Lue lisää jonka haluat toteuttaa. Ehdottomille aloittelijoille kannattaa harkita Tic-Tac-Toe- tai Hangman-peliä. Kokeneet ohjelmoijat, jotka yrittävät oppia uutta kehystä, kokeile yksinkertaisen mobiilisovelluksen tai verkkopelin koodaamista. Niin kauan kuin se kiinnostaa sinua henkilökohtaisella tasolla, tee se!

Tämän lähestymistavan kauneus on kaksijakoinen.

Ensinnäkin se todennäköisemmin kiinnittää huomiosi. Tutkimukset ovat osoittaneet, että opiskelijat oppivat paremmin, kun he voivat käsitellä heitä kiinnostavia aiheita. Juuri tämän henkilökohtainen projekti tarjoaa. Sinulla on lopullinen tavoite, jonka todella haluat saavuttaa, joten säilytät todennäköisemmin tiedot, jotka vievät sinut perille.

Toiseksi, sinulla ei ole paineita menestyä. Vaikka menestys olisi mukavaa, muodollisuuden puute antaa sinun olla kokeellinen ja luova. Joudut väistämättä kohtaamaan ongelmia, mutta se on enemmän kuin legolla leikkimistä kuin kotitehtävää. Se on hauskempaa eikä niin stressaavaa.

Rentoudu ja merkitse kaikki

Totuus on, että kukaan ohjelmoija ei muista kaikki he ovat oppineet. Vaikka olet työskennellyt tietyn kirjaston tai kehyksen kanssa jonkin aikaa, ei ole harvinaista, jos et muista kaikkia funktioita tai muuttujia päähäsi.

Itse asiassa kaiken ulkoa yrittäminen voi vain päätyä valtavaan ajan ja vaivanhukkaa. Viitesivut ovat olemassa syystä. Miksi tallentaa kokonainen tietosanakirja muistiin, kun sen voi vain kääntää auki aina kun tarvitset sitä?

newbie-coder-tips-viittaus-kaikki

Joten, milloin opetella ulkoa ja milloin viitata?

Mitä tulee käsitteelliseen materiaaliin, sisäistä se aina parhaan kykysi mukaan. Tällä tarkoitan teorian ymmärtämistä, vaikka et voi muuntaa sitä todelliseksi koodiksi (ja teorian pitäisi olla tarpeeksi selkeä sinulle, jotta voit opettaa sen selkeästi).

Kaikkeen muuhun - kuten tiettyihin toimintojen nimiin, parametriluetteloihin tai jopa kielen omituisuuksiin - En olisi huolissani muistamiseen sitoutumisesta. Voit vapaasti lykätä referenssilehteen. Joskus viittaat johonkin niin usein, että päädyt opettelemaan sen ulkoa. Jos näin tapahtuu, hyvä. Jos ei, sekin on hyvä.

Henkilökohtaisesti minulla on satoja Internet-kirjanmerkkejä erilaisiin sovellusliittymiin, oppaisiin ja opetusohjelmiin. Jos minun on otettava käyttöön jonkinlainen polunhakualgoritmi, saatan viitata oppaaseen, joka auttaa minua koodaamaan, ennen kuin unohdan sen uudelleen. Se auttaa ymmärtämään taustalla olevia käsitteitä, mutta yritän olla murehtimatta toteutuksen yksityiskohtia.

Lopulliset ajatukset

Toistan sen miljoona kertaa, jos minun on pakko: ohjelmointi on vaikeaa, ja se on okei, jos kamppailet sen kanssa. Olen harrastanut ohjelmointia yli vuosikymmenen ajan, ja silti pelkään itseäni, kun minulla on uusia käsitteitä opeteltavana.

Älä lyö itseäsi, jos et muista kaikkea heti. Yllä olevat vinkit ovat toivottavasti hyödyllisiä sinulle, ja vaikka ne eivät olisikaan, voit aina luottaa kirjanmerkkeihin lisättyihin viittauksiin viimeisenä keinona.

Pidätkö ohjelmointia vaikeana? Millaisia ​​temppuja ja vinkkejä tiedät, joista voi olla apua aloittelijoille koodaajille? Jaa viisautesi kanssamme alla olevissa kommenteissa!

Kuvan tekijät: Binääriohjelmoija Shutterstockin kautta, Muistin pyyhekumi Shutterstockin kautta, Hämärtynyt koodi Shutterstockin kautta, Kumi Ducky Shutterstockin kautta, Näppäimistön kirjoittaja Shutterstockin kautta, PHP-lähdekoodi Shutterstockin kautta, Tiedostokansiot Shutterstockin kautta

Joel Leellä on B.S. Tietojenkäsittelytieteessä ja yli kuuden vuoden ammatillinen kirjoituskokemus. Hän on MakeUseOfin päätoimittaja.