Oglas
Programiranje je težko. Edini ljudje, ki trdijo drugače, so tisti, ki imajo za seboj večletne izkušnje s kodiranjem. Prav je, da ste preobremenjeni! Tam je veliko učiti in verjetno boste stvari pozabili tako hitro, kot se jih boste naučili. Verjemite mi: to je normalno.
Toda samo zato, ker je normalno, ne pomeni, da ni frustrirajoče. Resnici na ljubo, učenje kodiranja Kako se naučiti programirati brez vsega stresaMorda ste se odločili, da se boste ukvarjali s programiranjem, bodisi zaradi kariere ali samo kot hobija. Super! Morda pa se začnete počutiti preobremenjeni. Ni tako super. Tukaj je pomoč za olajšanje vaše poti. Preberi več je lahko zelo stresno, če k temu ne pristopite s pravo miselnostjo in odnosom.
Želite se čim prej naučiti tega novega jezika ali knjižnice ali okvira, kajne? To je razumljivo. Na srečo obstaja nekaj nasvetov, ki vam lahko pomagajo bolje obdržati vse te težke programske informacije, ki nenehno letijo v eno uho in naravnost ven v drugo.
Nič več Cram Sessions
Nihče tega noče slišati, toda nabijanje je najslabši način za učenje programiranja. Če si kaj podoben meni, je bilo tvoje krpanje način delovanja vse v šoli in na univerzi. To je edini način, kako se znaš učiti.
Toda učite se iz mojih napak: bolj ko se boste trudili stisniti, manj se boste spomnili. To v veliki meri velja za vsak predmet, ki temelji na znanju, vendar še posebej velja, ko gre za programiranje.
Podlaga te trditve je iz študije iz leta 2008 Univerza Kalifornije, San Diego:
"Študentje se bolje obnesejo, ko svoje študijske ure razporedijo, kot pa, ko poskušajo vse skupaj stlačiti v svoje nožice med enim sedenjem."
Zakaj? Najverjetneje zaradi učinek serijskega položaja:
"Učinek serijskega položaja je nagnjenost osebe, da se najbolje spomni prvega in zadnjega elementa v seriji, najslabše pa srednjih elementov."
Z drugimi besedami: pri kateri koli študijski seji je večja verjetnost, da boste obdržali informacije, ki ste se jih naučili blizu začetek in konec seje in večja verjetnost, da boste pozabili informacije iz sredine seje.
Želite povečati število začetkov in koncev. Zato je bolje imeti več kratkih sej namesto nekaj dolgih, ko gre za učenje in vpijanje nove snovi.
Naslednjič, ko se boste usedli in se učili kode, obravnavajte eno temo naenkrat in si vzemite kratek odmor med vsako temo. (Poskrbite le, da preprečite, da bi se vaši odmori spremenili v odlašanje!)
Pregled, pregled, pregled
Drug razlog, zakaj je stiskanje v nasprotju z dolgotrajnim ohranjanjem znanja, je ta, da spomin sčasoma zbledi. To ni vedno res - prepričan sem, da imamo vsi nekaj spominov na otroštvo, ki ne bodo nikoli izginili - vendar se zdi, da je to splošen primer za spomine, ki niso vezani na čustva.
Obstaja nekaj razprav, ali spomin sam propada zaradi časa (teorija razpada) ali pa se sčasoma preprosto iztisne in nadomesti z novimi spomini (interferenčna teorija). Ne glede na teorijo, na katero se strinjate, je rezultat, da bodo starejši spomini bolj verjetno izginili.
Tu pride v poštev pregled.
Pomislite na to kot na sprehod skozi gozd spominov. Vsakič, ko želite dostopati do pomnilnika, morate to storiti sledi nevronski poti da bi ga našel. Vsakič, ko sledite tem spominu, se pot malo bolj vtisne – tako kot umazana pot naravno nastane, ko ljudje hodijo po isti poti znova in znova. Če nehate hoditi po poti, lahko zbledi in spomin se izgubi nekje v gozdu.
Če pustimo ob strani vso pop psihologijo, je tukaj izhodišče: ko gre za programiranje, ni dovolj, da se naučite teme le enkrat ali dvakrat. Ponovno ga morate obiskati desetkrat ali celo stokrat. Vsak pregled to temo vtisne v vaše možgane nekoliko globlje.
Vem, kako težko je to lahko, če ste naravni navijač, vendar boste presenečeni, kako hitro začnete zadrževati material, ko se potrudite, da ga redno pregledujete.
Uporabite več različnih virov
Najtežji vidik programiranja - vsaj za čisto nove kodirnike - je čista širina podrobnosti in odtenkov, ki jih je treba ponotranjiti. Dokler se ta ponotranjenje ne zgodi, boste v nenehnem stanju praskanja po glavi.
Odvisno od jezika si boste morali zapomniti na stotine sintaksnih pravil (npr. ključne besede, podpičja, presledki). Nekateri jeziki so strožji, drugi manj, tretji pa imajo svoje edinstvene pristope k sintaksi, ki se ne uporabljajo nikjer drugje. Vse to je lahko zmedeno, če še nimate izkušenj s kodiranjem.
Da ne omenjam vseh konceptualnih informacij, ki presegajo posamezne jezike. Teme, kot so objektno usmerjeno programiranje, sistemi entitet-komponent in vzorci opazovalcev, vam lahko zares zavrtijo glavo, ko se jih prvič poskusite naučiti.
To ilustracijo sem že delil z drugimi, vendar je tako na mestu, da je treba ponoviti:
»Denimo, da vam je nekdo pokazal fotografijo kipa. Morda vam bo zagotovila dovolj slike, da boste dobili ustrezen občutek za kip, vendar ne bi dobili celotne slike. Pomanjšana fotografija bi izgubila zapletene podrobnosti, medtem ko bi povečana fotografija izgubila občutek za perspektivo. Vendar pa lahko z dodatnimi fotografijami, posnetimi z drugih zornih kotov, resnično začnete videti polnost kipa v teksturi, velikosti, podrobnostih, od spredaj nazaj, od strani do strani in od vrha do dna."
Učenje programiranja je lahko presenetljivo poljubno. Vsi bi lahko pohvalili vir A kot najboljši način za učenje jezika X, vendar morda za vas ni smiselno. Morda vsi sovražijo vir B, a če pogledate, je popolnoma smiselno! Kar se tiče nekoga drugega, morda pri preučevanju virov A in B izstopajo, vendar imajo od vira C velike koristi.
Zato je tako pomembno, da ste pripravljeni porabiti vse vrste virov. Vsak se uči na drugačen način. Če imate težave z določeno temo, poiščite drug vir. Mogoče bo ta bolj primeren zate. Morda pa tudi ne.
Tudi če menite, da razumete določene teme, je možno, da se o tem lahko naučite več. Možno je tudi, da razlaga nekoga drugega za vedno utrdi koncept v vašem umu. Nikoli ne veš, zakaj torej ne bi porabil čim več virov?
Upoštevajte, da so igre lahko zelo koristen vir! Oglejte si te zabavne in poučne igre kodiranja 9 najboljših iger za kodiranje za razvijanje programskih veščinIgre s kodiranjem vam pomagajo pri hitrejšem učenju s praktično prakso in izkušnjami. Poleg tega so zabaven način, da preizkusite svoje znanje programiranja! Preberi več .
Učite koncepte, ko se jih učite
V programiranju obstaja lep koncept, ki se imenuje odpravljanje napak z gumijasto raco Najbolj čudna načela programiranja, za katera še niste slišaliNaslednja načela vas bodo naučila biti modri s svojo kodo. Nekateri so čudni, mnogi pa šaljivi, vendar so vsi enako praktični in pomembni. Bodite pozorni! Preberi več , ki opisuje tehniko razlaganja svoje kode, vrstico za vrstico, neživi gumijasti raci. Uporablja se, ko je določen segment kode pokvarjen, vendar za to ni očitnega razloga.
Čudno je, da ima večina programerjev "Eureka!" trenutek sredi razlage kode, ko nenadoma vidijo, kje je prišlo do napake v logiki kodiranja. Verbalizacija sproži drugačno področje možganov in vas prisili, da vidite problem z novega zornega kota.
Ta koncept se lahko uporablja tudi za pomoč pri učenju nove snovi. Morda ste naleteli na ta priljubljen citat, ki ga pogosto pripisujejo Albertu Einsteinu:
"Če tega ne morete preprosto razložiti, ga ne razumete dovolj dobro."
Z izjemo nekaterih področij, ki se ukvarjajo z naprednim teoretičnim znanjem, ta rek drži. Bolj ko neko temo razumete, bolje ste opremljeni, da jo razložite tako, da jo lahko razume nekdo, ki o omenjeni temi ne pozna.
Res je tudi nasprotno od tega. Ko boste poskušali poučevati temo, boste naleteli na določene koncepte, za katere se zdi, da ne morete razložiti na jasen način. Ne samo, da je to odličen način za diagnosticiranje slabosti v vašem znanju, dejanski proces iskanja ustrezne razlage lahko pomaga utrditi koncept v vašem umu.
Imenuje se učenje ob poučevanju in je v bistvu preobrat pri odpravljanju napak z gumijasto raco.
Zdaj pa ne rečem, da bi morali pravzaprav učiti druge; raje vsako novo temo programiranja, ki se je naučite, poskusite naučiti gumijaste race (ali nevidnega prijatelja). Na začetku se vam morda zdi neumno, vendar se vam bo morda zdelo neverjetno plodno, ko gre za ohranjanje spomina.
Premišljena vadba naredi popolno
Pojem talenta je popolna smeti. Nihče ne zapusti maternice kot vrhunski violinist, rokoborec ali programer. Seveda so nekateri ljudje morda bolj nagnjeni k določenim disciplinam, vendar talent brez izkušenj je neuporaben Ne dovolite, da vaši skriti talenti umrejo: 7 načinov, kako iti in jih znova poiskatiSlaba novica je, da morate trdo delati, da bi izpilili svoje skrite talente. Dobra novica je, da je več priložnosti kot kdaj koli prej, da pokažete svoje talente. Preberi več . Podobno je trdo delo vedno bolj dragoceno kot talent.
Kot rečeno, niso vse oblike trdega dela enake. Malcolm Gladwell je skoval zloglasno pravilo 10.000 ur, ki pravi, da morate v predmet vložiti vsaj 10.000 ur, da postanete mojster. Čeprav je občutek morda resničen, si mnogi napačno razlagajo, kaj je hotel povedati.
Skratka, 10.000 ur obveznosti dejansko ne zagotavlja mojstrstva. Saj poznate rek: »Prava ne naredi popolnega. Popolna praksa naredi popolne." Da bi bilo smiselno, praksa mora biti namerna Želite postati strokovnjak za nekaj? Poskusite z namerno praksoPrelahko se je počutiti obupanega, ko se trudiš izboljšati določeno spretnost. Uporabite moč "namerne vadbe", da boste premagali te jezne planote. Preberi več . Mojstrstvo je mogoče doseči le z 10.000 urami premišljene vadbe.
Kako vadite, je veliko pomembnejše od tega, koliko časa porabite za vadbo.
Branje je pasivno. Gledanje učnih ur v YouTubu je pasivno. Poslušanje podcastov je pasivno. Kot začetnik kodirnika vas bo morda zamikalo, da bi plapolali od vadnice do vadnice in se lotevali teme za temo, ne da bi to znanje dejansko uporabili na praktičen način. Uprite se tej skušnjavi.
Eno je razumeti primer pred vami, drugo pa je sintetizirati rešitev iz nič. Če želite pospešiti učni proces, morate biti pripravljeni biti aktivni namesto pasivni. Aktivna praksa je edina vrsta, ki je na koncu pomembna.
Eksperimentirajte z osebnimi projekti
Zame so bile domače naloge najslabši del šole. Zdelo se je le kot prefinjena zvijača, s katero bi ubili zabavo in obdržali študente - kar je, po pravici povedano, včasih bilo res. Toda zdaj, ko se ozrem nazaj, je pomembnost domače naloge končno smiselna. Prisililo me je, da sem na novo pridobljeno znanje aktivno uporabljal.
Če ste vpisani tečaji in tečaji programiranja 11 najboljših spletnih mest za brezplačne spletne tečaje računalniškega programiranjaS temi brezplačnimi spletnimi tečaji računalniškega programiranja lahko postanete odličen koder brez diplome iz računalništva. Preberi več , ne podcenjujte učinkovitosti domače naloge. Vzemite ga resno in ga vedno obravnavajte kot priložnost, da naučeno dodatno utrdite v dolgoročni spomin.
Toda velikokrat domača naloga še vedno ni dovolj. (In če se učite programirati sami brez dejanskega inštruktorja, verjetno za začetek nimate domače naloge.)
Kakšna je rešitev? Ustvarite nekaj stranskih projektov za enkratno uporabo!
Pomislite na a nekaj projektnih idej 5 projektnih idej za hitrejše učenje programiranjaObstaja nekaj načinov za olajšanje krivulje učenja programiranja. Umažite si roke in se učite hitreje s stranskimi projekti, ki jih lahko začnete kadar koli. Igrajte se s temi petimi. Preberi več ki bi jo radi izvajali. Za absolutne novince lahko razmislite o igri Tic-Tac-Toe ali Hangman. Za izkušene programerje, ki se poskušajo naučiti novega okvira, poskusite kodirati preprosto mobilno aplikacijo ali spletno igro. Dokler vas to zanima na osebni ravni, pojdite!
Lepota tega pristopa je dvojna.
Prvič, bolj verjetno je, da bo pritegnil vašo pozornost. Študije so pokazale, da se učenci bolje učijo, če lahko obravnavajo teme, ki jih zanimajo. Točno to ponuja osebni projekt. Imate končni cilj, ki ga dejansko želite doseči, zato je večja verjetnost, da boste obdržali informacije, ki vas bodo pripeljale tja.
Drugič, ni nobenega pritiska, da bi uspeli. Čeprav bi bil uspeh dober, pomanjkanje formalnosti vam omogoča, da ste eksperimentalni in ustvarjalni. Neizogibno boste naleteli na težave, vendar je to bolj kot igranje z Lego kot domača naloga. Je bolj zabavno in ne tako stresno.
Sprostite se in dodajte vse med zaznamke
Resnica je, da se noben programer ne spomni vse so se naučili. Tudi po tem, ko nekaj časa delate z določeno knjižnico ali okvirjem, ni nič nenavadnega, če se ne morete spomniti vsake funkcije ali spremenljivke na vrhu glave.
Dejansko bi se lahko poskus zapomniti vse lahko končal kot velika izguba časa in truda. Referenčni listi obstajajo z razlogom. Zakaj bi si zapomnili celotno enciklopedijo, ko jo lahko preprosto odprete, ko jo potrebujete?
Torej, kdaj si zapomniti in kdaj se sklicevati?
Ko gre za konceptualno gradivo, ga vedno ponotranjite po svojih najboljših močeh. S tem mislim na razumevanje teorije, tudi če je ne morete pretvoriti v dejansko kodo (in teorija bi vam morala biti dovolj jasna, da jo lahko jasno naučite).
Za vse ostalo – kot so imena določenih funkcij, seznami parametrov ali celo jezikovne posebnosti – Ne bi me skrbelo, da bi se zavezali v spomin. Lahko se odložite na referenčni list. Včasih se boste tako pogosto sklicevali na nekaj, da si ga boste na koncu zapomnili. Če se to zgodi, v redu. Če ne, je tudi to v redu.
Osebno imam na stotine internetnih zaznamkov za različne API-je, vodnike in vadnice. Če moram implementirati nekakšen algoritem za iskanje poti, se lahko sklicujem na vodnik, ki mi bo pomagal kodirati, preden ga spet pozabim. Pomaga razumeti osnovne koncepte, vendar se trudim, da se ne skrbim za podrobnosti izvedbe.
Končne misli
Ponovil bom milijonkrat, če bo treba: programiranje je težko in v redu je, če se s tem borite. Že več kot desetletje programiram kot hobi in še vedno sem prestrašen, ko se moram naučiti novih konceptov.
Ne pretepajte se, če se ne morete takoj spomniti vsega. Upajmo, da se vam bodo zgornji nasveti izkazali za koristne, in tudi če ne, se lahko vedno zanesete na zaznamovane reference kot zadnjo možnost.
Se vam zdi programiranje težko? Kakšne trike in nasvete poznate, ki bi lahko koristili koderjem novincem? Delite svojo modrost z nami v spodnjih komentarjih!
Zasluge za slike: Binarni programer prek Shutterstocka, Eraser Memory Eraser prek Shutterstock, Zakrita koda prek Shutterstocka, Rubber Ducky prek Shutterstocka, Tipkovnik za tipkovnico prek Shutterstocka, Izvorna koda PHP prek Shutterstocka, Mape datotek prek Shutterstocka
Joel Lee ima B.S. iz računalništva in več kot šest let strokovnih izkušenj s pisanjem. Je glavni urednik za MakeUseOf.