Reklama
Programovanie je ťažké. Jediní ľudia, ktorí hovoria inak, sú tí, ktorí majú dlhoročné skúsenosti s kódovaním. Je v poriadku byť ohromený! Existuje a veľa učiť sa a pravdepodobne veci zabudnete tak rýchlo, ako sa ich naučíte. Ver mi: to je normálne.
Ale to, že je to normálne, neznamená, že to nie je frustrujúce. Pravdupovediac, naučiť sa kódovať Ako sa naučiť programovať bez stresuMožno ste sa rozhodli venovať programovaniu, či už pre kariéru alebo len ako hobby. skvelé! Ale možno sa začínate cítiť prehnane. Nie také skvelé. Tu je pomoc, ktorá vám uľahčí cestu. Čítaj viac môže byť mimoriadne stresujúce, ak k nemu nepristupujete so správnym myslením a prístupom.
Chcete sa čo najskôr naučiť ten nový jazyk alebo knižnicu alebo rámec, však? to je pochopiteľné. Našťastie existuje niekoľko tipov, ktoré vám môžu pomôcť lepšie si uchovať všetky tie ťažké programovacie informácie, ktoré neustále lietajú jedným uchom a druhým von.
Už žiadne napínavé relácie
Nikto to nechce počuť, ale napchávanie sa je najhorší spôsob, ako sa naučiť programovať. Ak ste niečo ako ja, napchávanie bolo vaše
modus operandi všetko počas školy a univerzity. Je to jediný spôsob, ako viete, ako študovať.Ale pouč sa z mojich chýb: čím viac sa budete snažiť napchať, tým menej si toho zapamätáte. To v podstate platí pre akýkoľvek predmet založený na vedomostiach, ale platí to najmä pre programovanie.
Základ tohto tvrdenia prichádza zo štúdie z roku 2008 Kalifornská univerzita v San Diegu:
"Študenti dosahujú lepšie výsledky, keď si rozložia študijné hodiny, než keď sa pokúšajú všetko napchať do svojich nogginov počas jedného sedenia."
prečo? S najväčšou pravdepodobnosťou kvôli efekt sériovej polohy:
"Efekt sériovej polohy je tendencia osoby najlepšie si vybaviť prvú a poslednú položku v sérii a najhoršiu prostrednú položku."
Inými slovami: na ktoromkoľvek študijnom stretnutí je pravdepodobnejšie, že si uchováte informácie, ktoré ste sa naučili blízko začiatok a koniec relácie a pravdepodobnejšie, že zabudnete informácie z polovice relácia.
Chcete maximalizovať počet začiatkov a koncov. Preto je lepšie mať viacero krátkych sedení namiesto niekoľkých dlhých, pokiaľ ide o učenie sa a vstrebávanie nového materiálu.
Keď si nabudúce sadnete, aby ste sa naučili kód, vezmite si jednu tému po druhej a medzi jednotlivými témami si urobte krátku prestávku. (Len sa uistite, že sa vaše prestávky nezmenia na prokrastináciu!)
Recenzia, recenzia, recenzia
Ďalším dôvodom, prečo je napchávanie sa v rozpore s dlhodobým uchovávaním vedomostí, je to, že pamäť časom mizne. Nie je to vždy pravda – som si istý, že všetci máme niekoľko spomienok z detstva, ktoré nikdy nezmiznú – ale zdá sa, že je to všeobecný prípad pre spomienky, ktoré nie sú viazané na emócie.
Existuje určitá diskusia o tom, či sa samotná pamäť časom zhoršuje (teória rozpadu) alebo sa časom jednoducho vytlačí a nahradí novými spomienkami (teória interferencií). Bez ohľadu na teóriu, ktorú podporujete, výsledkom je, že staršie spomienky s väčšou pravdepodobnosťou vyblednú.
Tu prichádza do hry recenzia.
Predstavte si to ako prechádzku lesom spomienok. Zakaždým, keď chcete získať prístup k pamäti, musíte sledovať nervovú dráhu aby ste to našli. Zakaždým, keď vysledujete túto spomienku, cesta sa vryje o niečo viac – presne tak, ako sa prirodzene vytvára špinavá cesta, keď ľudia chodia po tej istej ceste znova a znova. Ak prestanete kráčať po chodníku, môže sa stratiť a spomienka sa stratí niekde v lese.
Odhliadnuc od všetkej popovej psychológie, tu je záver: pokiaľ ide o programovanie, nestačí naučiť sa tému len raz alebo dvakrát. Musíte to znova navštíviť desiatky alebo dokonca stovky krát. Každá recenzia vryje túto tému do vášho mozgu o niečo hlbšie.
Viem, aké ťažké to môže byť, ak ste prirodzení, ale budete prekvapení, ako rýchlo začnete zadržiavať materiál, keď sa ho budete snažiť pravidelne kontrolovať.
Použite niekoľko rôznych zdrojov
Najťažším aspektom programovania – aspoň pre úplne nových programátorov – je úplná šírka detailov a nuancií, ktoré je potrebné internalizovať. Kým k tejto internalizácii nedôjde, budete v neustálom stave škriabania sa po hlave.
V závislosti od jazyka si budete musieť zapamätať stovky pravidiel syntaxe (napr. kľúčové slová, bodkočiarky, medzery). Niektoré jazyky sú prísnejšie, iné menej a ďalšie majú svoje vlastné jedinečné prístupy k syntaxi, ktoré sa nikde inde nepoužívajú. To všetko môže byť mätúce, ak nemáte žiadne predchádzajúce skúsenosti s kódovaním.
Nehovoriac o všetkých pojmových informáciách, ktoré presahujú jednotlivé jazyky. Témy ako objektovo orientované programovanie, systémy entít a komponentov a vzory pozorovateľov vám môžu pri prvom pokuse o ich učenie skutočne zakrútiť hlavou.
Túto ilustráciu som už zdieľal, ale je taká výstižná, že by sa dalo zopakovať:
„Predpokladajme, že vám niekto ukázal fotografiu sochy. Mohlo by vám to poskytnúť dostatok obrazu, aby ste získali adekvátnu predstavu o soche, ale nezískali by ste celý obraz. Zväčšená fotografia by stratila zložité detaily, zatiaľ čo zväčšená fotografia by stratila zmysel pre perspektívu. S ďalšími fotografiami zhotovenými z iných uhlov však môžete skutočne začať vidieť plnosť sochy v textúre, vo veľkosti, v detailoch, spredu dozadu, zo strany na stranu a zhora nadol.“
Naučiť sa programovať môže byť prekvapivo ľubovoľné. Každý môže chváliť Zdroj A ako najlepší spôsob, ako sa naučiť jazyk X, ale možno vám to nedáva zmysel. Možno každý nenávidí zdroj B, ale stačí sa pozrieť a dáva to dokonalý zmysel! Pokiaľ ide o niekoho iného, možno sa pri štúdiu zdrojov A a B vyhýbajú, ale majú veľký úžitok zo zdroja C.
Preto je také dôležité, aby ste boli ochotní spotrebovať všetky druhy zdrojov. Každý sa učí iným spôsobom. Ak máte problémy s konkrétnou témou, vyhľadajte iný zdroj. Možno práve ten bude pre vás vhodnejší. Možno nie.
Aj keď si myslíte, že určitým témam rozumiete, je možné, že sa o nich môžete dozvedieť viac. Je tiež možné, že vysvetlenie niekoho iného navždy upevní tento koncept vo vašej mysli. Nikdy neviete, tak prečo nespotrebovať toľko zdrojov, koľko môžete?
Upozorňujeme, že hry môžu byť kriticky užitočným zdrojom! Pozrite si tieto zábavné a vzdelávacie hry s kódovaním 9 najlepších kódovacích hier na vybudovanie vašich programovacích zručnostíKódovacie hry vám pomôžu rýchlejšie sa učiť pomocou praktických cvičení a skúseností. Navyše sú zábavným spôsobom, ako si otestovať svoje programátorské schopnosti! Čítaj viac .
Učte koncepty, keď sa ich naučíte
V programovaní existuje krásny koncept tzv ladenie gumených kačíc Najpodivnejšie princípy programovania, o ktorých ste nikdy nepočuliNasledujúce princípy vás naučia múdro používať váš kód. Niektoré sú zvláštne a mnohé vtipné, no všetky sú rovnako praktické a dôležité. Dávajte si pozor! Čítaj viac , ktorá popisuje techniku vysvetľovania vlastného kódu riadok po riadku neživej gumenej kačici. Používa sa, keď je konkrétny segment kódu poškodený, ale neexistuje na to žiadny zjavný dôvod.
Je zvláštne, že väčšina programátorov má „Eureka!“ moment uprostred vysvetľovania kódu, keď zrazu vidia, kde sa chyba v logike kódovania vyskytuje. Verbalizácia spúšťa inú oblasť mozgu a núti vás vidieť problém z nového uhla.
Tento koncept vám môže pomôcť naučiť sa nový materiál. Možno ste narazili na tento populárny citát, ktorý sa často pripisuje Albertovi Einsteinovi:
"Ak to nevieš vysvetliť jednoducho, nerozumieš tomu dosť dobre."
S výnimkou niektorých oblastí, ktoré sa zaoberajú pokročilými teoretickými znalosťami, toto príslovie platí. Čím viac téme rozumiete, tým lepšie ste vybavení na to, aby ste ju vysvetlili tak, aby ju pochopil aj niekto, kto o danej téme nič nevie.
Opak je pravdou. Keď sa pokúšate učiť tému, narazíte na určité koncepty, ktoré zrejme nedokážete vysvetliť jasným spôsobom. Nielenže je to úžasný spôsob, ako diagnostikovať slabé stránky vo vašich vedomostiach, skutočný proces hľadania správneho vysvetlenia vám môže pomôcť upevniť tento koncept vo vašej mysli.
Nazýva sa to učenie sa vyučovaním a je to v podstate zvrat v ladení gumených kačíc.
Teraz nehovorím, že by ste mali vlastne učiť ostatných; radšej každú novú tému programovania, ktorú sa naučíte, skúste naučiť gumenú kačku (alebo neviditeľného kamaráta). Na prvý pohľad vám to môže pripadať hlúpe, ale môže sa vám zdať neuveriteľne plodné, pokiaľ ide o uchovávanie pamäte.
Úmyselná prax robí majstra
Pojem talent je úplný odpad. Nikto nevychádza z lona ako prvotriedny huslista, zápasník alebo programátor. Iste, niektorí ľudia môžu viac inklinovať k určitým disciplínam, ale talent bez skúseností je nanič Nenechajte svoje skryté talenty zomrieť: 7 spôsobov, ako ísť a nájsť ich znovaZlou správou je, že musíte tvrdo pracovať so zámerom vylepšiť svoje skryté talenty. Dobrou správou je, že existuje viac príležitostí ako kedykoľvek predtým rozvinúť svoj talent. Čítaj viac . Podobne tvrdá práca je vždy cennejšia ako talent.
Ako bolo povedané, nie všetky formy tvrdej práce sú rovnaké. Malcolm Gladwell vytvoril neslávne známe pravidlo 10 000 hodín, ktoré hovorí, že na to, aby ste sa v ňom stali majstrom, musíte do predmetu investovať aspoň 10 000 hodín. Aj keď tento sentiment môže byť pravdivý, mnohí ľudia si nesprávne vysvetľujú, čo sa snažil povedať.
Skrátka, záväzok 10 000 hodín v skutočnosti nezaručuje majstrovstvo. Poznáte príslovie: „Cvičenie nevedie k dokonalosti. Dokonalá prax robí majstra.” Aby to malo zmysel, prax musí byť zámerná Chcete sa stať na niečo expertom? Vyskúšajte zámernú praxJe až príliš ľahké cítiť strach, keď sa usilovne snažíte zlepšiť určitú zručnosť. Využite silu „zámernej praxe“, aby ste sa dostali cez tie rozhorčené plošiny. Čítaj viac . Majstrovstvo je možné dosiahnuť iba prostredníctvom 10 000 hodín zámerného cvičenia.
To, ako cvičíte, je oveľa dôležitejšie ako to, koľko času strávite cvičením.
Čítanie je pasívne. Pozeranie lekcií na YouTube je pasívne. Počúvanie podcastov je pasívne. Ako nováčik kodér môžete byť v pokušení prechádzať od návodu k návodu a preberať predmet po predmete bez toho, aby ste tieto znalosti prakticky aplikovali. Odolajte tomuto pokušeniu.
Jedna vec je pochopiť príklad pred vami, no druhá je syntetizovať riešenie od začiatku. Ak chcete urýchliť proces učenia, musíte byť ochotní byť aktívny namiesto pasívneho. Aktívna prax je jediný druh, na ktorom v konečnom dôsledku záleží.
Experimentujte s osobnými projektmi
Domáce úlohy boli pre mňa najhoršia časť školy. Vyzeralo to ako prepracovaný trik, ako zabiť zábavu a zamestnať študentov – čo, aby som bol spravodlivý, niekedy bola pravda. Ale teraz, keď sa obzriem späť, dôležitosť domácich úloh konečne dáva zmysel. Nútilo ma to aktívne aplikovať novonadobudnuté poznatky.
Ak ste zaregistrovaný kurzy a kurzy programovania 11 najlepších stránok pre bezplatné online kurzy počítačového programovaniaPomocou týchto bezplatných online kurzov počítačového programovania sa môžete stať skvelým programátorom bez diplomu z informatiky. Čítaj viac , nepodceňujte efektivitu domácich úloh. Berte to vážne a vždy to berte ako príležitosť na ďalšie upevnenie toho, čo ste sa naučili, do dlhodobej pamäte.
Mnohokrát však domáce úlohy stále nestačia. (A ak sa učíte programovať sami bez skutočného inštruktora, pravdepodobne nemáte na začiatok žiadnu domácu úlohu.)
Aké je riešenie? Vytvorte pár vedľajších projektov na jedno použitie!
Myslite na a málo nápadov na projekty 5 nápadov na projekty, ktoré vám pomôžu naučiť sa programovať rýchlejšieExistuje niekoľko spôsobov, ako uľahčiť učenie sa programovania. Zašpinite si ruky a učte sa rýchlejšie vďaka vedľajším projektom, ktoré môžete začať kedykoľvek. Zahrajte si s týmito piatimi. Čítaj viac ktoré by ste chceli implementovať. Pre úplných nováčikov by ste mohli zvážiť hru Tic-Tac-Toe alebo Hangman. Pre skúsených programátorov, ktorí sa snažia naučiť nový rámec, skúste naprogramovať jednoduchú mobilnú aplikáciu alebo webovú hru. Pokiaľ vás to zaujíma na osobnej úrovni, choďte do toho!
Krása tohto prístupu je dvojaká.
Po prvé, je pravdepodobnejšie, že udrží vašu pozornosť. Štúdie ukázali, že študenti sa učia lepšie, keď sa môžu venovať témam, ktoré ich zaujímajú. To je presne to, čo ponúka osobný projekt. Máte konečný cieľ, ktorý chcete skutočne dosiahnuť, takže je pravdepodobnejšie, že si zachováte informácie, ktoré vás tam dostanú.
Po druhé, nie je na vás vyvíjaný žiadny tlak, aby ste uspeli. Aj keď úspech by bol pekný, nedostatok formálnosti vám umožňuje experimentovať a kreatívne. Nevyhnutne sa dostanete do problémov, ale je to skôr ako hranie sa s Legom, než domáca úloha. Je to zábavnejšie a nie také stresujúce.
Uvoľnite sa a všetko si uložte do záložiek
Pravdou je, že žiadny programátor si to nepamätá všetko naučili sa. Dokonca aj keď už nejaký čas pracujete s konkrétnou knižnicou alebo rámcom, nie je nezvyčajné, ak si nemôžete spomenúť na každú funkciu alebo premennú z hlavy.
V skutočnosti môže byť snaha zapamätať si všetko len obrovskou stratou času a úsilia. Referenčné hárky existujú z nejakého dôvodu. Prečo si zapamätávať celú encyklopédiu, keď ju môžete jednoducho otvoriť, kedykoľvek ju potrebujete?
Kedy sa teda učiť naspamäť a kedy referovať?
Pokiaľ ide o koncepčný materiál, vždy ho internalizujte podľa svojich najlepších schopností. Myslím tým pochopenie teórie, aj keď ju nemôžete previesť na skutočný kód (a teória by vám mala byť dostatočne jasná, aby ste ju mohli jasne naučiť).
Pre všetko ostatné – ako sú konkrétne názvy funkcií, zoznamy parametrov alebo dokonca jazykové zvláštnosti – Nebál by som sa zaviazať sa k pamäti. Neváhajte sa odložiť na referenčný hárok. Niekedy budete na niečo odkazovať tak často, že si to nakoniec zapamätáte. Ak sa tak stane, dobre. Ak nie, je to tiež v poriadku.
Osobne mám stovky internetových záložiek do rôznych API, sprievodcov a tutoriálov. Ak potrebujem implementovať nejaký algoritmus hľadania cesty, môžem sa obrátiť na sprievodcu, ktorý mi pomôže zakódovať ho skôr, ako naň znova zabudnem. Pomáha to pochopiť základné pojmy, ale snažím sa netrápiť detaily implementácie.
Záverečné myšlienky
Ak budem musieť, zopakujem to miliónkrát: programovanie je ťažké a je v poriadku, ak s tým bojujete. Programovaniu sa venujem ako hobby už viac ako desať rokov a stále sa bojím, keď sa musím naučiť nové koncepty.
Nebite sa, ak si neviete všetko hneď zapamätať. Vyššie uvedené tipy vám snáď pomôžu, a aj keď nie, vždy sa môžete spoľahnúť na odkazy v záložkách ako na poslednú možnosť.
Zdá sa vám programovanie náročné? Aké triky a tipy poznáte, ktoré môžu byť užitočné pre začínajúcich programátorov? Podeľte sa s nami o svoju múdrosť v komentároch nižšie!
Poďakovanie za obrázky: Binárny programátor cez Shutterstock, Mazanie pamäte cez Shutterstock, Zmätený kód cez Shutterstock, Rubber Ducky Via Shutterstock, Keyboard Typist cez Shutterstock, Zdrojový kód PHP cez Shutterstock, Priečinky súborov cez Shutterstock
Joel Lee má B.S. v odbore informatika a viac ako šesť rokov profesionálnych skúseností s písaním. Je šéfredaktorom pre MakeUseOf.