Re: programnyelv kezdőnek

Válas Péter turtle at 64.hu
2016. Feb. 6., Szo, 09:34:18 CET


Sziasztok!

Nagyon le vagyok hangolva.

Vártam pár napot, nem nyitottam ki ezt a threadet, gondolván, hogy
pillanatok alatt jobbnál jobb tanácsok borítják el a kérdezőt, de nem ez
történt. Sőt, elképedésemre még gyakorikerdesek.hu-szintű válaszok is
érkeztek. Nem beszélve a lenti idézetről.
Valószínűleg jobb lett volna a kérdést az informatikatanárok
levelezőlistáján feltenni, mint a rendszergazdákén, mert ez egy másik
szakma.

Először is: MELYIK gyerek?
Hetedikes gyerek rácsodálkozott a főzésre. Mit főzzön? Csináljon
tökfőzeléket, mert szerintem az a jövő! Ja, hogy rosszul van a szagától?
Hetedikes gyerek rácsodálkozott a sportra! Mit sportoljon? Legyen focista,
mert az a jövő! Ja, hogy ízületi problémái vannak?

Szóval mint erre kiképzett és ebben tapasztalt szakember azt gondolom, hogy
-- semmiképpen ne kezdjen egyszerre két nyelvet. Ez nagyon rossz tanács.
Bocsánat, de az ilyen tanácsot a hozzá nem értés biztos jelének tekintem.
(Attól még lehet valaki a világ legjobb programozója, de a programozás
tanítása más.)
-- nem programozó akar lenni (majd később lehet, hogy az akar, ha most nem
zúdítanak az ő igényeihez képest absztrakt nyelveket a nyakába, amitől az
érdeklődése pillanatok alatt elmúlik), csak egy érdeklődő gyerek. A
"rácsodálkozik" szó nagyon tetszett. Aki rácsodálkozik valamire, azt be
kell vezetni a témába, megmutatni neki a szépségét (nem a nehézségét!),
hagyni, hogy öröme legyen benne.
-- szakmai alapvetés, hogy a programozás gondolkodásmódját kell
megtanítani, erre mindenféle nyelveket rá lehet rakni később. És erre
nagyon sokféle nyelv alkalmas.
-- rendszergazdai körökben is ismert az a logika, amivel a "melyik
Linux-disztribúciót válasszam?" kérdésre válaszolni szoktak: amelyikhez a
legtöbb segítséget kaphatod a környezetedben! Ugye nem gondolja senki, hogy
hetedikes gyereket leültet a gép elé, hogy itt a programnyelv, itt a
Google, nesze, tanuld? Tanárra van szüksége, segítőre, hacsak nem kivételes
zseni. Ha van a családban, baráti körben olyan, aki hajlandó segíteni,
akkor az egy fontos szempont, hogy ő mihez ért, de lehet neki szakkört is
keresni, sőt ma már alapítványok is foglalkoznak azzal, hogy gyerekeket
bevezessenek a programozásba. Okos és érdeklődő gyerek egyébként egy jó
könyvvel a kezében sok mindent megtanul maga is, ne becsüljük le a
képességeit! De kell valaki, aki az elején elindítja, aki terelgeti, hogy
helyes szokásokat vegyen fel, és ne olyasmit csináljon, ami pillanatnyilag
éppen sikerül, és később megbosszulja magát, és akihez fordulhat a
kérdéseivel. Vagy aki tudja, hogy milyen feladatot érdemes feladni neki.
-- mintha még nem mondta volna senki, hogy nézzük meg, melyik gyerek,
milyen a beállítottsága, az előképzettsége, hogy vág az agya. Művészlélek,
aki csak rácsodálkozik valamire, és be akarja illeszteni a világ
harmóniájába? Vagy magától algoritmusokban és mintákban gondolkodik?
-- alapszinten(!) tényleg szempont, hogy a választás később is hasznos
legyen neki, ezért egyetértek azzal, hogy a Pascal jellegű nyelvek kevésbé
szerencsések. DE! A Pascal is tökéletesen alkalmas a programozás
gondolkodásmódjának elsajátítására. Ha ez az, amihez segítséget kap a
környezetében, bátran válassza ezt! Évekkel ezelőtt a saját unokaöcsém
megkért, hogy tanítsak neki programozást. Szívem szerint a Python mellett
döntöttem volna, de akkoriban egy olyan ócska kávédarálójuk volt, egy
haldokló öreg laptop, amin minden kattintás kínszenvedés, hogy csak az
ősöreg DOS-os Turbo Pascalt mertem felrakni neki, amit még két floppyn
terjesztettünk betömörítve. Ezen tanítottam hónapokig. Ma már 17 éves
gimnazistaként(!) több nyelven programozik aszerint, hogy mi a feladat,
magától fedezi fel és falja őket, még a reguláris kifejezéseket is megette,
amitől olykor programozóknak is égnek áll a hátukon a szőr. Tökéletes
alapokat kapott a Pascallal, és hozzá a képességeihez és érdeklődéséhez
szabott tematikát és haladási ütemet. Persze, nem minden gyereknek van
informatikatanár nagybátyja. A Pascalnak egyébként van egy hatalmas előnye:
még ma is ehhez találni a legtöbb magyar nyelvű, kezdőknek szóló, akár
önálló tanulásra is alkalmas TANkönyvet. A C# már felveszi vele a versenyt
e téren.
-- a Logó valószínűleg nem neki való már, ezt kisebb gyerekeknek
fejlesztették ki, és jó eséllyel tanulta is valamikor alsóban. (Ismétlődő
szituáció hatosztályos gimnáziumban: kérdezem, hogy ki tanult már
programozni. Egy-másfél jelentkező. És ki tanult Logót? Mindenki. Ja, hogy
az programozás??) Szerintem a Logó nem elég általános célú nyelv ahhoz,
hogy egy hetedikes gyerek sokirányú érdeklődését kielégítse. Sok mindent
meg lehet csinálni vele, de nehézkesen -- abban könnyed és egyszerű, amire
tervezték.
-- aki ismer, úgyis tudja,hogy a Pythont ajánlom elsőnek (én írtam a már
említett Sulipython wikit, de kollégáknak, és nem kezdő hetedikeseknek). A
VPython térgrafikai kiegészítéssel (érdemes rákeresni!) csodákat tehet egy
gyereknél.
-- a Scratchet nem ismerem, de valószínűleg alkalmas, mert sokat olvastam
róla az informatikatanári listán, és tudom, hogy gyerekeknek tervezték.
-- Javát semmiképpen nem mondanék, mert lehet, hogy a bonyolult dolgokban
jó (én is használom!), de egyszerű dolgokat is bonyolultan lehet csinálni
vele, és túl szigorú a logikája egy kezdőnek. De megint jó lehet ez is, ha
ehhez kap szakértő segítséget a környezetében.
-- a C# szintén egy lehetséges jó választás, ha van hozzá segítsége. Zsuzsa
például, aki az ország egyik legkiválóbb informatikatanára, és mindig
érdemes figyelni a szavára, ezt favorizálja, és szép eredményei vannak
vele. Sok iskola választotta már, és vannak hozzá jó tankönyvek. A tiszta C
talán túl absztrakt, de erre mondom, hogy ismerni kéne a gyerek
gondolkodásmódját, mert egy elég okos gyereknél egy telepített C és egy
Kerningen-Ritchie féle százéves könyv még ma is csodákra képes. (Egy
újszülöttnek minden vicc új!)
-- a HTML és a CSS leíró nyelvek, nem programozás, ne is beszéljünk róla.
-- a Python számomra azért nagy kedvenc, mert egyszerű dolgokat egyszerűen
lehet csinálni benne (nem sok programnyelv van ma, ahol a Helló világ úgy
néz ki, hogy print("Helló, világ!")), és ez egy kezdőnek sokat számít.
Többféle paradigmát támogat, megtanulható vele a programozás logikája (a
procedurális és az OOP is), használják élesben a nagyvilágban, és eleve az
volt az egyik szándéka a létrehozásának, hogy kezdők oktatónyelve legyen,
és ennek megfelelően tervezték. Hagyja hibázni a kezdőt, vagyis ha egy apró
hibát csinál valahol, akkor nem az lesz, hogy le se fordul a program, és
csak szigorú hibaüzenetek jönnek, hanem az, hogy elindul, és ad valami
eredményt, csak nem azt csinálja, amit akartunk, és ebből lehet tanulni.
Első tanulónyelvnél ez megfizethetetlen érték! Stb. A már belinkelt
Sulipython kezdőlapon (kösz!) részletesebben kifejtettem az előnyeit.


