reklama
Programování je tvrdý. Jediní lidé, kteří říkají něco jiného, jsou ti, kteří mají za sebou léta zkušeností s kódováním. Je v pořádku být ohromen! Je tu hodně učit se a pravděpodobně věci zapomenete tak rychle, jak se je naučíte. Věřte 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 programovat bez veškerého stresuMožná jste se rozhodli věnovat programování, ať už kvůli kariéře nebo jen jako koníčku. Skvělý! Ale možná se začínáte cítit ohromeně. Ne tak skvělé. Zde je pomoc, která vám usnadní cestu. Přečtěte si více může být extrémně stresující, pokud k němu nepřistupujete se správným myšlením a přístupem.
Chcete se naučit ten nový jazyk nebo knihovnu nebo framework co nejdříve, že? To je pochopitelné. Naštěstí existuje několik tipů, které vám mohou pomoci lépe uchovat všechny ty těžké informace o programování, které neustále létají jedním uchem a druhým přímo ven.
Žádné další cram sessions
Nikdo to nechce slyšet, ale nacpat se je nejhorší způsob, jak se naučit programovat. Pokud jste něco jako já, nacpání bylo vaše
modus operandi vše po celé škole a univerzitě. Je to jediný způsob, jak víte, jak se učit.Ale poučte se z mých chyb: čím více se budete snažit nacpat, tím méně si toho budete pamatovat. To v podstatě platí pro jakýkoli předmět založený na znalostech, ale platí to zejména, pokud jde o programování.
Základ tohoto tvrzení přichází ze studie z roku 2008 od University of California, San Diego:
"Studenti dosahují lepších výsledků, když si svá studia rozloží, než když se pokoušejí všechno nacpat do svých lektvarů během jednoho sezení."
Proč? S největší pravděpodobností kvůli efekt sériové polohy:
"Efekt sériové pozice je tendence člověka vybavit si první a poslední položku v sérii nejlépe a prostřední položku nejhorší."
Jinými slovy: v jakékoli dané studijní relaci je pravděpodobnější, že si uchováte informace, které jste se naučili poblíž na začátku a na konci relace a pravděpodobněji zapomenete informace z poloviny zasedání.
Chcete maximalizovat počet začátků a konců. Proto je lepší mít více krátkých sezení místo několika dlouhých, pokud jde o učení a vstřebávání nového materiálu.
Až si příště sednete a budete se učit kód, vezměte si jedno téma po druhém a mezi jednotlivými tématy si udělejte krátkou přestávku. (Jen se ujistěte, že se vaše přestávky nezmění v prokrastinaci!)
Recenze, recenze, recenze
Dalším důvodem, proč je nacpanost v rozporu s dlouhodobým uchováváním znalostí, je skutečnost, že paměť postupem času mizí. To není vždy pravda – jsem si jistý, že všichni máme pár vzpomínek z dětství, které nikdy nezmizí – ale zdá se, že je to obecný případ pro vzpomínky, které nejsou spojeny s emocemi.
Existuje určitá debata o tom, zda paměť sama o sobě chátrá v důsledku času (teorie rozpadu) nebo se prostě časem vytlačí a nahradí novými vzpomínkami (teorie interference). Ať už se přihlásíte ke kterékoli teorii, výsledkem je, že starší vzpomínky s větší pravděpodobností vyblednou.
Zde přichází na řadu recenze.
Představte si to jako procházku lesem vzpomínek. Pokaždé, když chcete získat přístup k paměti, musíte sledovat nervovou dráhu abyste to našli. Pokaždé, když vysledujete tuto vzpomínku, cesta se vryje o něco více – stejně jako se přirozeně tvoří špinavá stezka, když lidé chodí po stejné cestě znovu a znovu. Pokud po stezce přestanete chodit, může se rozplynout a vzpomínka skončí ztracená někde v lese.
Ponecháme-li stranou veškerou popovou psychologii, zde je závěr: pokud jde o programování, nestačí se naučit téma jen jednou nebo dvakrát. Musíte to opakovat desítky nebo dokonce stovkykrát. Každá recenze vám toto téma vryje do mozku o něco hlouběji.
Vím, jak těžké to může být, pokud jste přírodní chlupáč, ale budete překvapeni, jak rychle začnete zadržovat materiál, jakmile se pokusíte jej pravidelně kontrolovat.
Použijte několik různých zdrojů
Nejtěžším aspektem programování – alespoň pro zcela nové kodéry – je naprostá šíře detailů a nuancí, které je třeba internalizovat. Dokud k této internalizaci nedojde, budete v neustálém stavu škrábání na hlavě.
V závislosti na jazyku si budete muset zapamatovat stovky pravidel syntaxe (např. klíčová slova, středníky, mezery). Některé jazyky jsou přísnější, jiné méně a další 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 žádné předchozí zkušenosti s kódováním.
Nemluvě o všech pojmových informacích, které přesahují jednotlivé jazyky. Témata, jako je objektově orientované programování, systémy entit-komponenta a vzory pozorovatelů, vám mohou pořádně zatočit hlavou, když se je poprvé pokusíte naučit.
Tuto ilustraci jsem sdílel již dříve, ale je tak výstižná, že by stálo za to zopakovat:
„Předpokládejme, že vám někdo ukázal fotografii sochy. Mohlo by to poskytnout dostatek obrazu, abyste získali adekvátní představu o soše, ale nezískali byste celý obrázek. Zvětšená fotografie by ztratila složité detaily, zatímco přiblížená by ztratila smysl pro perspektivu. S dalšími fotografiemi pořízenými z jiných úhlů však můžete skutečně začít vidět plnost sochy ve struktuře, ve velikosti, v detailech, zepředu dozadu, ze strany na stranu a zhora 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á každý nenávidí zdroj B, ale stačí se podívat a dává to dokonalý smysl! Pokud jde o někoho jiného, možná se při studiu zdrojů A a B vyhýbají, ale mají velký prospěch ze zdroje 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 jiný zdroj. Možná bude pro vás vhodnější ten. Možná ne.
I když si myslíte, že určitým tématům rozumíte, je možné, že se o tom můžete dozvědět více. Je také možné, že vysvětlení někoho jiného upevní koncept ve vaší mysli navždy. Nikdy nevíte, tak proč nespotřebovat tolik zdrojů, kolik můžete?
Pamatujte, že hry mohou být kriticky užitečným zdrojem! Podívejte se na tyto zábavné a vzdělávací hry s kódováním 9 nejlepších kódovacích her, které vám pomohou vytvořit si programovací dovednostiKódovací hry vám pomohou učit se rychleji díky praktické praxi a zkušenostem. Navíc jsou zábavným způsobem, jak otestovat své programátorské dovednosti! Přečtěte si více .
Učte koncepty, jak se je učíte
V programování existuje krásný koncept tzv ladění gumové kachny Nejpodivnější principy programování, o kterých jste nikdy neslyšeliNásledující principy vás naučí rozumně používat svůj kód. Některé jsou zvláštní a mnohé jsou vtipné, ale všechny jsou stejně praktické a důležité. Dávejte pozor! Přečtěte si více , která popisuje techniku vysvětlování svého kódu řádek po řádku neživé gumové kachničce. Používá se, když je určitý segment kódu poškozen, ale není pro to žádný zřejmý důvod.
Je zvláštní, že většina programátorů má „Eureka!“ okamžik uprostřed vysvětlování kódu, když najednou vidí, kde se chyba v logice kódování vyskytuje. Verbalizace spouští jinou oblast mozku a nutí vás 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 oblíbený citát, který je často připisován Albertu Einsteinovi:
"Pokud to nedokážete vysvětlit jednoduše, dost dobře tomu nerozumíte."
S výjimkou některých oborů, které se zabývají pokročilými teoretickými znalostmi, toto rčení platí. Čím více tématu rozumíte, tím lépe jste vybaveni k tomu, abyste jej vysvětlili tak, aby mu rozuměl i někdo, kdo o daném tématu nemá žádné znalosti.
Opak je pravdou. Když se snažíte učit nějaké téma, narazíte na určité pojmy, které zřejmě nedokážete vysvětlit jasným způsobem. Nejen, že je to úžasný způsob, jak diagnostikovat slabé stránky ve vašich znalostech, skutečný proces hledání správného vysvětlení vám může pomoci upevnit koncept ve vaší mysli.
Říká se tomu učení-by-teaching a je to v podstatě twist na ladění gumové kachny.
Teď neříkám, že byste měli vlastně učit ostatní; raději každé nové téma programování, které se naučíte, zkuste naučit gumovou kachničku (nebo neviditelného kamaráda). Zpočátku vám to může připadat hloupé, ale může vám to připadat neuvěřitelně plodné, pokud jde o uchování paměti.
Záměrná praxe dělá mistra
Pojem talent je úplný nesmysl. Nikdo nevychází z lůna jako prvotřídní houslista, zápasník nebo programátor. Jistě, někteří lidé mohou být více nakloněni určitým disciplínám, ale talent bez zkušeností je k ničemu Nenechte své skryté talenty zemřít: 7 způsobů, jak jít a znovu je najítŠpatnou zprávou je, že musíte tvrdě pracovat se záměrem vypilovat své skryté talenty. Dobrou zprávou je, že existuje více příležitostí než kdy jindy, jak rozvinout svůj talent. Přečtěte si více . Stejně tak tvrdá práce je vždy cennější než talent.
Jak bylo řečeno, ne všechny formy tvrdé práce jsou stejné. Malcolm Gladwell vytvořil nechvalně známé pravidlo 10 000 hodin, které říká, že musíte do předmětu investovat alespoň 10 000 hodin, abyste se v něm stali mistrem. I když ten sentiment může být pravdivý, mnoho lidí si špatně vykládá, co se snažil říct.
Stručně řečeno, závazek 10 000 hodin ve skutečnosti nezaručuje mistrovství. Znáte přísloví: „Cvičení nedělá mistra. Dokonalá praxe dělá mistra.” Aby to mělo smysl, praxe musí být záměrná Chcete se stát na něco expertem? Vyzkoušejte záměrnou praxiJe až příliš snadné cítit se zklamaný, když se usilovně snažíte zlepšit určitou dovednost. Použijte sílu "úmyslného cvičení", abyste se dostali přes ty rozhořčené plošiny. Přečtěte si více . Mistrovství lze dosáhnout pouze prostřednictvím 10 000 hodin záměrného cvičení.
To, jak cvičíte, je mnohem důležitější než to, kolik času cvičením strávíte.
Čtení je pasivní. Sledování lekcí na YouTube je pasivní. Poslech podcastů je pasivní. Jako kodér začátečník vás může lákat přebíhat z výukového programu do výukového programu a probírat předmět za předmětem, aniž byste tyto znalosti prakticky aplikovali. Odolejte tomuto pokušení.
Jedna věc je pochopit příklad před vámi, ale druhá věc je syntetizovat řešení od začátku. Pokud chcete urychlit proces učení, musíte být ochotni být aktivní namísto pasivní. Aktivní praxe je jediný druh, na kterém nakonec záleží.
Experimentujte s osobními projekty
Pro mě byly domácí úkoly nejhorší částí školy. Vypadalo to jako propracovaný trik, jak zabít zábavu a zaměstnat studenty – což, abych byl spravedlivý, někdy byla pravda. Ale teď, když se ohlédnu zpět, důležitost domácích úkolů konečně dává smysl. Nutilo mě to aktivním způsobem uplatňovat nově nabyté znalosti.
Pokud jste přihlášeni kurzy a kurzy programování 11 nejlepších stránek pro bezplatné online kurzy počítačového programováníPomocí těchto bezplatných online kurzů počítačového programování se můžete stát skvělým kodérem bez diplomu z informatiky. Přečtěte si více , nepodceňujte efektivitu domácích úkolů. Berte to vážně a vždy to berte jako příležitost k dalšímu upevnění toho, co jste se naučili, do dlouhodobé paměti.
Ale domácí úkoly často nestačí. (A pokud se učíte programovat sami bez skutečného instruktora, pravděpodobně nemáte pro začátek žádný domácí úkol.)
jaké je řešení? Vytvořte několik postranních projektů!
Myslete na a několik nápadů na projekty 5 nápadů na projekty, které vám pomohou naučit se programovat rychlejiExistuje několik způsobů, jak usnadnit učení se programování. Ušpiněte si ruce a učte se rychleji díky vedlejším projektům, které můžete začít kdykoli. Pohrajte si s těmito pěti. Přečtěte si více které byste chtěli implementovat. Pro úplné nováčky můžete zvážit hru Tic-Tac-Toe nebo Hangman. Pro zkušené programátory, kteří se snaží naučit nový framework, zkuste nakódovat jednoduchou mobilní aplikaci nebo webovou hru. Dokud vás to na osobní úrovni zajímá, jděte do toho!
Krása tohoto přístupu je dvojí.
Za prvé, je pravděpodobnější, že udrží vaši pozornost. Studie ukázaly, že studenti se učí lépe, když se mohou věnovat tématům, 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ější, že si uchováte informace, které vás tam dovedou.
Za druhé, není na vás vyvíjen žádný tlak, abyste uspěli. Zatímco úspěch by byl hezký, nedostatek formálnosti vám umožňuje experimentovat a kreativně. Nevyhnutelně se dostanete do problémů, ale je to spíše jako hraní s Legem než domácí úkol. Je to zábavnější a ne tak stresující.
Uvolněte se a vše si uložte do záložek
Pravdou je, že žádný programátor si to nepamatuje všechno naučili se. I poté, co nějakou dobu pracujete s konkrétní knihovnou nebo frameworkem, není neobvyklé, že si nemůžete vybavit každou funkci nebo proměnnou z hlavy.
Pokoušet se zapamatovat si všechno může ve skutečnosti skončit jako obrovská ztráta času a úsilí. Referenční listy existují z nějakého důvodu. Proč si pamatovat celou encyklopedii, když ji můžete otevřít, kdykoli ji potřebujete?
Kdy se tedy učit nazpaměť a kdy odkazovat?
Pokud jde o koncepční materiál, vždy jej internalizujte podle svých nejlepších schopností. Tím mám na mysli 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 názvy konkrétních funkcí, seznamy parametrů nebo dokonce jazykové zvláštnosti – Nebál bych se zavázat se k paměti. Neváhejte se odložit na referenční list. Někdy budete na něco odkazovat tak často, že si to nakonec zapamatujete. Pokud se tak stane, dobře. Pokud ne, je to také v pořádku.
Osobně mám stovky internetových záložek do různých API, průvodců a tutoriálů. Pokud potřebuji implementovat nějaký druh algoritmu hledání cesty, mohl bych se obrátit na průvodce, který mi pomůže jej zakódovat, než na to znovu zapomenu. Pomáhá to pochopit základní koncepty, ale snažím se netrápit detaily implementace.
Závěrečné myšlenky
Pokud budu muset, zopakuji to milionkrát: programování je těžké a je v pořádku, když s tím bojujete. Již více než deset let se věnuji programování jako koníčku a stále mě děsí, když se musím naučit nové koncepty.
Nebijte se, když si hned všechno nepamatujete. Výše uvedené tipy vám snad budou užitečné, a i když ne, vždy se můžete jako poslední možnost spolehnout na odkazy v záložkách.
Zdá se vám programování obtížné? Jaké triky a tipy, které by mohly být užitečné pro začínající kodéry, znáte? Podělte se s námi o své moudrosti v komentářích níže!
Poděkování za obrázky: Binární programátor přes Shutterstock, Mazání paměti přes Shutterstock, Zmatený kód přes Shutterstock, Rubber Ducky Via Shutterstock, Keyboard Typist přes Shutterstock, Zdrojový kód PHP přes Shutterstock, Složky souborů přes Shutterstock
Joel Lee má B.S. v oboru informatiky a více než šest let profesionální zkušenosti s psaním. Je šéfredaktorem MakeUseOf.