
Michael Fisher
0
704
159
Programování je tvrdý. Jediní lidé, kteří říkají jinak, jsou ti, kteří mají za sebou roky zkušeností s kódováním. Je v pořádku být ohromen! Je tu hodně naučit se a pravděpodobně na věci zapomenete tak rychle, jak se je naučíte. Věř mi: to je normální.
Ale to, že je to normální, neznamená, že to není frustrující. Po pravdě řečeno, naučit se kódovat Jak se naučit programování bez stresu Jak se naučit programování bez stresu Možná jste se rozhodli programovat, ať už pro kariéru nebo jen jako koníček. Skvělý! Ale možná se začínáte cítit ohromeni. Není to tak skvělé. Zde je nápověda, která vám usnadní cestu. může být velmi stresující, pokud k němu nepřistupujete se správným přístupem a přístupem.
Chcete se naučit tento nový jazyk, knihovnu nebo rámec co nejdříve, že? To je pochopitelné. Naštěstí existuje několik tipů, které vám mohou pomoci lépe si uchovat všechny ty těžké informace o programování, které stále létají jedním uchem a přímo druhým.
Žádné další Cram Sessions
Nikdo to nechce slyšet, ale napěchování je nejhorší způsob, jak se naučit programovat. Pokud jste něco jako já, napěchování bylo vaše modus operandi po celé škole a univerzitě. Je to jediný způsob, jak víte, jak studovat.
Ale poučit se z mých chyb: čím více se snažíte napěchovat, tím méně si budete pamatovat. To platí téměř pro jakýkoli předmět založený na znalostech, ale platí to zejména pro programování.
Základ tohoto tvrzení vychází ze studie z roku 2008 provedené University of California v San Diegu:
“Studenti si vedou lépe, když místo svého studijního zasedání rozmístí své studijní sezení, než když se během jednoho sezení pokusí vše zastrčit do svých noggins.”
Proč? Nejpravděpodobněji kvůli efektu sériové polohy:
“Sériový poziční efekt je tendence člověka vyvolávat první a poslední položky v řadě nejlepší a nejhorší prostřední položky.”
Jinými slovy: v kterékoli dané studijní relaci si s větší pravděpodobností uchováte informace, které jste se dozvěděli na začátku a na konci relace, a pravděpodobněji zapomenete na informace z poloviny relace.
Chcete maximalizovat počet začátků a konců. To je důvod, proč je lepší mít několik krátkých sezení namísto několika dlouhých sezení, pokud jde o učení a vstřebávání nového materiálu.
Až se příště posadíte, abyste se naučili kód, vezměte si jedno téma najednou a mezi jednotlivými tématy si udělejte krátkou přestávku. (Nezapomeňte zabránit tomu, aby se vaše přestávky proměňovaly v otálení!)
Recenze, recenze, recenze
Dalším důvodem, proč je mačkání protikladem k dlouhodobému uchovávání znalostí, je to, že paměť v průběhu času mizí. To není vždy pravda - jsem si jistý, že všichni máme několik dětských vzpomínek, které nikdy nezmizí - ale zdá se, že to je obecný případ vzpomínek, které nejsou spojeny s emocemi.
Tam je nějaká debata zda paměť sama se rozkládá kvůli času (teorie rozpadu) nebo jednoduše dostane vytlačený ven a nahrazený novými vzpomínkami v průběhu času (teorie interference). Ať už si vyberete jakoukoli teorii, výsledkem je, že starší vzpomínky s větší pravděpodobností vymizí.
Zde přichází recenze.
Pomysli na to jako na procházku lesem vzpomínek. Pokaždé, když chcete získat přístup k paměti, musíte sledovat neurální cestu, abyste ji našli. Pokaždé, když sledujete tuto paměť, bude cesta leptána o něco více - stejně jako přirozeně se vytvoří cesta nečistot, když lidé chodí stejnou cestou znovu a znovu. Pokud přestanete chodit po cestě, může vyblednout a paměť skončí ztracená někde v lese.
Odložíme-li veškerou popovou psychologii, tady je jídlo s sebou: pokud jde o programování, nestačí se učit téma jen jednou nebo dvakrát. Musíte to znovu prohlédnout desítky nebo dokonce stokrát. Každá recenze leptá toto téma do vašeho mozku trochu hlouběji.
Vím, jak těžké to může být, pokud jste přírodní mačkadlo, ale budete překvapeni, jak rychle začnete zadržovat materiál, jakmile se budete snažit pravidelně jej kontrolovat..
Použijte několik různých zdrojů
Nejtěžší aspekt programování - přinejmenším u zcela nových kodérů - je pouhý rozsah detailů a nuancí, které je třeba internalizovat. Dokud k této internalizaci nedojde, budete v neustálém stavu poškrábání hlavy.
V závislosti na jazyce si budete muset zapamatovat stovky pravidel syntaxe (např. Klíčová slova, středníky, bílé znaky). Některé jazyky jsou přísnější, jiné méně, a jiné mají své vlastní jedinečné přístupy k syntaxi, které se nikde jinde nepoužívají. To vše může být matoucí, pokud nemáte předchozí zkušenosti s kódováním.
Nemluvě o všech koncepčních informacích, které přesahují jednotlivé jazyky. Témata, jako je objektově orientované programování, systémy entity-entity a vzory pozorovatelů, mohou opravdu roztočit hlavu, když se je poprvé pokusíte naučit.
Tuto ilustraci jsem sdílel již dříve, ale je to tak na místě, že se opakuje:
“Představte si, že vám někdo ukázal fotografii sochy. Může vám poskytnout dostatek obrazu, abyste získali přiměřený smysl pro sochu, ale nedostali byste celý obrázek. Zvětšená fotografie ztratí složité detaily, zatímco zvětšená fotografie ztratí smysl pro perspektivu. S dalšími fotografiemi pořízenými z jiných úhlů však můžete skutečně vidět úplnost sochy v texturách, ve velikosti, detailech, zepředu dozadu, ze strany na stranu a shora dolů..”
Naučit se programovat může být překvapivě libovolné. Každý by mohl chválit zdroj A jako nejlepší způsob, jak se naučit jazyk X, ale možná vám to nedává smysl. Možná, že každý nenávidí zdroj B, ale podíváte se na jeden pohled a dává to dokonalý smysl! Pokud jde o někoho jiného, možná zóna ven při studiu zdrojů A a B, ale velmi těžit z Resource C.
Proto je tak důležité, abyste byli ochotni spotřebovávat všechny druhy zdrojů. Každý se učí jiným způsobem. Pokud máte potíže s určitým tématem, vyhledejte další zdroj. Možná, že jeden bude pro vás vhodnější. Možná ne.
I když si myslíte, že rozumíte určitým tématům, je možné, že se toho o nich dozví více. Je také možné, aby vysvětlení někoho jiného upevnilo koncept ve vaší mysli navždy. Nikdy to nevíte, tak proč nespotřebovávat tolik zdrojů, kolik můžete?
Upozorňujeme, že hry mohou být kriticky užitečným zdrojem! Podívejte se na tyto zábavné a vzdělávací hry pro kódování. 9 nejlepších kódovacích her pro sestavení vašich programovacích dovedností 9 nejlepších kódovacích her pro sestavení vašich programovacích dovedností Kódovací hry vám pomohou naučit se rychleji díky praktickým zkušenostem a zkušenostem. Navíc jsou zábavným způsobem, jak vyzkoušet své programovací dovednosti! .
Učte koncepty, jak se je naučíte
V programování je krásný koncept zvaný gumová kachna s laděním Nejpodivnější programovací principy, které jste nikdy neslyšeli Nejpodivnější programovací principy, které jste nikdy neslyšeli Následující zásady vás naučí být moudrý s vaším kódem. Někteří jsou podivní a mnozí jsou vtipní, ale všichni jsou stejně praktičtí a důležití. Dávejte pozor! , který popisuje techniku vysvětlování něčího kódu, řádek po řádku, neživé gumové kachně. Používá se, když je zlomen určitý segment kódu, ale není tam žádný zřejmý důvod.
Kupodivu, většina programátorů má “Eureka!” okamžik uprostřed vysvětlení kódu, protože najednou uvidí, kde se vyskytuje chyba v logice kódování. Verbalizace spouští jinou oblast mozku, což vás nutí vidět problém z nového úhlu.
Tento koncept lze také použít, aby vám pomohl naučit se nový materiál. Možná jste narazili na tento populární citát, který je často připisován Albertovi Einsteinovi:
“Pokud to nedokážete vysvětlit jednoduše, nerozumíte tomu dostatečně dobře.”
S výjimkou některých oborů, které se zabývají pokročilými teoretickými znalostmi, platí toto rčení. Čím více tématu porozumíte, tím lépe jste jej vysvětlili tak, že někdo, kdo o daném tématu nezná, může jej stále pochopit..
Opak je pravdou. Při pokusu o výuku tématu narazíte na určité koncepty, které podle všeho nevysvětlujete jasným způsobem. Nejen, že je to úžasný způsob, jak diagnostikovat slabiny ve vašich znalostech, skutečný proces nalezení správného vysvětlení může pomoci upevnit koncept ve vaší mysli..
Říká se tomu učení podle výuky a je to v podstatě zvrat na ladění gumové kachny.
Teď neříkám, že byste měli vlastně učit ostatní; spíš každé nové téma programování, které se naučíte, zkuste ho naučit gumové kachně (nebo neviditelnému příteli). Zpočátku to může být hloupé, ale pokud jde o uchování paměti, může to být neuvěřitelně plodné.
Úmyslná praxe dělá perfektní
Představa o talentu je úplná nesmysl. Nikdo neopouští lůno jako světový houslista, zápasník nebo programátor. Jistě, někteří lidé by mohli být více nakloněni určitým disciplínám, ale talent bez zkušeností je zbytečný Nenechte své skryté nadání umřít: 7 způsobů, jak je najít a znovu Nenechte své skryté nadání umřít: 7 způsobů, jak jít a najít Them Again Špatnou zprávou je, že musíte tvrdě pracovat s úmyslem vyleštit skryté talenty. Dobrou zprávou je, že existuje více příležitostí, než kdykoli předtím, plivat svůj talent. . Podobně je tvrdá práce vždy cennější než talent.
To bylo řečeno, ne všechny formy tvrdé práce jsou si rovny. Malcolm Gladwell vytvořil neslavný 10 000 hodin pravidlo, které říká, že musíte do předmětu investovat nejméně 10 000 hodin, abyste se v něm stali mistrem. I když sentiment může být pravdivý, mnozí lidé špatně vykládají, co se snaží říci.
Dlouhá povídka, závazek 10 000 hodin ve skutečnosti nezaručuje mistrovství. Znáte přísloví: “Cvičení nedělá dokonalost. Dokonalá praxe dělá perfektní.” Aby to bylo smysluplné, musí být praxe úmyslná Chcete se stát odborníkem na něco? Vyzkoušejte úmyslnou praxi Chcete se stát odborníkem na něco? Vyzkoušejte úmyslnou praxi Je příliš snadné se cítit zkřivený, když se těžce snažíte vylepšit určitou dovednost. Využijte sílu „úmyslné praxe“, abyste se dostali nad ty, kteří rozzuřili plošiny. . Zvládnutí lze dosáhnout pouze 10 000 hodin úmyslné praxe.
Jak cvičíte, záleží mnohem více, než kolik času strávíte cvičením.
Čtení je pasivní. Sledování lekcí na YouTube je pasivní. Poslech podcastů je pasivní. Jako nováčkový kodér byste mohli být v pokušení vrtět se z výukového programu do výukového programu, řešit předmět po předmětu, aniž byste ve skutečnosti některou z těchto znalostí uplatnili praktickým způsobem. Odolejte tomuto pokušení.
Jedna věc je pochopit příklad před vámi, ale další je syntetizovat řešení od nuly. Pokud chcete urychlit proces učení, musíte být ochotni být aktivní místo pasivního. Aktivní praxe je jediný, na čem záleží.
Experimentujte s osobními projekty
Domácí úkol byl pro mě nejhorší součástí školy. Vypadalo to jako komplikovaný trik zabíjení zábavy a udržení práce studentů - což je spravedlivé, někdy pravda. Ale teď, když se ohlédnu, význam domácího úkolu konečně dává smysl. To mě přinutilo aktivně aplikovat nově získané znalosti.
Pokud jste se zapsali do kurzů a kurzů programování 11 nejlepších webů pro online počítačové kurzy programování online 11 nejlepších webů pro online kurzy počítačové programování online Pomocí těchto kurzů online počítačového programování zdarma se můžete stát skvělým kodérem bez titulu počítačové vědy. , nepodceňujte účinnost domácích úkolů. Berte to vážně, vždy s ním zacházejte jako s šancí dále upevňovat to, co jste se naučili, do dlouhodobé paměti.
Ale mnohokrát domácí úkoly stále nestačí. (A pokud se učíte programovat sami bez skutečného instruktora, pravděpodobně nemáte žádné domácí úkoly.)
Jaké je řešení? Vytvořte několik vedlejších projektů!
Přemýšlejte o několika nápadech na projekt 5 nápadů na projekt, které vám pomohou naučit se programování rychleji 5 nápadů na projekt, které vám pomohou naučit se programování rychleji Existuje několik způsobů, jak uvolnit křivku učení pro programování. Znečistěte si ruce a učte se rychleji pomocí vedlejších projektů, které můžete začít kdykoli. Hrajte si s těmito pěti. které byste chtěli implementovat. Pro absolutní nováčky můžete zvážit hru Tic-Tac-Toe nebo Hangman. Pro zkušené programátory, kteří se snaží naučit nový rámec, zkuste kódovat jednoduchou mobilní aplikaci nebo webovou hru. Pokud vás to zajímá na osobní úrovni, jděte na to!
Krása tohoto přístupu je dvojí.
Za prvé, je více pravděpodobné, že vaši pozornost. Studie ukázaly, že se studenti učí lépe, když mohou sledovat témata, která je zajímají. To je přesně to, co nabízí osobní projekt. Máte konečný cíl, kterého chcete skutečně dosáhnout, takže je pravděpodobné, že si uchováte informace, které vás tam dostanou.
Za druhé, nemáte žádný tlak, abyste uspěli. Zatímco úspěch by byl pěkný, nedostatek formality vám umožní být experimentální a kreativní. Musíte se nevyhnutelně setkat s problémy, ale je to spíš jako hrát si s Legem než s domácími úkoly. Je to zábavnější a ne tak stresující.
Relax & Bookmark Everything
Pravda je, že si žádný programátor nepamatuje všechno naučili se. I když nějakou dobu pracujete s konkrétní knihovnou nebo rámcem, není neobvyklé, pokud si nepamatujete každou funkci nebo proměnnou mimo vaši hlavu..
Ve skutečnosti by se pokusit zapamatovat si všechno mohlo skončit jako obrovská ztráta času a úsilí. Referenční listy existují z nějakého důvodu. Proč zavázat celou encyklopedii do paměti, když ji můžete kdykoli otevřít, kdykoli ji potřebujete?
Takže, kdy si zapamatovat a kdy odkazovat?
Pokud jde o koncepční materiál, vždy jej internalizujte podle svých nejlepších schopností. Myslím tím pochopení teorie, i když ji nemůžete převést na skutečný kód (a teorie by vám měla být dostatečně jasná, abyste ji mohli jasně učit).
Pro všechno ostatní - jako jsou konkrétní názvy funkcí, seznamy parametrů nebo dokonce jazykové vtípky - Nerad bych si dělal starosti s pamětí. Nebojte se odejít na referenční list. Někdy na něco odkazujete tak často, že si to nakonec zapamatujete. Pokud k tomu dojde, dobře. Pokud ne, je to také v pořádku.
Osobně mám stovky internetových záložek k různým API, průvodcům a výukovým programům. Pokud potřebuji implementovat nějaký algoritmus pro hledání cest, mohl bych odkazovat na průvodce, který mi pomůže získat kódování, než na něj znovu zapomenu. Pomáhá to pochopit základní pojmy, ale snažím se netrápit se podrobnostmi o implementaci.
Závěrečné myšlenky
Budu to opakovat milionkrát, pokud musím: programování je těžké a je to v pořádku, pokud s ním zápasíte. Programuji jako koníček více než deset let a stále se cítím zastrašený, když se musím učit nové koncepty.
Nenechte se porazit, pokud si nemůžete vzpomenout na všechno hned. Výše uvedené tipy se vám mohou zdát užitečné, i když ne, můžete se vždy spolehnout na odkazy označené jako poslední možnost..
Je pro vás programování obtížné? Jaké triky a tipy víte, že by mohly být užitečné pro nováčky? Sdílejte s námi svou moudrost v komentářích níže!
Image Credits: Binární programátor přes Shutterstock, vymazání paměti přes Shutterstock, zamlžený kód Via Shutterstock, Rubber Ducky Via Shutterstock, klávesnice typistická Via Shutterstock, zdrojový kód PHP přes Shutterstock, složky souborů přes Shutterstock