Posted By: Jovo () on 'CZhelp'
Title:     Ad: Programovaci jazyky
Date:      Mon Oct 24 17:03:34 2011

Ahoj.

  Vyuka programovani je slozita vec. Kdyz se na ni jde, jak je v nasi
republice obvykle: uci to kdo umi o 3 makra vic nez mistni geekove nebo 
dostal od reditele knizku "Ucime se programovat v XYZ":)
  Vetsinu lidi to odradi na cely zivot v ramci prvni hodiny, protoze se lidi 
musi naucit nejdriv STRASNOU spoustu syntaxe. 
  Pritom programovani neni slozite - jen se slozite uci. Blbe je, ze to neni 
jako preskok svedske bedny, ktery lze odkoukat, jde o to naucit se trochu 
jinak myslet a to musi kazdy udelat uvnitr sve hlavy sam a s tim se pomoct 
neda - jen ukazat cestu. A kdyz ukazujete lehke, lehce pochopitelne cesty, 
zaci/lidi jsou je schopni sledovat.

  Co jsem koukal, tak ten Scratch je vyborna volba! Logo take neni spatne 
(kdyz mas i toho robutka, co rejdi po podlaze a kresli, to je parada!:) a je o 
trochu sympatictejsi holkam - neco nakreslit jim jde o dost lip nez kdyz 
honi po obrazovce Karla.
  Presto: KAREL RULEZ:) Ono se to nezda, ale pro vyuku je to idealni: par 
prikazu, velmi dobre definovany svet (objekty a operace s nimi/na nich), 
graficky vystup. Karla je spousta (XKarel, browserova verze na 
http://karel.oldium.net/, verze v JS http://code.google.com/p/js-karel/, ...). 

  Pokud se ma clovek ucit programovat, nejdriv se musi naucit algoritmicky 
myslet - ja zacinam s rozborem zadni strany polevky z pytliku:) Vyborne je, 
ze to vsichni znaji a dovedou si to predstavit. Zkuste to rozvijet o "pridej 
vejce", "ochutnej. Je to dost slane? Jestli ne, pridej sul." a podobne. 
Dokonce muzes nenasilne narazit na princip throw new Exception("Chybi hrnec!") 
:-) 
  Pokud ucis automechaniky,vezmi treba vymenu vyfuku, se sekretarkou zacni 
rozborem prepojovani prichoziho hovoru,... U malych/mladych je to problem, ale 
klidne se muzes "snizit" k tomu, proc jeden Pokemon porazi druheho:)
  Vzdy najdi neco, co si dovedou predstavit, treba "Co vsechno udelam, nez 
vyraizm do skoly." 

  Programovani = Objekty a Akce.
  Program = sekvence akci, ktere pracuji s nejakymi objekty. 
  Vic toho neni.

  Az je prestane bavit "programovat polivku", vybal na ne Karla/Logo/... a 
vysvetli jim, ze jak se "vari polivka podle navodu", tak se "vari program" - 
navod je jinak popsany, ale cely proces vstup+algoritmus-->vystup je totozny.
  Vis, co je desna psina? Robot Karel nazivo! Fakt:)
  Napis na tabuli KROK, VLEVO VBOK, POLOZ, ZVEDNI, na podlahu namaluj 
ctvercovou sit, vyber nejvetsiho sigra ze tridy, dej mu do kapes kostky 
cukru a postav ho do rohu site. Pak poloz doprostred site kostku cukru a zadej 
ulohu "Jak donutime Frantu jen pomoci techto slov, aby sel a zvednul ji?" 
"Polozil do vsech rohu kostku?" atp.  A ma nekdo z vas nejake jine reseni?
A ktere reseni je nejlepsi - to, v kterem to Franta udela na min kroku nebo 
pri kterem ho budeme honit jako vola sem a tam? Occam ma radost;)
  Pak jim nech pomoci podminek tvorit  procedury (VPRAVO VBOK, ZVEDNI VSE,...) 
- podminky nemusi byt zrovna karlovske (OPAKUJ 3x VLEVO VBOK, DOKUD je znacka 
ZVEDNI,..), klidne nech vyjadreni v prirozenem jazyce ("dojdi ke zdi").   
Teprve pak jim predhod Karla jako program a uvidis, jak rychle do nej vplujou. 
  Vsadim se, ze se Scratchem to bude stejne. 

  Po Karlovi muze prijit Baltik nebo prinejhorsim Pascal (udelej jim stuby a 
at plni telo - treba ten vypocet objemu krychle). 

  Zacinat s VB/Excelem/Pascalem/Javou/C/... je HODNE nestastne nejen kvuli 
nutnosti znat spoustu syntaxe a semantiky, ale hlavne: DESNE to koliduje s 
matematikou!
  Kdyz se clovek x roku uci, ze a = b + c  a matematika nezna sekvencni 
zpracovani (rovnice se sice resi sekvencnim zpusobem, ale zadani a vysledek 
jsou totozne v casove rovine) a kdyz je postavite pred X = X + 1 - hnedka 
vidite ty protazene obliceje:)
  Na takovou zmenu paradigmatu proste nejsou pripraveni a ani byt nemohou.   
Tady je dobry Pascal, ktery ma jiny operator X := X + 1, takze se to trochu 
skryje - v kazdem pripade je nutne mluvit ne o "rovna se", ale "prirazeni". 


Toz hodne stesti!... a poreferuj - treba se tve zkusenosti a postrtehy pujdou
dat vyuzit.
Jovo.

Search the boards