informatikaművelődés

Mindenkinek tudnia kellene programozni?

Szerző: 2012. július 1.No Comments

„Számos tanár van azon a véleményen a számítógép-tudományt oktatók körében, hogy a főiskolát végzetteknek tisztában kell lenniük a szoftverek alapjaival. Persze nem azt állítják, hogy mindenkinek szükségképpen képzett programozóvá kell válnia. Inkább arra törekszenek, hogy megtanítsák a “számítógépi gondolkodást” – a programozási nyelvek által alkalmazott általános fogalmakat.

2006-ban Jeannette M. Wing, a Carnegie Mellon Egyetem számítástechnikai karának vezetője kiáltványt állított össze, amellett érvelve, hogy újra kell értelmezni az általános műveltséget: szerepelnie kell benne a számítógépes folyamatok megértésének is. “A számítógépi gondolkodásnak mindenki számára alapvető készségnek kell lennie, az nem csupán a számítógépes szakemberek kiváltsága – írta. “Az olvasással, az írással és a matematikával azonos szintre kell emelni a számítógépes gondolkodást is, hogy teljes értékűvé váljék minden gyermek elemző képessége.” Arról azonban nincs igazán egységes álláspont, hogy pontosan mik is minősülnek a számítógépes gondolkodás központi elemeinek. Mint ahogy arról sincs, hogy a diákoknak – ha kell egyáltalán – milyen fokon kell érteniük a programozáshoz, annak érdekében, hogy megértsék azt. És a legfontosabb: továbbra is bizonytalan, szükség van-e arra, hogy minden főiskolai hallgató elsajátítsa a számítógépes gondolkodást.

A nem szakirányú főiskolai képzésben a számítástechnika-órák tematikája igen eltérő. Egyes szakok hallgatói rögtön valamelyik fontosabb programozási nyelven kezdenek el kódolni, másutt viszont teljesen kizárják a programozást, és inkább a számítógép-használat szociális és etikai kérdéseiben merülnek el. A Carnegie Mellonon az olyan diákok számára, akiknek nem a számítástechnika a fő szakjuk, A számítástechnika alapelvei című kurzust javasolják. Ez a számítástechnika történetével indul, de a diákok már a második héten elkezdik tanulni a Ruby nevű programozási nyelvet. A tanfolyam ezt követően az iteráció, a rekurzió, a véletlenszám-generálás és hasonló témák területét fedi le.

Tom Cortina, aki tanít a tanfolyamon, azt mondja, hogy néhány diák kihívásnak tekinti a programozást, különösen azok, akiknek a szakjai nem érintik a technológia, a műszaki tudományok vagy a matematika területét, és nincsenek hozzászokva az e területeken szükséges precizitáshoz. A Massachusetts állambeli Nortonban található Wheaton Főiskolán Mark D. LeBlanc “költőknek” oktatja a számítástechnikát. A tárgy ismertetője szerint a tanfolyami részvétel egyetlen előfeltétele, hogy valaki “szeresse az írott (és a digitális) szöveget”. LeBlanc professzor óráin a diákok megtanulják a szoftveripar egyik divatos, modern nyelvének, a Pythonnak az alapjait, de ez a képzés kapcsolódik az angol irodalmi kar J. R. R. Tolkiennel, illetve az angolszász irodalommal foglalkozó kurzusaihoz. A számítástechnikai tanfolyam hallgatói azonnal nagy szövegek elemzésén próbálhatják ki a megszerzett ismereteket. A tanterv olyasmire hasonlít, amit inkább a humán szakokon keresne az ember.

“Az órákon komoly problémákkal szembesülünk – fogalmazott a professzor a The New York Times tudósítójának nyilatkozva -, hiszen a diákok többsége túlterhelt. Fontos eldönteni, hogy hol kezdjünk bele az anyagba. Ez teremti meg a lehetőséget arra, hogy a hallgatók megismerjék a dekompozíció fogalmát: azt, ahogyan egy nagy problémát kezelhető, kisebb problémákra lehet felosztani.” LeBlanc becslései szerint az egyes félévekben a beiratkozók mindössze 5 százaléka int búcsút a kurzusnak azon az alapon, hogy az “rosszabb, mint egy idegen nyelv”. A professzor úgy véli, hogy a bölcsészettudományra szakosodott Wheatonon végzettek többsége olyan területeken talál majd munkát, ahol meg kell tanulniuk programozni, a bölcsészettudományi főiskola pedig biztonságos hely az ilyen kezdők számára.

Egy sor más felsőoktatási intézményben a számítástechnikai karok úgy igyekeznek bevezetni a hallgatókat a számítógépi gondolkodás elsajátításába, hogy megkímélik őket valamelyik “ipari erősségű” programozási nyelv elsajátításától: attól, hogy azokon keresztül ismerjék meg az általános fogalmak alkalmazását. Ehelyett a hallgatók interaktív animációk létrehozására alkalmas vizuális script-nyelveket tanulnak. Az egyik ilyen nyelv a Scratch, amelyet általános és középiskolai tanulók számára fejlesztettek ki. Marie Desjardinsnek, a Marylandi Egyetem számítástechnika-professzorának osztálya a Scratchet a Bevezetés a számítógépek és a programozás világába című tárgy keretében használja, így a diákok a gyakorlatban ismerkedhetnek meg néhány alapfogalommal. A félév mintegy 25 százaléka telik programozással.

Arra a kérdésre, hogy miért használják a főiskolai szintű oktatásban a Scratchet, Desjardins szerint egyszerű a magyarázat: minden hallgató úgy érkezik az egyetemre, hogy a középiskolában angolból, matematikából, biológiából megszerezte a kellő ismereteket, de ugyanez a számítógépes jártasságot illetően már nem mondható el mindenkiről. Michael Littman, aki a Rutgers Egyetem számítástechnikai karának vezetője, hasonló véleményen van: a számítógépi gondolkodást a középiskolában kellene elsajátítani, de az ott nem valósul meg, következésképpen az egyetemi számítástechnikai karoknak kell megfelelő alternatívát ajánlaniuk a felzárkózáshoz.

Az iowai Grinnell Főiskolán a diákok felvehetik A digitális kor című tárgyat, amelynek keretében megismerhetők “a számítógép-tudomány legnagyszerűbb gondolatai, főként a mögöttes algoritmikus elvekre és a társadalmi következményekre összpontosítva”. Mindez azonban nem jelenti azt, hogy valamilyen programozási nyelvet meg kellene tanulni. “Mivel az általános műveltségnek része az olvasás és az írás ismerete, a ‘számítógépes műveltség’ megfogalmazás azt sugallja, hogy kötelező programozói tudással rendelkeznie annak, aki e területen akar tevékenykedni” – magyarázta a lapnak Henry M. Walker, a Grinnell számítástechnika-professzora. “Az átlagos állampolgárok azonban akár tudnak, akár nem tudnak programokat írni, hatékonyan működhetnek ebben a technológiai korban.”

A professzor inkább azt részesíti előnyben, hogy a hallgatók otthonosan mozogjanak a számítógépes környezetben, ez pedig elérhető anélkül is, hogy programozási feladatokat végeznének. Eljön majd az az idő, amikor a számítástechnikai folyamatok megértése elengedhetetlen lehet mindenki számára, akárhol tevékenykedik is. De az még nem világos, mikor érkezik el az a pont, amikor a “jó ismerni” megfogalmazás helyét a “kötelező tudni” veszi át.”

Forrás:
Mindenkinek tudnia kellene programozni?, SG.hu/MTI, 2012. június 28.