- A kódolás tanulásáról két fontos dolgot kell tudni:
- Az első pontot újra és újra látom. Emberek, akik azt mondják, hogy meg akarnak tanulni kódolni, aztán elkezdenek tanulni, és azt gondolják, hogy ez pokolian unalmas.
- Ez elvezet a második ponthoz. A kódolás megtanulása már nem ugyanazt jelenti.
- A probléma az, hogy az emberek nem ezt akarják. Ők építeni akarnak valamit. És nem szabad többé természetesnek vennünk, hogy ahhoz, hogy valamit építsünk, mindent meg kell tanulnunk a számítógépekről vagy akár a kódolásról általában.
- Tanárként fel kell ismernünk, hogy amikor az emberek azt mondják, hogy meg akarnak tanulni kódolni, gyakran valójában arra gondolnak, hogy webes vagy mobilalkalmazást akarnak készíteni.
- Hallgatóként: tanuld meg, amit tanulni akarsz.
- Szóval mennyi idő alatt lehet megtanulni kódolni?
A kódolás tanulásáról két fontos dolgot kell tudni:
- A legtöbb ember valójában nem akar “megtanulni kódolni”
- A kódolás megtanulása már nem egy dolgot jelent
Ezt a két dolgot azért fontos tudni, mert különben rossz, ahogyan a kódolásra tanítjuk az embereket, és az emberek nem fognak megtanulni.
Az első pontot újra és újra látom. Emberek, akik azt mondják, hogy meg akarnak tanulni kódolni, aztán elkezdenek tanulni, és azt gondolják, hogy ez pokolian unalmas.
A kódolási tévhitnek hívom. Az emberek azt hiszik, hogy meg akarnak tanulni kódolni, de valójában egy terméket akarnak építeni.
Ha belegondolunk, ennek elég nyilvánvalónak kellene lennie. A kódtudás önmagában nem értékes, ha nem tudsz vele semmit kezdeni. Tehát a legtöbb ember számára a kódolás megtanulásának legnagyobb motivációja az, hogy építsen valamit (bár a második helyen áll egy jobban fizető állás megszerzése).
Ez elvezet a második ponthoz. A kódolás megtanulása már nem ugyanazt jelenti.
Régen ahhoz, hogy kódolni tudj, szinte mindent tudnod kellett a számítógépekről (innen az “informatika” kifejezés). Aztán a dolgok annyira elvonatkoztattak, hogy bizonyos témákba nem igazán kellett belemerülni, hacsak nem volt rá nagy szükség. Például webalkalmazás-fejlesztőként jelenleg nagyon keveset kell tudnom a rendszeradminisztrációról, mert ezt többnyire olyan eszközök végzik el helyettem, mint a Heroku és az Amazon Web Services.
Az emberek tehát, amikor azt mondják, hogy meg akarnak tanulni kódolni, a legtöbb tanár ott kezdi, ahol feltételezhetően kezdenie kell (ahol mindig is kezdte), az adattípusokkal, a nyelv különböző struktúráival, és segít a diákoknak a számítógépek mélyebb megértésében.
A probléma az, hogy az emberek nem ezt akarják. Ők építeni akarnak valamit. És nem szabad többé természetesnek vennünk, hogy ahhoz, hogy valamit építsünk, mindent meg kell tanulnunk a számítógépekről vagy akár a kódolásról általában.
Ha például valaki már egy nagyszerű backend-fejlesztővel dolgozik, akkor lenne értelme csak a frontendet megtanítani neki, mert az lesz számára a leghasznosabb. Valójában gyorsabban fogják elérni, amit szeretnének, és a back-endet később is meg tudják majd tanulni. Ezzel csökkentjük a tanuló kognitív terhelését, és lehetővé tesszük, hogy gyorsabban tanuljon.
Ha a webre fejlesztesz, akkor konkrétan a következőkkel kell foglalkoznod:
- HTML
- CSS
- JavaScript
- Back-end programozás
- Adatbázisok
- Tárhely/DNS
Ez itt sok tanulnivaló van. És a legtöbbje eléggé irreleváns a nem webfejlesztés szempontjából (kivéve nyilván az adatbázisokat és az alkalmazásszerkezetet).
Ahogy én látom, a legtöbb kódolási oktatás egy csali és egy csere. Ez így megy:
Tanuló: “Meg akarok tanulni kódolni”. (De valójában – de nem tudják eléggé, hogy megkérdezzék – azt akarják, hogy webes vagy mobil alkalmazást akarok készíteni.)
Tanár: “Oké, kezdjük az adattípusokkal.”
Tanuló: “…”
(2 héttel később)
Tanár: “Most már tudunk hatékony algoritmusokat tervezni.”
Tanuló: “…”
Tanár: “Most már tudunk hatékony algoritmusokat tervezni: “
Tanárként fel kell ismernünk, hogy amikor az emberek azt mondják, hogy meg akarnak tanulni kódolni, gyakran valójában arra gondolnak, hogy webes vagy mobilalkalmazást akarnak készíteni.
Ez azért van, mert számukra a kódolás az. Ez minden, amivel valaha is találkoztak a kódolással kapcsolatban. A probléma az, hogy nem tudják, hogyan kérdezzenek rá! Szóval nem szabadna mindent, amit mondanak, névértéken venni. Nekünk, pedagógusoknak az a dolgunk, hogy a sorok között olvassunk.
Emlékszem, néhány évvel ezelőtt láttam egy színdarabot, amelyben egy pap azt mondja, hogy még nehéz körülmények között is igazat kell mondanunk. Az illető, akivel beszélget, megkérdezi: “De mi van, ha valaki kérdez valamit, és tudod, hogy az igazság fájni fog neki?”. A pap azt válaszolja: “
Az oktatásban is a sorok között kell olvasni, hogy rájöjjünk, mit akarnak valójában az emberek. Ha valamilyen konkrét dolgot kérdeznek, akkor arra kell irányítanod az illetőt, ami elvezeti őt az ideális tanulási élménye felé.”
Az tehát rajtunk, oktatókon és szakértőkön múlik, hogy a megfelelő irányba tereljük az embereket, és nem hagyjuk, hogy csak úgy elkalandozzanak. Ha ezt meg tudjuk tenni, akkor sokkal több embert tudunk képessé tenni arra, hogy csodálatos dolgokat tegyen.”
Hallgatóként: tanuld meg, amit tanulni akarsz.
A saját tanulási kalandjaid során az egyik legjobb dolog, amit tehetsz, hogy sok mindenről tanulsz egy kicsit – így tudod, miben akarsz később mélyebben elmerülni.
Itt a One Month-nál, amikor azt mondjuk, hogy “30 nap alatt megtanulhatsz kódolni”, azt értjük alatta, hogy mindössze 30 nap alatt megtanulhatsz annyit a HTML-ből (JavaScript vagy Python), hogy társalogni tudj a kódolással, elég magabiztosan ahhoz, hogy kitűnj a munkaerőpiacon.
Szóval mennyi idő alatt lehet megtanulni kódolni?
Minket “One Month”-nak hívnak, tehát ez azt jelenti, hogy 30 nap kódolás után a diákjaink befejezik a tanulást? Egyáltalán nem! Már több mint 15 éve kódolok, és még mindig nagyon sok mindent nem tudok – de nem ez a lényeg. A “kódolni tanulás” nem arról szól, hogy minden egyes dolgot tudjunk a nyelvben, hanem arról, hogy eleget tudjunk ahhoz, hogy társalogni tudjunk, és hogy az elménk és a kreatív képességeink segítségével nyomot hagyjunk a világban.”