2016. február 4. 1:42 Gábor Kovács írta, <sceurpien at gmail.com>:

>
> UI: Az ország legnagyobb baja az, hogy ezt a kérdést fel kell tenni egy
> fórumon, ahelyett, hogy erre lenne egy hivatalos oktatáspolitikai
> álláspont, és az egységes kerettanterv része lenne. Mert holnap már nem
> orvos kell, nem építész, hanem programozó...
>
> Térden állva kérlek, ezt az álláspontodat ne terjeszd nagy nyilvánosság
előtt! Neked még nem tűnt fel, hogy milyenek ma az egységes
oktatáspolitikai álláspontok? A tankönyvválasztás szabadságát már elvették,
mert hülye hozzá a pedagógus, helyettük vannak hibáktól hemzsegő, nívótlan
egyentankönyvek, amiken egy ország röhög és sír. Az informatikaórák számát
úgy lecsökkentették, hogy az ország egyik legjobb tanára azt mondta, nem
tanít tovább, mert így etikátlan. A tanárok ismerik a tanítványaikat, saját
magukat, a nyelveket (igen, az informatikatanári képzés része a nyelvek
összehasonlítása), tudnak választani. Még egyszer: ez egy szakma, nem
általános informatika, erre kiképzett diplomás szakemberek végzik, akik
tudnak választani. Kimeneti szabályozás ma is van, mert limitált a nyelvek
köre, amiken érettségizni lehet, és ha már tanít az ember, akkor majdnem
biztosan érettségiképes nyelvet fog választani.

VP
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20160206/eb942691/attachment.html>


További információk a(z) Techinfo levelezőlistáról