Hirdetés
A programozás az kemény. Csak azok mondanak mást, akiknek több éves kódolási tapasztalatuk van. Nem baj, ha túlterheltek! Van egy sok tanulni, és valószínűleg olyan gyorsan elfelejti a dolgokat, ahogy megtanulja azokat. Hidd el: ez normális.
De attól, hogy ez normális, még nem jelenti azt, hogy nem frusztráló. Az igazat megvallva, kódolás megtanulása Hogyan tanuljunk programozni minden stressz nélkülTalán úgy döntött, hogy programozással foglalkozik, akár karrier, akár csak hobbi miatt. Nagy! De lehet, hogy kezdi túlterheltnek érezni magát. Nem olyan nagyszerű. Íme a segítség az utazás megkönnyítéséhez. Olvass tovább rendkívül megterhelő lehet, ha nem a megfelelő gondolkodásmóddal és hozzáállással közelíted meg.
A lehető leghamarabb szeretnéd megtanulni az új nyelvet, könyvtárat vagy keretrendszert, igaz? Ez érthető. Szerencsére van néhány tipp, amelyek segíthetnek jobban megőrizni mindazokat a súlyos programozási információkat, amelyek folyamatosan az egyik fülben beszállnak, a másikon pedig kifelé.
Nincs több zsúfolt munkamenet
Senki sem akarja hallani, de a betömés a legrosszabb módja a programozás megtanulásának. Ha olyan vagy, mint én, a tömés volt a tied működési módja egész iskolában és egyetemen. Ez az egyetlen módja annak, hogy tudja, hogyan kell tanulni.
De tanulj a hibáimból: minél többet próbálsz összezsúfolni, annál kevésbé fogsz emlékezni. Ez nagyjából minden tudásalapú tantárgyra igaz, de különösen igaz, ha programozásról van szó.
Ennek az állításnak az alapja jön egy 2008-as tanulmányból a Kaliforniai Egyetem, San Diego:
„A tanulók jobban teljesítenek, ha elosztják a tanulmányi üléseiket, nem pedig akkor, ha egy ülés alatt mindent a gubójukba próbálnak begyömöszölni.”
Miért? Valószínűleg a soros pozíció effektus:
"A sorozatpozíció-effektus az a tendencia, hogy az ember a sorozat első és utolsó elemét a legjobban, a középső tételeket pedig legrosszabbul emlékszik vissza."
Más szóval: bármely adott tanulmányi ülés során nagyobb valószínűséggel őriz meg a közelben tanult információkat a munkamenet eleje és vége, és nagyobb valószínűséggel elfelejti az információt a közepétől ülés.
Maximalizálni szeretné a kezdetek és a végek számát. Éppen ezért jobb, ha több rövid foglalkozást tartunk néhány hosszú ülés helyett, amikor új anyagok tanulásáról és befogadásáról van szó.
Amikor legközelebb leül tanulni a kódot, témánként vegye át, és tartson rövid szünetet az egyes témák között. (Csak ügyeljen arra, hogy a szünetek ne fajuljanak halogatásba!)
Áttekintés, áttekintés, áttekintés
Egy másik ok, amiért a zsúfoltság ellentétes a hosszú távú tudásmegtartással, az, hogy a memória idővel elhalványul. Ez nem mindig igaz – biztos vagyok benne, hogy mindannyiunknak van néhány gyerekkori emléke, amelyek soha nem tűnnek el –, de úgy tűnik, ez az általános eset azokra az emlékekre, amelyek nem kötődnek érzelmekhez.
Vita folyik arról, hogy maga a memória hanyatlik-e az idő miatt (bomláselmélet) vagy egyszerűen kiszorul, és idővel új emlékek váltják fel (interferencia elmélet). Bármelyik elmélet mellett is iratkozik fel, az eredmény az, hogy a régebbi emlékek nagyobb valószínűséggel halványulnak el.
Itt jön képbe a felülvizsgálat.
Képzeld úgy, mintha az emlékek erdejében sétálnál. Minden alkalommal, amikor hozzá szeretne férni egy memóriához, meg kell tennie nyomon követni az idegpályát hogy megtalálja. Minden alkalommal, amikor nyomon követi ezt az emléket, az ösvény egy kicsit jobban bevésődik – éppúgy, mint ahogyan egy piszok ösvény természetes módon képződik, amikor az emberek ugyanazt az utat járják újra és újra. Ha abbahagyja az ösvény sétáját, az elhalványulhat, és az emlék valahol az erdőben elveszik.
Ha az összes poppszichológiát félretesszük, a lényeg: ha programozásról van szó, nem elég egyszer vagy kétszer megtanulni egy témát. Több tucatszor vagy akár százszor is meg kell látogatnia. Minden áttekintés egy kicsit mélyebbre vési a témát az agyadba.
Tudom, milyen nehéz lehet ez, ha természetes zsúfolt vagy, de meg fogsz lepődni, hogy milyen gyorsan kezdi el megtartani az anyagot, ha rendszeresen átnézi.
Használjon különféle forrásokat
A programozás legnehezebb szempontja – legalábbis a vadonatúj kódolók esetében – a részletek és árnyalatok széles skálája, amelyeket belsővé kell tenni. Amíg ez a belsővé válás meg nem történik, örökös fejvakarásban leszel.
A nyelvtől függően több száz szintaktikai szabályt (például kulcsszavakat, pontosvesszőket, szóközöket) kell megjegyeznie. Egyes nyelvek szigorúbbak, mások kevésbé, mások pedig saját, egyedi szintaxis-megközelítéssel rendelkeznek, amelyet sehol máshol nem használnak. Mindez zavaró lehet, ha nincs előzetes kódolási tapasztalata.
Nem beszélve az összes fogalmi információról, amely túlmutat az egyes nyelveken. Az olyan témák, mint az objektum-orientált programozás, az entitás-összetevő rendszerek és a megfigyelői minták, valóban felpörgetik a fejét, amikor először próbálja megtanulni ezeket.
Ezt az illusztrációt már korábban is megosztottam, de annyira aktuális, hogy érdemes megismételni:
– Tegyük fel, hogy valaki megmutatott egy fényképet egy szoborról. Lehet, hogy elegendő képet nyújt ahhoz, hogy megfelelő képet kapjon a szoborról, de nem kapja meg a teljes képet. A kicsinyített fotó elveszítené a bonyolult részleteket, míg a nagyított fotó elveszítené a perspektíva érzését. Ha azonban további, más szögből készített fényképeket is készít, akkor valóban elkezdheti látni a a szobor teltsége textúrában, méretben, részletekben, elöl-hátul, oldalról oldalra és fentről lefelé."
A programozás megtanulása meglepően önkényes lehet. Mindenki dicsérheti az A forrást, mint az X nyelv elsajátításának legjobb módjait, de lehet, hogy ennek nincs értelme. Lehet, hogy mindenki utálja a B erőforrást, de csak egy pillantást vetve teljesen logikus! Ami valaki mást illeti, lehet, hogy az A és B forrás tanulmányozása során zónák maradnak, de nagy hasznot húznak a C erőforrásból.
Ezért olyan fontos, hogy hajlandó legyen mindenféle erőforrást elfogyasztani. Mindenki máshogyan tanul. Ha problémái vannak egy adott témával kapcsolatban, keressen egy másik forrást. Talán ez lesz a megfelelőbb az Ön számára. Talán nem.
Még ha úgy gondolja is, hogy ért bizonyos témákhoz, lehetséges, hogy még többet kell megtudnia róla. Az is lehetséges, hogy valaki más magyarázata végleg megszilárdítja a gondolatot az elmédben. Soha nem tudhatod, miért nem használsz fel annyi erőforrást, amennyit csak tudsz?
Vegye figyelembe, hogy a játékok rendkívül hasznos források lehetnek! Nézze meg ezeket szórakoztató és oktató kódoló játékok A 9 legjobb kódoló játék a programozási készségek fejlesztéséhezA kódoló játékok gyakorlati gyakorlással és tapasztalattal segítik a gyorsabb tanulást. Ráadásul szórakoztató módon tesztelheti programozási készségeit! Olvass tovább .
Tanítsd meg a fogalmakat, ahogy tanulod őket
Van egy gyönyörű koncepció a programozásban, az úgynevezett gumikacsa hibakeresés A legfurcsább programozási elvek, amelyekről még soha nem hallottálA következő alapelvek megtanítanak arra, hogy bölcsen bánj kódoddal. Némelyik furcsa, és sok humoros, de mindegyik egyformán praktikus és fontos. Figyelem! Olvass tovább , amely azt a technikát írja le, hogy sorról sorra megmagyarázza a kódját egy élettelen gumikacsának. Akkor használják, ha a kód egy adott szegmense meghibásodik, de ennek nincs nyilvánvaló oka.
Furcsa módon a legtöbb programozónak van "Eureka!" pillanatban a kód magyarázatának közepén, amikor hirtelen látják, hol történik a kódolási logika hiba. A verbalizáció az agy egy másik területét váltja ki, és arra kényszeríti, hogy a problémát új szemszögből nézze.
Ez a fogalom új anyagok elsajátítására is használható. Talán találkoztál ezzel a népszerű idézettel, amelyet gyakran Albert Einsteinnek tulajdonítanak:
"Ha nem tudod egyszerűen elmagyarázni, akkor nem érted eléggé."
Néhány olyan terület kivételével, amelyek fejlett elméleti tudással foglalkoznak, ez a mondás igaz. Minél jobban értesz egy témát, annál jobban fel tudod magyarázni úgy, hogy valaki, aki nem ismeri az adott témát, még megértse.
Ennek az ellenkezője is igaz. Miközben megpróbál egy témát tanítani, bizonyos fogalmakkal találkozik, amelyeket úgy tűnik, nem tud világosan megmagyarázni. Ez nem csak a tudás gyenge pontjainak diagnosztizálásának nagyszerű módja, hanem a megfelelő magyarázat megtalálásának folyamata is segíthet megszilárdítani az elképzelést az elmédben.
Tanítás általi tanulásnak hívják, és alapvetően a gumikacsa hibakeresés egy csavarja.
Most nem azt mondom, hogy kellene tulajdonképpen tanítson másokat; inkább minden új programozási témát, amit megtanulsz, próbáld meg tanítani egy gumikacsának (vagy egy láthatatlan barátnak). Lehet, hogy eleinte butaságnak tűnik, de hihetetlenül gyümölcsözőnek találhatod, ha az emlékezetmegőrzésről van szó.
A tudatos gyakorlás teszi a mestert
A tehetség fogalma teljes szemétség. Senki sem lép ki az anyaméhből világszínvonalú hegedűsként, birkózóként vagy programozóként. Persze lehet, hogy egyesek hajlamosabbak bizonyos tudományágak felé, de a tehetség tapasztalat nélkül haszontalan Ne hagyd, hogy elhaljanak rejtett tehetségeid: 7 út, hogy menj, és találd meg őket újraA rossz hír az, hogy keményen kell dolgoznia azzal a szándékkal, hogy csiszolja rejtett tehetségét. A jó hír az, hogy minden eddiginél több lehetőség kínálkozik arra, hogy kiköpje tehetségét. Olvass tovább . Hasonlóképpen, a kemény munka mindig értékesebb, mint a tehetség.
Ezt mondva, a kemény munka nem minden formája egyenlő. Malcolm Gladwell megalkotta a hírhedt 10 000 órás szabályt, amely szerint legalább 10 000 órát kell fektetni egy tantárgyba, hogy mestere lehessen abban. Bár az érzés igaz lehet, sokan félreértelmezik, amit mondani akart.
Röviden, a 10 000 órás elkötelezettség valójában nem garantálja az elsajátítást. Ismered a mondást: „A gyakorlás nem tesz mestert. A tökéletes gyakorlat teszi a mestert.” Hogy értelme legyen, a gyakorlatnak szándékosnak kell lennie Valaminek szakértője szeretne lenni? Próbáld ki a szándékos gyakorlatotTúlságosan is könnyű úgy érezni, hogy elesett, amikor fáradságosan próbál fejleszteni egy bizonyos képességet. Használja a „szándékos gyakorlás” erejét, hogy túljusson ezeken a dühítő fennsíkokon. Olvass tovább . A mesteri tudást csak 10 000 óra tudatos gyakorlással lehet elérni.
Az, hogy hogyan gyakorolsz, sokkal többet számít, mint az, hogy mennyi időt töltesz gyakorlással.
Az olvasás passzív. A YouTube leckék megtekintése passzív. A podcastok hallgatása passzív. Kezdő kódolóként előfordulhat, hogy kísértést érezhet, hogy oktatóanyagról oktatóanyagra csapkodjon, és témáról tárgy után foglalkozzon anélkül, hogy ezt a tudást ténylegesen gyakorlati módon alkalmazná. Állj ellen ennek a kísértésnek.
Egy dolog megérteni egy példát előtted, de más dolog szintetizálni a megoldást a semmiből. Ha fel akarja gyorsítani a tanulási folyamatot, hajlandónak kell lennie az aktívra a passzív helyett. Az aktív gyakorlat az egyetlen, ami a végén számít.
Kísérletezzen személyes projektekkel
Számomra a házi feladat volt az iskola legrosszabb része. Csak egy bonyolult trükknek tűnt a szórakozás megszüntetésére és a diákok elfoglaltságára – ami az igazság kedvéért néha igaz is volt. De most, hogy visszatekintek, végre értelmet nyer a házi feladat fontossága. Ez arra késztetett, hogy az újonnan megszerzett tudást aktívan alkalmazzam.
Ha be vagy jelentkezve programozási tanfolyamok és órák A 11 legjobb webhely ingyenes online számítógép-programozási tanfolyamokhozEzekkel az ingyenes online számítógépes programozási kurzusokkal nagyszerű kódolóvá válhat számítástechnikai végzettség nélkül. Olvass tovább , ne becsülje alá a házi feladat hatékonyságát. Vedd komolyan, mindig úgy tekints rá, mint arra, hogy a tanultakat a hosszú távú emlékezetbe rögzítse.
De sokszor a házi feladat még mindig nem elég. (Ha pedig önállóan tanulsz programozni tényleges oktató nélkül, valószínűleg nincs házi feladatod.)
mi a megoldás? Hozz létre néhány eldobható mellékprojektet!
Gondolj a néhány projektötlet 5 projektötlet a programozás gyorsabb megtanulásáhozVan néhány módszer a programozás tanulási görbéjének megkönnyítésére. Piszkolja be a kezét, és tanuljon gyorsabban a mellékprojektekkel, amelyeket bármikor elkezdhet. Játssz ezzel az öttel. Olvass tovább amit szeretnél megvalósítani. Az abszolút kezdőknek fontolóra veheti a Tic-Tac-Toe vagy a Hangman játékot. Azok a tapasztalt programozók, akik új keretrendszert szeretnének megtanulni, próbáljanak meg egy egyszerű mobilalkalmazást vagy webes játékot kódolni. Amíg személyes szinten érdekli, addig hajrá!
Ennek a megközelítésnek a szépsége kettős.
Először is, valószínűbb, hogy leköti a figyelmét. Tanulmányok kimutatták, hogy a diákok jobban tanulnak, ha olyan témákkal foglalkozhatnak, amelyek érdeklik őket. Pontosan ezt kínálja egy személyes projekt. Van egy végcélod, amelyet valóban el akarsz érni, így nagyobb valószínűséggel őrized meg azokat az információkat, amelyek elvezetnek odáig.
Másodszor, nincs rád nyomás a sikerre. Bár a siker jó lenne, a formalitás hiánya lehetővé teszi, hogy kísérletező és kreatív legyél. Óhatatlanul problémákba ütközik, de ez inkább Legóval való játék, mint házi feladat. Ez szórakoztatóbb és nem olyan stresszes.
Relax & Bookmark Minden
Az igazság az, hogy egyetlen programozó sem emlékszik minden tanultak. Még azután is, hogy egy adott könyvtárral vagy keretrendszerrel dolgozik, nem ritka, ha nem tud felidézni minden függvényt vagy változót a feje tetejéről.
Valójában hatalmas idő- és erőfeszítéspazarlás lehet, ha megpróbál mindent megjegyezni. A referencialapok okkal léteznek. Miért kellene egy egész enciklopédiát az emlékezetbe vésni, ha csak fel lehet nyitni, amikor csak szükség van rá?
Tehát mikor kell memorizálni és mikor hivatkozni?
Ha konceptuális anyagról van szó, mindig a legjobb tudásod szerint vidd be azt. Ez alatt azt értem, hogy megértsd az elméletet, még akkor is, ha nem tudod tényleges kóddá alakítani (és az elméletnek elég világosnak kell lennie ahhoz, hogy világosan taníthasd).
Minden máshoz – például konkrét függvénynevekhez, paraméterlistákhoz vagy akár nyelvi furcsaságokhoz – Nem aggódnék amiatt, hogy elkötelezném magam az emlékezet mellett. Nyugodtan halogasd egy referencialapra. Néha olyan gyakran hivatkozol valamire, hogy végül megjegyezed. Ha ez megtörténik, rendben. Ha nem, az is jó.
Személy szerint több száz internetes könyvjelzőm van különféle API-khoz, útmutatókhoz és oktatóanyagokhoz. Ha valamilyen útkereső algoritmust kell implementálnom, akkor hivatkozhatok egy útmutatóra, amely segít kódolni, mielőtt újra megfeledkeznék róla. Segít megérteni a mögöttes fogalmakat, de igyekszem nem aggódni a megvalósítás részletei miatt.
Végső gondolatok
Milliószor megismétlem, ha kell: a programozás nehéz, és nem baj, ha küzdesz vele. Több mint egy évtizede hobbiként programozom, és még mindig megfélemlítem magam, amikor új fogalmakat kell megtanulnom.
Ne verje magát, ha nem emlékszik mindenre azonnal. A fenti tippek remélhetőleg hasznosak lesznek az Ön számára, és még ha nem is, végső megoldásként mindig támaszkodhat a könyvjelzővel ellátott hivatkozásokra.
Nehéznek találod a programozást? Milyen trükköket és tippeket tudsz, amelyek hasznosak lehetnek a kezdő kódolóknak? Ossza meg bölcsességeit velünk az alábbi megjegyzésekben!
A kép forrásai: Bináris programozó a Shutterstockon keresztül, Memóriaradír a Shutterstockon keresztül, Elhomályosított kód a Shutterstockon keresztül, Rubber Ducky Via Shutterstock, Billentyűzet gépíró a Shutterstockon keresztül, PHP forráskód a Shutterstockon keresztül, Fájlmappák a Shutterstockon keresztül
Joel Lee-nek B.S. Számítástechnika és több mint hat év szakmai írói tapasztalat. Ő a MakeUseOf főszerkesztője.