Néhány adatponttal szeretnék hozzájárulni a témához.
A $cégnél egy ideje úgy alakult, hogy az addig nem programozóként dolgozó kollégákat kellett átképezni programozással kapcsolatos munkakörbe (pl. tesztelőnek).
Hárman (mind értelmes, jól oktató emberek) háromféle elképzeléssel álltak neki bevezető programozást oktatni nekik:
Az egyik elemi példákból kiindulva (hogyan cserélnél meg egy tojástartóban két tojást, ha csak egy kézzel nyúlhatsz bele és egyszerre egyet foghatsz meg stb.) flowchartokkal és struktogramokkal magyarázott programozási tételeket.
Eredmény: mérsékelten negatív, amennyire követtem, azt is eltántorította a témától, akiben amúgy lett volna hajlandóság.
A másik awk-ban írt példákon mutatta be az alapfogalmakat, mint változók, feltételek, ciklus.
Eredmény: alig valami. Elméletben lehet, hogy megértették, de a vizsgafeladatokat jellemzően nem tudták megoldani.
A harmadik egy nagyon rövid elméleti bevezető után egy kész, nem egészen triviális, pygame-ben írt játékot mutatott be, aztán elemzett, hogy mi mit csinál.
Eredmény: látványosan pozitív. A résztvevők közül többen pofás és egész élvezetes játékot tudtak összerakni - nyilván a példa alapján, segítséggel, nem optimális módon, de saját ötletből és működően.
A tanulság talán annyi, hogy a motiváció fenntartása és a minél hamarabb visszajelzés nagyon fontos:
a tanulónak leginkább azt kell meglátnia és elhinnie, hogy a programozás megtanulásával olyan dolgokat is meg tud majd csinálni, amelyeket korábban nem; tehát hogy mindez neki hasznos lesz.