[ combuster @ 10.12.2009. 09:21 ] @
Hehehe, videcemo do kada ce potrajati - za sada me situacija nije KO ;-)

Sto se ucenja programskih jezika tice - paskal jeste dosadan, mada kontaktirao me friend i priupitao za neki zadatak iz C-a koji treba da odradi tako da pretpostavljam da u srednjoj rade i C sto pozdravljam u svakom slucaju. Najbitnije je da klinci nauce da razmisljaju "programerski" a ne da bubaju sintaksu, kada se na to naviknu onda je apsolutno svejedno da li ce im trebati u buducnosti int a; ili Dim a As Integer.

E sad mozda sutra budu kernel hakeri pa ce im C biti potreban a mozda budu radili vrhunske baze u Access-u pa im VB bude neophodan... Ali petlja je petlja i u VB i u C...


Komentar moderatora:
Tema je nastala prebacivanjem većine postova iz OVE TEME.

[Ovu poruku je menjao Zoran Rodic dana 11.12.2009. u 14:18 GMT+1]
[ Ivan Dimkovic @ 10.12.2009. 12:21 ] @
Citat:
combuster
Najbitnije je da klinci nauce da razmisljaju "programerski" a ne da bubaju sintaksu,


Reci mi, molim te, da se salis?

Od 30 ucenika, njih bar 25 nikad u zivotu nece nauciti da razmisljaju "programerski" jer nemaju ni talenta ni zelje/interesovanja za tako nesto. Seti se svojih ex-kolega i koleginica iz ucionice pa se zapitaj da li vecina njih upada u ovaj opis.

Oni ce te zadatke nabubati / prepisati od drugih i zaboraviti na to odmah posle skole. Ne samo to, vec ce "informatiku" asocirati sa hororom resavanja nekakvih "mozgalica" u konzolnom editoru, sto im u zivotu treba kao lanjski sneg :(

Uopste mi nije jasno zasto FORSIRATI >90% dece da se zamajavaju sa programiranjem kada je vise nego jasno da njih 90+% nikad u zivotu nece napisati ni jednu liniju koda posle zavrsene srednje skole.

To vreme koje se uludo baci (na bubanje ili SMS-ovanje dok profesor predaje "zanimljivo" stivo) bi se moglo daleko korisnije upotrebiti za:

- Upucivanje u osnove sigurnosti i privatnosti kako u lokalu tako i na internetu
- Koriscenje racunara za modernu komunikaciju i poslovanje
- Koriscenje racunara za vodjenje racuna/licnih finansija
- Koriscenje racunara za istrazivacki rad i sakupljanje relevantnih cinjenica
- Jedino "programiranje" koje bi trebalo da uce je kako da eventualno naprave licni web sajt za promociju / nalazenje posla i sl...

...

Ali ne, to bi decu naucilo da budu racionalna i da umesto Kurira koriste mozak i sakupljaju relevantne informacije i da, ne daj boze, sami formiraju neko misljenje i budu IT pismena..

Nikako! Zato, odvaliti ih od bubanja (za njih) besmislenih gluposti u vidu resavanja nekakvih mozgalica u PASCAL-u / C-u koje je smislio isti neki takav slucaj koji je zavrsio u Ministarstvu - to ce im i te kako koristiti u zivotu, pogotovu zato sto ce nesto tako "interesantno" samo nabubati i izrecitovati / prepisati za kontrolni :(
[ combuster @ 10.12.2009. 13:05 ] @
@Dimkovic

Dimke nemoj da pricas svasta, za to postoje vise menadzerske skole gde moze da uci o e-poslovanju i slicno.

Ako deca vec uce programiranje u srednjoj skoli treba ih nauciti sta je to petlja, cemu to uopste sluzi (a uz to i ne radi ;-)), kakvi tipovi podataka mogu biti, logicke operacije takodje, ali objasniti im na takav nacin da shvate primenu svega toga. Takve stvari koristis u nekoliko vrlo popularnih aplikacija (Access recimo).

Necu ja sad da izadjem na tablu i da krenem da predajem sintaksu od koje ce da se smore dok si reko keks. Kada razumeju gde sve to ima primenu i sta sa tim sve moze da se uradi i neka njih 20% se zainteresuje - ti si dobar.

Zavrsio sam skoro sa predavanjem Linuxa na kursu koji drzim na MFK, slozices se da su osnove Linuxa zanimljivi kao nedeljom popodne na TV pink, ali su mi na kraju kada sam im dao test imali dve osmice, jednu devetku i sedam desetki. Da sam mumlao i pisao na tabli:

cat /var/log/Xorg.0.log | grep EE

znas li dokle bi stigao - nigde...

Cim vidis decu da se gube - usporis po malo pa se vratis na ono sto vec znaju i priblizis im to sto treba da predajes. Feedback je mnogo bitna stvar a danas koliko vidim niko zivi ne obraca paznju na to, otpeva ono sto ima da otpeva i let's get to the office for a drink :)

Citat:

Koriscenje racunara za istrazivacki rad i sakupljanje relevantnih cinjenica


Apsolutno se slazem, ako ne umes da pronadjes informacije koje su ti potrebne na internetu - kakvo programiranje ti ucis ?

Po meni ne mozes da budes dobar informaticar a da ne poznajes osnove. Za one nezainteresovane sto ti kazes (a siguran sam da ih ima) postoji adekvatna ocena kao iz svakog drugog predmeta. Informatika se toliko povezuje sa zabavom i igricama i nebitnim stvarima da klinci ni nemaju osecaj da se u stvari radi o ozbiljnom predmetu.

Ono sto se provlaci u celoj ovoj temi je - Da li treba da bude bitno deci da li koriste Photoshop ili Gimp u domenu onoga sto je potrebno da nauce u srednjoj skoli. Da li je bitno jel koristi MS Word ili OO Writer? Jel font - font? Jel pixel - pixel? A skole neka placaju software samo - nema problema...
[ Marko_L @ 10.12.2009. 15:10 ] @
Citat:
Dimke nemoj da pricas svasta, za to postoje vise menadzerske skole gde moze da uci o e-poslovanju i slicno.

Ma da, treba završiti višu menadžersku da bi naučio kako se koristi e-banking recimo :) Vidiš, postoje stvari u e-poslovanju koje bi svaki građanin trebalo da zna, a to su plaćanje preko interneta, naručivanje dokumenata preko interneta, provera računa za telefon, slanje i primanje email-a, pronalaženje drugih potrebnih informacija... itd. i to je ono što najviše treba da se uči u školama na časovima informatike. A programiranje i slične oblasti bi trebalo da se uče samo na specifičnim smerovima, jer realno, programiranje nije nešto što možeš da naučiš teoretski, pa onda posle iskoristiš kad ti ustreba u životu, već je to nešto što zahteva jako puno prakse i moraš non stop da budeš u tome i da se time baviš i neprestano usavršavaš. Tako da, to nije nešto što treba da ide u opšte informatičko obrazovanje.
Citat:
Ako deca vec uce programiranje u srednjoj skoli treba ih nauciti sta je to petlja, cemu to uopste sluzi (a uz to i ne radi ;-)), kakvi tipovi podataka mogu biti, logicke operacije takodje, ali objasniti im na takav nacin da shvate primenu svega toga. Takve stvari koristis u nekoliko vrlo popularnih aplikacija (Access recimo).

Ovo za tipove podataka i logičke operacije se slažem, jer to je nešto što se koristi u dosta aplikacija, pa i u Office-u i naravno da se treba znati šta je text, šta je number, a šta datum. Međutim, tu negde treba da bude granica što se tiče programiranja. Jednostavno, nema smisla učiti neki konkretan jezik tipa C, jer to predstavlj gubljenje vremena koje se može pametnije iskoristiti. Uostalom, takve stvari će kod 90% njih stvoriti sliku da su računari nekakav bauk i da moraš da naučiš 1000 komandi da bi sa njim radio, a zapravo sve može da se uradi na klik. Evo danas se i prostiji web sajtovi, pa čak i aplikacije mogu napraviti sa par klikova.
[ combuster @ 10.12.2009. 18:04 ] @
@MarkoL

Citat:

Ma da, treba završiti višu menadžersku da bi naučio kako se koristi e-banking recimo :) Vidiš, postoje stvari u e-poslovanju koje bi svaki građanin trebalo da zna, a to su plaćanje preko interneta, naručivanje dokumenata preko interneta, provera računa za telefon, slanje i primanje email-a, pronalaženje drugih potrebnih informacija...


Veruj mi da ako je provalio facebook - provalice i placanje online (ja ni dan danas nisam provalio facebook do kraja). Slanje i primanje email-a - slazem se, mada pretpostavljam da to vec rade.

C predstavlja samo lep playground gde mozes da pokazes te osnovne stvari kako funkcionisu, naravno - ne opterecivati ih sintaksom (vec sam to i govorio) ali da recimo puste run i da vide rezultate - ono cisto da ne bude da veruju meni na rec :D

Mozes da pricas o Compiz-u kako je to compositing window manager, kako sluzi za upravljanje prozorima, njihovu dekoraciju, prelepe efekte... Aha aha aha, al' dok ne provrte kocku - mislice da pricas o necemu sto je totalno dosadno.

@BBS

Ma u redu, dobijemo free Windows - super, kakva je to informatika bez Windows-a, da se ne lazemo 90% njih ce koristiti Windows u buducnosti, ali zasto bre office (osim ako se ne uci Access u srednjim skolama) ? Ako se uci i Access - nemoj neko da mi prica da je za njihov uzrast potreban Photoshop da bi im se pokazala obrada slika ?

I naravno pored svega ovoga trebalo bi odvojiti nedelju - dve za Linux u nastavnom programu...
[ Ivan Dimkovic @ 10.12.2009. 18:25 ] @
Citat:
combuster
Dimke nemoj da pricas svasta, za to postoje vise menadzerske skole gde moze da uci o e-poslovanju i slicno.


Koliko sam primetio, a molim te ispravi me ako gresim, usli smo odavno u 21vi vek - vecina bankarskih i finansijskih usluga je online, trgovina se seli u online segment i normalno je imati obrazovanje o tome - bez da budes "skolovani menadzer"

Vidis, ja mislim da je znati kako da elektronski placas racune i da budes upucen u sigurnost na internetu daleko bitnije nego da nabubas neki besmisleni zadatak iz PASCAL-a.

Mislim, za onih 95% ljudi koji >nece< biti programeri ili inzenjeri :)

Citat:

Ako deca vec uce programiranje u srednjoj skoli treba ih nauciti sta je to petlja, cemu to uopste sluzi (a uz to i ne radi ;-)), kakvi tipovi podataka mogu biti, logicke operacije takodje, ali objasniti im na takav nacin da shvate primenu svega toga. Takve stvari koristis u nekoliko vrlo popularnih aplikacija (Access recimo).


Poenta mog posta je da deca NE TREBA da uce programiranje u skoli. Kao sto rekoh, upotrebi pravilo 90% - ako 90% tih ucenika nece imati NIKAKVU KORIST od toga, pametnije je kurikulum prilagoditi stvarima koje mozda i budu korisne u zivotu.

Petlje su nesto sto im svakako nece trebati - mislim onima koji nece postati inzenjeri, matematicari ili statisticari/ekonomisti.

Citat:

Necu ja sad da izadjem na tablu i da krenem da predajem sintaksu od koje ce da se smore dok si reko keks. Kada razumeju gde sve to ima primenu i sta sa tim sve moze da se uradi i neka njih 20% se zainteresuje - ti si dobar.


To sto pricas je lepo i mozda/verovatno jeste to sto ti radis i svaka cast za to, ali na zalost nema puno veze sa prosecnom realnoscu u vecini skola - vecina dece se NECE zainteresovati za petlje, rekurzije i sl... koliko god se trudio :( Jednostavno ih to apsolutno ne zanima, sve i da je "zanimljiv problem" - attention span ce im biti 1 minut, nabubace to posle od nekog ko je pisao skripte i to je to...

I, nema to veze sa nasim skolskim sistemom - nema te zemlje na ovom svetu u kojoj programiranje nije "geek" stvar zanimljiva za vrlo malu grupu ljudi, i kojom se, srazmerno, vrlo mala kolicina ljudi bavi.

Sa druge strane, NIVO OPSTEG IT OBRAZOVANJA je jadan - i, vidis, daleko bi bilo pametnije potrositi vreme na dizanje tog opsteg nivoa IT pismenosti (u stvarima koje sam pomenuo) nego glumiti ludilo i pokusavati od svakog ucenika opste srednje skole napraviti progamera.

Iskreno - klasicna komunisticka megalomanija, sve je to relikt jednog proslog vremena kada je svaki pionir morao znati sve - od matematike do umeca bacanja kasikare.

Citat:

Po meni ne mozes da budes dobar informaticar a da ne poznajes osnove. Za one nezainteresovane sto ti kazes (a siguran sam da ih ima) postoji adekvatna ocena kao iz svakog drugog predmeta. Informatika se toliko povezuje sa zabavom i igricama i nebitnim stvarima da klinci ni nemaju osecaj da se u stvari radi o ozbiljnom predmetu.


Programiranje NIJE osnova informatike koja treba da se uci u osnovnoj i srednjoj skoli (pitanje je da li bi to i trebalo da se zove "informatika"). 95% korisnika racunara nikad u zivotu nece napisati nikakav program, sto znaci da to nikako ne moze biti "osnova" za njih - a osnovna i ne-strucna srednja skola treba da se bavi opstim a ne strucnim obrazovanjem.

To je osnova u SSSR-style kurikulumima, mada priznajem - moze biti i gore, mogli su za osnovu da uzmu razvaljivanje od Bulove logike - posto je to, je li, osnova svakog CPU-a... ipak je bitno da svako dete u srednjoj ume da dizajnira i jedan CPU :)
[ maksvel @ 10.12.2009. 18:50 ] @
Citat:
...vecina dece se NECE zainteresovati za petlje, rekurzije i sl... koliko god se trudio...
Programiranje NIJE osnova informatike koja treba da se uci u osnovnoj i srednjoj skoli (pitanje je da li bi to i trebalo da se zove "informatika").

Neće se zainteresovati za puno toga, npr. iz matematike. Ne može se program zasnivati samo na tome.
Nego, pored osposobljavanja za budući rad, postoji tu još jedan - VASPITNI momenat.
Evo izvoda - vaspitno-obrazovnih ciljeva iz p&p:
Citat:
razvijanje sposobnosti za potpuno, precizno i koncizno definisanje problema i mogućih postupaka za njihovo rešavanje;
upoznavanje sa algoritamskim načinom rešavanja problema;

E, sad, pitanje je kako pronaći meru. A mera se sigurno ne postiže držanjem Paskala cele školske godine u gimnaziji društvenog smera
[ Goran Rakić @ 10.12.2009. 19:02 ] @
Odlutasmo sa teme, ali ACM Communication je nedavno za temu imao Scratch i primenu u nastavi. Meni kao laiku to deluje fantastično za ispunjavanje ciljeva tog "programerskog" dela programa, na primerima izrade malih simulacija iz gradiva fizike i hemije. Batali sortiranje niza i matrica. PDF je u prilogu. Slični projekti su Alice i Squak eToys. Lego Mindstorms je takođe sjajna didaktička alatka, ali i skupa za razliku od prethodnih stvari za koje je dovoljan računar.

Glavni problem nastave informatike je što je otuđena od ostalih predmeta, dok je u praksi računar alatka upravo za te neke druge stvari, a ne predmet sam po sebi.

I da diskusija postane zanimljivija, mobilni telefon se nigde ne uči u školi, da li to znači da deca ne znaju da ga koriste? Šta je sa kuhinjskim aparatima, kućnom elektronikom (digitalni TV prijemnik, DVR, hi-fi...) ni to ne učimo u školi. Kuku nama, imaćemo nepismenu generaciju.
[ Horvat @ 10.12.2009. 19:02 ] @
kakve veze ima programiranje s vaspitanjem?

matematiku ce prakticno svi koristiti u stvarnom zivotu
od sabiranja i mnozenja,preko raznih geometrijskih racunanja [sve u zavisnosti od posla kojim ce se baviti]
pa cak i da samo budu dileri,moraju znati kako izracunati novac koji imaju i kako podeliti scunk na manje delove

to s programiranjem nije stanje

edit: at goran rakić, pa nekad se učilo domaćinstvo u školama,a to je valjda baš ta upotreba kućnih aparata,između ostalog,bila
a to znanje se prenelo s generacije na generaciju...mada mi se čini da nešto opet žele uvesti taj predmet,možda grešim
[ salac @ 10.12.2009. 19:04 ] @
Cini mi se da ucenje programiranja u skolama predstavlja zaostavstinu kucnih racunara iz osamdesetih i devedesetih kada se Informatika kao predmet prvi put pojavila u osnovnim i srednjim skolama. Tada su napravljeni prvi nastavni programi i, kako izgleda, stvari se nisu previse promenile do danas.

Oni malo stariji sigurno se secaju da na kucnim racunarima i nije moglo da se radi bog zna sta posebno - kakva crna obrada teksta ili nekakva obrada fotografija, tu su se vrteli programi u bejziku i (eventualno) asembleru i to je bilo sve sto se tice 'ozbiljne' primene racunara.

Naravno PC donosi promenu, narocito tamo negde polovinom devedesetih (vreme prvih zvucnih karti, kasnije prvi 3d i sl) i pravi se sve vise otklon od koriscenja racunara za hobisticko pisanje programa ka danasnjoj upotrebi racunara. To znaci - kucanje u Wordu (i Wordperfectu i Wordstaru nekada davno), stampanje, neke sitne obrade slika i sl.

Nova promena stize sa pojavom interneta - slanje i primanje mailova, modemske veze, browseri, chat programi, kasnije adsl/kalbovski net.

Po meni evo sta bi deca trebala da nauce u skoli:
1. da upale comp :)
2. da se nauce od cega se comp sastoji (vrlo elementarno - monitor, tastatura, mis, kuciste, eventualno sta je u kucistu u osnovnim crtama) - da ne bi ispadali retardi kad ih neko pita cemu sluzi 'televizor' pored racunara.
3. da instaliraju i deinstaliraju programe
4. da koriste program za obradu teksta, idealan je openoffice jer ne kosta nista u prvom redu nas poreske obveznike, i da taj dokument odstampaju
5. da se povezu na net - klasicni modem, adsl/cable modem - da im se pokaze gde i kako da unesu username/password i sl
6. da koriste e-mail, pretrazivace, skype, neki chat program, e-banking/e-shopping (klasicni i web mail, pretrazivaci za edukaciju (i zabavu), chat kao sredstvo komunikacije itd) - ukratko da znaju par osnovnih stvari o internetu i kako internet moze da im olaksa zivot
7. kako da se zastite od virusa i ostalih sr*anja ako se u edukaciji koristi windows - kako da updateuju antivirusni softver, da ne klikcu na sve i svasta u browseru i sl

Ovo predstavlja osnovnu informaticku pismenost i to bi trebalo da znaju sva deca.

Fakultativno (ako ima vremena za to, u sta cisto sumnjam)
1. neobavezna demonstracija obrade slike/zvuka i web dizajnu
2. neobavezna prica o programiranju
3. neobavezna pominjanje i demonstracija razlicitih OS-eva (na nivou live cd-a ako ne moze drugacije)

Sto se tice OS-a i aplikacija - nebitno, sto manje kosta to bolje, ali sam izricito protiv softverskih paketa koji kosta 2-3 puta vise od najpopularnijeg OS-a za PC platformu.

[ Goran Rakić @ 10.12.2009. 19:11 ] @
Da li je:

Citat:

Razvijanje sposobnosti za potpuno, precizno i koncizno definisanje problema i mogućih postupaka za njihovo rešavanje.
Upoznavanje sa algoritamskim načinom rešavanja problema.


... zaostavštvina komunističkog nastavnog programa iz osamdesetih? Ljudi, posmatrajte malo širu sliku.

Niko nema nameru u školama da predaje kako se koristi telefon, digitalni TV prijemnik ili DVD rekorder, ali zato bi svi da glupu decu uče kako se uključuje računar. Sjajna prilika da im se ugradi strah prema računarima kao nečemu skupom što se kvari čim ga pipneš.
[ asterisk @ 10.12.2009. 19:44 ] @
Citat:
Razvijanje sposobnosti za potpuno, precizno i koncizno definisanje problema i mogućih postupaka za njihovo rešavanje.
Upoznavanje sa algoritamskim načinom rešavanja problema.


Zasto program mora da se okiti tako bombasticnim recenicama koje uz to nista ne znace? Zar se taj ko pise program ne moze posvetiti tome toliko da napise jasan i jednostavan program bez parola i demagogije.
Ucenik prvog razreda gimanzije za dovoljnu ocenu mora da zna i sledi nabrajanje. Za dobru ocenu mora da zna pa nabrajanje i tako do odlicne ocene. Nema nejasnoca, za sve vazi isto i jasno pravilo i svima je jednostavno da realizuju takav program...
[ anon68680 @ 10.12.2009. 19:51 ] @
Slazem se da je uvodjenje programiranja u okvire nastave nepotrebno, jer to vecinu neinteresuje. Bar sto se tice skola bez struke.

Ali opet, kad pogledamo, danas su nase gimnazije pravljene u neku drugu svrhu. S obzirom da to nisu strucne skole, one nisu tu da vas nauce NESTO sto bi vam moglo koristiti, vec da vas nauce da ucite.
[ Ivan Dimkovic @ 10.12.2009. 19:54 ] @
Citat:
Goran Rakić
... zaostavštvina komunističkog nastavnog programa iz osamdesetih? Ljudi, posmatrajte malo širu sliku.

Niko nema nameru u školama da predaje kako se koristi telefon, digitalni TV prijemnik ili DVD rekorder, ali zato bi svi da glupu decu uče kako se uključuje računar. Sjajna prilika da im se ugradi strah prema računarima kao nečemu skupom što se kvari čim ga pipneš.


Ukljucivanje racunara?

Edukacija o:

- Sigurnosti na internetu, sigurnosti podataka, privatnosti
- Koriscenju online banking i drzavnih servisa/e-uprave
- Koriscenju interneta za prikupljanje i analizu podataka, kriticnu analizu, primena u prakticnim projektima
- Koriscenju Office softvera za modernu komunikaciju (prezentacije, pisma, dijagrami), organizaciju licnih podataka, finansija (spreadsheet), koncizno i jasno predstavljanje svojih ideja u elektronskom formatu
- Obradu digitalne fotografije, kreiranje sadrzaja...

Nema blage veze sa "ukljucivanjem racunara" i svakako je DALEKO korisnija nekoj deci u, recimo, drustvenom smeru gimnazije od resavanja nekakvih zadataka u PASCAL-u. Resavanje mozgalica je nesto najneproduktivnije sto se moglo zamisliti - bas zato sto vecina dece niti ima interes, niti talenat i sve ce se zavrsiti najprostijim bubanjem. Ok je da osnove racunara - arhitektura, bulova logika, neke osnovne paradigme programiranja budu predavane nekoliko casova, ali zamajavati se sa tim cele godine je apsolutno besmisleno i predstavlja najobicnije uludo bacanje vremena koje je moglo biti iskorisceno za nesto korisnije od prostog bubanja i zaboravljanja na sta se programiranje svodi za >90% ucenika.

I da, nego sta je nego zaostavstina iz vremena komunizma - ti nastavni programi sa akcentom na programiranje su nastali u vreme kada je zaista prosecan korisnik racunara PROGRAMIRAO. To je vreme LOLA/TIM 011 i sl... racunara u Srbiji, kada je korisnik racunara obicno morao znati neki visi programski jezik, a oni malo vise zainteresovani su morali znati asembler.

Ta vremena su davno prosla - svet ide dalje. Postoji ogroman dijapazon daleko korisnijih stvari koje su vezane za racunare, a koje prosecna deca treba da nauce.

Programiranje NIJE jedno od njih - i to pricam kao osoba koja je programirala prilicno napredne stvari u C-u i Asembleru sa svojih 13 godina. Iako mi se programiranje oduvek jako svidjalo, svestan sam da je to jedna od vestina koje nisu za svakog... ne samo to, nego su nesto sto 9 od 10 ljudi apsolutno ne zanima u zivotu. A kako IT ide dalje, sigurno se necemo vracati u 80-te i vremena "Dejanovih Pitalica".
[ X Files @ 10.12.2009. 20:00 ] @
Ne vidim šta je sporno u citatu koji je maksvel ostavio.

Radi se o osnovnim pedagoško/didaktičkim pojmovima: ciljevi, ishodi i sl. To odlično zna combuster, 'el tako ;) Otuda zvuče neodređeno i 'komunistički'.

Poenta i jeste u tome da imaju šire značenje od programiranja i vezivanja za konkretan jezik, recimo Pascal.


Po mom iskustvu, puno ljudi nije sposobno da kvalitetno razmišlja algoritamski, odnosno u praksi procesno. Da jasno uviđa minimum ulaza, potrebne izlaze, da planira bitne korake u rešavanju nečega, da uviđa viškove, moguće anomalije i sl.


Eto recimo, deo mog posla je implementacija procesnog pristupa za definisanje procedura sistema menadžmenta kvalitetom. Znanje programiranja mi savršeno pasuje za taj posao - da lako, brzo i kvalitetno razmišljam u tom pravcu. Neverovatno je u kojoj su prednosti programeri, a nema veze s programiranjem :)



Ok, svako ima svoje mišljenje o ovome, neću se mešati...




Inače, slažem se da je važnije i potrebnije naučiti principe korišćenja raznih klasičnih softvera nego se baktati s rekurzijama i sl. U današnje vreme na tu temu ima materijala da se student udavi u njemu.


[ maksvel @ 10.12.2009. 20:04 ] @
obrazovanje != vaspitanje
Na formiranje učenikove ličnosti presudan značaj sigurno neće imati programiranje, ali da će imati određene efekte, ako se pravilno sprovodi nastava sa korektnim p&p, to ne možete tek tako osporiti. Slično važi i za druge predmete.
Pa i iz Matematike - ne uči se samo sabiranje i oduzimanje. Kad vam je u životu zatrebala Talesova teorema ili dokazivanje sličnosti dva trougla? Nekome možda i jeste, ali mnogima... not!
Ne treba ići u banalizovanje tipa "e, kad poraste, biće bolji čovek, jer ume da napiše for petlju". Stvari su ipak nešto suptilnije.
Citat:
Ucenik prvog razreda gimanzije za dovoljnu ocenu mora da zna i sledi nabrajanje. Za dobru ocenu mora da zna pa nabrajanje i tako do odlicne ocene. Nema nejasnoca, za sve vazi isto i jasno pravilo i svima je jednostavno da realizuju takav program...

LOL, promocija učenja za ocenu, sa ovakvim paušalnim "obrascima" zbilja dovodi u pitanje postojanje pedagogije.
Citat:
S obzirom da to nisu strucne skole, one nisu tu da vas nauce NESTO sto bi vam moglo koristiti, vec da vas nauce da ucite.

Stvaranje funkcionalnog znanja trebalo bi da bude osnovni cilj BILO KOJE škole.


[ Goran Rakić @ 10.12.2009. 20:04 ] @
Da li si pogledao Scratch, Alice, eToys? Zašto to mora biti LOLA, Pascal i sortiranje matrica?

Koliko mi je poznato programiranje "tokom cele godine" i jeste redukovano jednom od revizija programa, i to je svakako dobro. To što imamo lošu obuku za nastavnike pa oni ne mogu da isprate i primene nove ideje ne znači da treba izbaciti svaki vid programiranja i učiti uključivanje računara.

Sve teme koje ti navodiš se idealno sprovode u okviru drugih nastavnih predmeta, primenom računara. To je ujedno i moja najveća zamerka sadašnjem programu nastave informatike jer računar mora da bude sredstvo, a ne cilj. Pored neke osnovne nastave koja bi mogla da bude i fakultativna u redovnim časovima blok nastave informatika se mora kombinovati sa drugim nastavnim sadržajima uz učešće drugih nastavnika. Tome i služe računarske laboratorije u školama.
[ asterisk @ 10.12.2009. 20:24 ] @
Kakvo bre postojanje pedagogije kada se pritiskom na profesore i mitom sve postize. Da li se moze demistifikovati taj proces edukacije, pedagogije i tako dalje...

Ne treba znanje banalizovati ali ne treba postavljati ni nejasne ciljeve. Smatram da za konkterne rezultate moraju biti definisani i jasni ciljevi dostupni javnosti (djacima i roditeljima).
"Cist racun duga ljubav"

Ne moze se praviti program na onome sto je nekada bilo, ili bi trebalo biti idealizovani cilj u nekoj bajci i tako to. Zivot nam nije uopste bajkovit. Ako profesorima od kojih 50% ima osnovni cilj da animira i spreci djake da se ne poubijaju bas kod njega na casu (neka to rade na odmoru ili kuci) stavite takve ideale dobijete skoro nista.

Ako stavite na papir sta djaci moraju da nauce, povremeno posaljete kontrolu ili cak najbolje napravite ispit na kraju svakog razrede slican prijemnom, jedinstven za celu srbiju onda se mogu ocene standardizovati. Svako ko zaposljava radnika zna sta moze da ocekuje od njega na osnovu ocena koje ovaj ima, pa samim tim i te ocene nesto vrede i vredi se za njih boriti a ne kao sada...

Od demagogije se ne zivi i to odavno, to i djaci znaju i zato ih takav program i ne interesuje. Da im date nesto konkretno, upotrebivo i jasno vremenom bi im i privoleli paznju, inace ce oni preizeti kontrolu nad "kvazi sistemom" obrazovanja.

Apstraktno razmisljanje se razvija, ali do apstraktnog razmisljanja ima dosta, i to treba zasluziti.

[Ovu poruku je menjao asterisk dana 10.12.2009. u 22:07 GMT+1]
[ combuster @ 10.12.2009. 23:47 ] @
Ja mislim da su me X-Files i Maksvel sasvim dobro razumeli.

Jel sam ja prvi ovde popljuvao bubanje sintakse u Pascalu i Delfiju ? Jesam. Ali programiranje ne znaci otvoriti editor, izrokati kod, pustiti da se iskompajlira... Ok, ja jesam pocinjao od asemblera, instrukcija grananja, posle toga sam odmah skontao sta je branch prediction i slicno. OK ne treba decu uciti da budu IT specijalisti u osnovnoj i srednjoj skoli ali sama logika programiranja im se moze provlaciti kroz gomilu stvari koje su im potrebne u zivotu. Ne moraju bre ni algoritam da znaju da pisu, da li je trapez obrnut ili nije - who f' cares, uceniku je zadat problem i ako nauci da ga resi tako sto ce smireno razmisliti, ukljuciti mozak makar na kratko i gde ce dobri ucenici shvatiti da neke stvari ne mogu naprosto da se nabubaju a losi kojima bubanje ne ide (nazalost danas je tako u 80% slucajeva, losi su jer ne bubaju) ako uvide da u necemu imaju talenta - mozda ne budu vrednovali sebe prema marki patika koje nose i mobilnim telefonom kojim se sepure.

Naravno da ovo nece upaliti kod svih, mozda ne upali ni kod polovine njih, neka upali na 10% - to ti je 10% onih koji nece postati zombiji ili lezilebovici, 10% buducih ljudi koji ce svoj posao obavljati kako treba i nece odustati kod prve prepreke. Ili ja mozda to prenaduvavam van proporcija, pojma nemam... Kao sto rece Maksvel, nece postati bolji covek jer zna da napise for petlju ali ce nauciti sta je potrebno da bi se problem resio, kako treba razmisljati, kako treba rastaviti kompleksne probleme (to je prikupljanje relevantnih informacija i analiza), covece ucenje je lakse na takav nacin iz svih predmeta to nije vezano samo za informatiku.

Uglavnom vidim da je Dimke i jos par ostalih za to da se klinci nauce stvarima koje ce im konkretno trebati - online shopping/banking i jos puno korisnih stvari. Kada imaju dobru osnovu iz informatike, online banking ce biti za njih peace of cake. Konkretizacija bez kvalitetnog predznanja je nista drugo do apstrakcija - a apstrakcija je upravo ono sto vi, koji zagovarate prakticnu primenu racunara iz neba pa u rebra, postizete. To jednostavno ne funkcionise tako i nema nikakve veze sa komunizmom.

Citat:

Ukljucivanje racunara?

Edukacija o:

- Sigurnosti na internetu, sigurnosti podataka, privatnosti
- Koriscenju online banking i drzavnih servisa/e-uprave
- Koriscenju interneta za prikupljanje i analizu podataka, kriticnu analizu, primena u prakticnim projektima
- Koriscenju Office softvera za modernu komunikaciju (prezentacije, pisma, dijagrami), organizaciju licnih podataka, finansija (spreadsheet), koncizno i jasno predstavljanje svojih ideja u elektronskom formatu
- Obradu digitalne fotografije, kreiranje sadrzaja...


Jeste sve to ok, al za poseban predmet. Primena racunara or something. To sto si ti naveo je "racunarska pismenost" i ti znas da ljudi koji ovo ne umeju da obave su informaticki nepismeni. E vidis spomenuo si bio ranije da treba da znaju da podese mail, spomenuo si sad i sigurnost na internetu.
Kako bi im ti to pokazao, tj do koje dubine bi isao?

1. Antivirusi
2. Inbox/Outbox/Mail folders, junk, spam, phishing, hoax
2. Protokoli pop/imap, smtp
3. Sta su to portovi, firewalling odredjenog protokola na odredjenom portu
4. SSL/TLS, tipovi enkripcije

Ovo su vrlo za****ne stvari, prilagoditi temu ciljanom uzrastu a ne preterati sa apstrakcijom u procesu. A da bi podesili obican gmail account potrebno je da znaju sve ovo (osim blokiranja portova putem firewall-a). Thunderbird recimo podesava gmail automatski ali zadnji put kad sam proverio Outlook ne. Ili bi ih naucio da nadju sve relevantne informacije preko google-a i da samo copy/paste sadrzaj? (sto je takodje ok - problem solved)

@asterisk

Citat:

Zasto program mora da se okiti tako bombasticnim recenicama koje uz to nista ne znace? Zar se taj ko pise program ne moze posvetiti tome toliko da napise jasan i jednostavan program bez parola i demagogije.


Ja ne vidim sta je tebi tu bombasticno i kako bre nista ne znaci? To su verovatno budaci neki pisali a? Nauci klinca kako da pristupi resavanju problema a ne da ga zaobilazi linijom najmanjeg otpora?
[ salac @ 11.12.2009. 01:21 ] @
E bas bih voleo da cujem kako to izucavanje teorije algoritama pomaze u razvijanju mladih umova :) Vi govorite o inzenjerskom pristupu problemu, a algoritmi se bas tamo i izucavaju - kroz predmete odnosno ispite na inzenjerskim fakultetima.

Sta ce koji moj buducem automehanicaru, masnibravaru ili elektromontazeru znanje algoritama? Ili mozda TV serviseru? Da li vi shvatate da oni svoje poslove i obavljaju tacno uhodanim postupcima, tj. algoritmima, te da bi vam se gromoglasno smejali u lice kada bi im pomenuli da bi sigurno bili jos bolji majstori ako bi znali da svoje radne postupke (steknute iskustvom, obavljaju se algoritamski) opisu apstraktnim pojmovima iz teorije algoritama. O nekim manje 'inzenjerskim' zanimanjima kao sto je konobar, prehrambeni tehnicar ili nesto trece necu ni da govorim.
Uostalom postoje srednje skole za decu koje racunari interesuju vise nego vrsnjake, pa je samim tim i normalno da u takvim skolama deca uce ovakve stvari, dok ce neka druga deca umesto programskih uciti engleski, francuski i nemacki jezik.

Kapiram ja da vi uglavnom ciljate na klince koja ce jednog dana da zavrse na fakultetima i da ce to mozda tamo da im pomogne. Medjutim mnogo vise ce na startu faxa da im pomogne znanje iz matematike, fizike, hemije pa cak i onoga sto pezorativno nazivate 'Poznavanje racunara'. Istina je, postoji odredjeni postotak dece koju ce bas ta tematika zestoko da interesuje (buduci programeri, network inzenjeri i sl.) ali to je tako bedan procenat da je stvarno idiotski 99% mladjarije terati da uce nesto sto im ama bas nikada u zivotu nece biti potrebno.

Neko je pomenuo - ako se deca uce kako da primaju/salju mailove, onda ih treba uciti i o smtp protokolu, pa valjda posle toga i o TCP/IP-u itd. Totalno netacno - pisali su meni u srednjoj na tabli Kirhofove zakone a da mi niko nije objasnjavao Maksvelove jednacine i teoriju polja.

A 'Poznavanje racunara' moze i ovako da se posmatra - kao ucenje azbuke. Vrlo je izvesno da ce uskoro, cak i u ovoj zemlji, svako ko ne zna da barata racunarom biti u kategoriji nepismenog, ili u najboljem slucaju polupismenog stanovnika. Nesto se ne secam da su me u skoli prvo terali da ucim o vremenima i padezima (citaj: algoritme) pre nego sto su me naucili da citam i pisem (citaj: koriscenje racunara).

I za sam kraj, da ponovimo zasto se pod ne preterano definisanim pojmom 'Informatika' smatra da deca u osnovnoj skoli moraju da nauce minimum jedan programski jezik a ne bi bilo lose ni dva, tri ili cetiri - zato sto je nekada hobisticko programiranje bilo jedino sto se na racunarima u kuci radilo osim besomucnog lomljenja Quickshot II dzojstika. To vreme je proslo i danas se na racunarima rade neke druge stvari.

ps. mrzelo me je da citiram odlomke iz raznih postova, probajte sami da se prepoznate :)

[ Srđan Pavlović @ 11.12.2009. 01:49 ] @
Citat:
E bas bih voleo da cujem kako to izucavanje teorije algoritama pomaze u razvijanju mladih umova :)

Ja bih, sa druge strane, voleo da od tebe cujem - sta to pomaze u razvijanju mladih umova?
Kada se oko toga slozimo, onda cemo lako odgovoriti na pitanje sta u skolama treba "izucavati".
[ salac @ 11.12.2009. 02:33 ] @
Evo odgovoricu ti detaljnije kada mi crno na belo pojasnis kako to prosecnom osnovcu teorija algoritama pomaze u zivotu.

Za pocetak primer skolskih predmeta koji, kao i nekakvo programiranje, 99% dece nece koristiti u daljem skolovanju i buducem profesionalnom zivotu- istorija i geografija. Ali ovo su stvari opste kulture i samim tim su jako jako bitne.

U koju bi ti kategoriju strpao teoriju algoritama, zivo me interesuje?
[ Goran Rakić @ 11.12.2009. 02:41 ] @
Gde se to uči teorija algoritama? Hajde nemoj da se razbacuješ sa pojmovima koje si tokom vremena zaboravio.
[ combuster @ 11.12.2009. 07:42 ] @
@salac

Citat:

Sta ce koji moj buducem automehanicaru, masnibravaru ili elektromontazeru znanje algoritama? Ili mozda TV serviseru? Da li vi shvatate da oni svoje poslove i obavljaju tacno uhodanim postupcima, tj. algoritmima


Izvini, sta ce elektricne masine srednjoj medicinskoj ili elektrotehnicarima protetika i sl. Razliciti smerovi imaju razliciti plan i program. Mi smo se uhvatili (i to pomalo offtopic ali je tema interesantna) informatike. I sto to elektromontazeru, ja sam zavrsio srednju elektrotehnicku - smer el.mot.pogon pa vidis informatika mi je trebala a i klasa moja nije bila nimalo priglupa, po tebi ja treba da imam upload-ovan algoritam za vinklovanje motora i za namotavanje trafoa. Ti ciljas na trogodisnju skolu, ali bih se ja tog etiketiranja manuo, jer nije u redu...

Citat:

Uostalom postoje srednje skole za decu koje racunari interesuju vise nego vrsnjake, pa je samim tim i normalno da u takvim skolama deca uce ovakve stvari, dok ce neka druga deca umesto programskih uciti engleski, francuski i nemacki jezik.


Cini mi se da si sam sebe ovde demantovao.... I u tvom postu ima mnogo mesanja "baba i zaba".

Citat:

Neko je pomenuo - ako se deca uce kako da primaju/salju mailove, onda ih treba uciti i o smtp protokolu, pa valjda posle toga i o TCP/IP-u itd. Totalno netacno - pisali su meni u srednjoj na tabli Kirhofove zakone a da mi niko nije objasnjavao Maksvelove jednacine i teoriju polja.


Pravo pitanje koje bi sebi trebao da postavis bi glasilo: "Da li su mene ucili sta je to otpornik i otpor i sta je to el.struja kada su mi na tabli pisali Kirhofove zakone"

[ salac @ 11.12.2009. 09:02 ] @
@Goran Rakic
Istina je, nespretno pominjem 'teoriju algoritama', ali i dalje cekam odgovor na pitanje (koje cu sada da preformulisem, da bi ti bilo najjasnije moguce) - kako tacno detetu pomaze to sto ga neko uci da crta algoritme prostih programerskih problema? A to isto dete, za pretpostavku, ne zna da posalje mail, ili da nakuca i odstampa neki dokument?

@combuster
I ja sam zavrsio srednju elektro skolu, smer automatike, tako da tacno znam o cemu pricam. Kako ti je tacno informatika trebala (ovaj deo koji se tice programiranja)? Posto znam da sam recimo isao na praksu kod automaticara koji su odlicno radili svoj posao a nisu imali informatiku u svom skolovanju.
Izgleda da me nisi dobro shvatio, ne pravim nikakvo etiketiranje, samo sam hteo da naglasim kako uciti klinca u osmogodisnjoj skoli o necemu sto ce da mu treba jedino ako upise vrlo specificnu srednju skolu i kasnije tehnicki fakultet po meni znaci totalno gubljenje vremena; te casove bi bilo bolje iskoristiti za neke druge stvari.
Uostalom, ne zivimo mi u Japanu gde svako ima domacinstvo 5 racunara i (boze mi oprosti) robota kucnog ljubimca, da ne pricam o procentu domacinstava sa internetom; nemaju sva deca priliku da se svakodnevno igraju na PC-ju ili krstare netom. Za pocetak ih treba racunarski opismeniti.

Citat:
Pravo pitanje koje bi sebi trebao da postavis bi glasilo: "Da li su mene ucili sta je to otpornik i otpor i sta je to el.struja kada su mi na tabli pisali Kirhofove zakone"


Kad se vec gadjamo analogijama - otpornik, struja - u ovom slucaju to bi bili tastatura, mis, hard...
[ combuster @ 11.12.2009. 09:22 ] @
Lol ne gadjam se ja analogijama a tvoju potonju nisam ni shvatio...

Citat:

kako tacno detetu pomaze to sto ga neko uci da crta algoritme prostih programerskih problema? A to isto dete, za pretpostavku, ne zna da posalje mail, ili da nakuca i odstampa neki dokument?


Ej bre prosto je - deca sada uce paskal u skoli a kasnije i delphy (negde i C), umesto bubanja sintakse treba ih nauciti kako da resavaju probleme, uporediti im realan sistem sa racunarskim modelom (nesto slicno uml-u samo mnogo - mnogo prostije). Samu sintaksu i IDE treba upotrebiti prosto kao pokazno sredstvo.

Evo ti primer sta srednjeskolci rade trenutno:

Code:

#include <stdio.h>
#include <math.h>

typedef struct _tacka {int x; int y;} tacka;
int main()

{
      tacka a; 
      tacka b;
      double rastojanje;
      scanf("%d %d %d %d", &a.x, &a.y, &b.x, &b.y);
      rastojanje = sqrt(pow(a.x - b.x,2))-(pow(a.y - b.y,2));
      printf("%f\n", rastojanje);
      return 0;
}


Ma dovoljno je da znas sta je input a sta ocekivani output ovde, kakvi su tipovi podataka za input/output i zasto je rastojanje double. A ne da ga ocenim sa cetvorkom jer mi nije stavio ; na jednoj od linija.

Kada ga naucis toku podataka pri racunarskoj obradi - i da zna da ga uporedi sa bilo kojim realnim sistemom ti si ga vec pripremio i za baze podataka i za programiranje i za jos gomilu korisnih aplikacija koje ce mozda koristiti u buducnosti.

Ne zna da posalje mail - nije nego, ti to kao da je izbaceno iz nastavnog plana i programa?

Isto vazi i za recimo program za obradu teksta. Nauci ga sta je to font, margina, zar je bitno da li se to nalazi na ribbonu u office-u 2k7 ili u format font u oo-u ili pristupa tome preko shortcut-ova sa tastature? I zasto bi ministarstvo prosvete i drzava placala komercijalan software za tu namenu? Ako su dobili za fraj - naravno, treba uzeti sve sto se moze uzeti za dz ali ako kosta sve ukupno 10K EUR-a to je 10K EUR-a previse...
[ maliradoznalac @ 11.12.2009. 09:31 ] @
Pomenuli ste automehanicare i algoritme kako to njima ne treba?!?!
Kako automehanicar resava problem auta koji nece da upali.
Prvo proveri dali ima goriva
Da ne
da li gorivo dolazi do cilindara sipas gorivo i problem resen
da ne
proveri struju proveri ac pumpu
i tako dalje

da li vam ovo lici na algoritamsko resavanje problema?

ovakav pristup bi trebalo da se primenjuje za resavanje svakog problema a ne samo kod automehanicara i programera.
[ combuster @ 11.12.2009. 09:39 ] @
Uzrocno-posledicni odnosi su srz resavanja svakog problema.

Uzrok -> Posledica
Problem -> Resenje
Input -> Output

Ali jok, to ne treba nikom zivom, mozda njih 1% nadju neku primenu svega toga u zivotu i radu... ;-)
[ salac @ 11.12.2009. 12:10 ] @
Deder procitajte malo bolje u kom kontekstu su pomenuti automehanicari :) Rekao sam - oni su prirodno (intuitivno) nauceni da razmisljaju algoritamski i da tako resavaju probleme. Stvar prakse a ne predavanja iz informatike. Isto je recimo sa TV tehnicarima - nemas sliku, proveri ulazni stepen, neka boja probija - proveri kaskadu itd. To sto ce u osnovnoj skoli da nauce kako da sortiraju niz i nacrtaju algoritam tesko da im pomaze.

Sta ce da radi automehanicar? Da napise programce koje mu sortira rezervne delove? Ili tv tehnicar - ne zna sta ce od sebe pa napravi program koji ce idealno da mu poredja kondenzatore i otpornike po fijokama? Ili prosecni srpski seljak - nauci C, baci malo pogled na teoriju grafova i ukupno za sat-dva iskodira program koji ce da mu pomogne da po najkracoj mogucoj putanji obidje stalu, njive i obor sa svinjama? :D

Ne zanosite se previse molim vas :) To sto je vama programiranje bilo interesantno u skoli ne znaci da je bilo interesantno i ostatku generacije, i ne znaci da je neophodno da se uci.

Btw i ja sam k'o klinac gomilu vremena proveo kodirajuci u asembleru, pravio introe i demoe, i ofc meni je to sve bilo jako interesantno i veoma mi je koristilo kasnije kada sam upisao ETF.

Ali to uciti u OSNOVNOJ skoli? Bilo bi u redu da programiranje ima nekakvu 'opsteobrazovnu' funkciju, ali ja tako nesto, i pored najbolje volje, ne vidim.

ps. zao mi je sto sam ovoliko odlutao od teme i probacu da se u narednim (eventualnim) postovima vratim originalnoj zamisli autora a to je open-sors softveru u obrazovanju.
[ Srđan Pavlović @ 11.12.2009. 20:32 ] @
@salac

Cilj osnovne skole nije nabiti deci u galvu informacije,
cilj je nauciti ih da misle. Misljenje se zasniva na logici,
prvo konkretnoj (od seste - sedme), a onda negde od 11.
ili 12. godine i na formalnoj logici (verbalni iskazi, sudovi,
mogucnost vrsenja mentalnih ogleda, odnosno eksperimenata u pravom smislu).

Deca informacije pokupe usput, onoliko koliko su motivisani i koliko im je potrebno.

Algoritam za resenje nekog problema nije nista drugo do put za resavanje
nekog konkretnog problema, zapravo razlozeni misaoni tok pretocen u konkretne
logicke operacije i akcije, u programiranju su to u uzem smislu komande.

Pisanjem (najcesce jednostavnijih) algoritama u osn. ili srednjoj skoli, deca
uce da uocavaju "problemska mesta", jacaju svoje sposobnosti mentalnih operacija,
i vezbaju psihicke funkcije paznje, memorije, itd.

Naravno, ne treba insistirati na sintaksama nekih silnih programskih jezika i
nekih njihovih osobenosti u tehnickom smislu, to je vec druga stvar i tu pocinje
strucno usmerenje, ali algoritam kao algoritam - da, i u osn. i u srednjoj skoli,
kao sredstvo koje pomaze u psihickom razvoju.
[ combuster @ 11.12.2009. 21:05 ] @
Srdjane, ne vredi to pricati, neko o klin neko o plocu. Ti radis u prosveti, mali radoznalac, maksvel je meni bio "teach" na mrezama i komunikacijama, verovatno jos ovde ima nekih i svi delimo donekle isto misljenje.
[ Pedja_N @ 11.12.2009. 23:11 ] @
Po meni programiranje treba ostaviti kao neku dopunsku verziju u sklopu informatike,a nikako nametati.
Zasto? Kad se samo setim kada smo mi radili pascal,kuku majko, koje su to traume bile za odelenje!!
Od nekih 30 tak ucenika nas 6-7 sto smo se tome radovali,ostatak, kada dodje cas informatike i pascal, kao da
ih vodis na streljanje.Najvise se bezalo sa tih casova.
Mada, mozda i pored svega, ne bi bilo lose, da se makar jedno polugodiste odrade neke osnove i programiranja
i po koji jednostavni algoritam (to nikoga ne bi ubilo),a posle ko hoce dalje, da ima mogucnost.
Od jezika naravno Pasacal ili Python.
Sto se tice opste IT pismenosti,nadam se da ce sada, sa vecom dostupnosti Interneta se stvar poboljsati i da ce dosta mladih se zaintersovati i usavrstiti
svoje vestine i da ce to ici mnogo lakse i brze nego pre.Neko rece kako treba uciti ih online poslovanju,bankarstvu itd.
Da, to mozda nije lose,samo ja nesto ne vidim ko bi im mogao to predavati kada polovina nasih profesora jos uvek ima strasnu averziju prema tome.
Ono na cemu bih ja najvise insistirao jeste da se dobro upozna racunar kao alatka,da se prepoznaju komponente, da se ucenicima
jasno stavi do znanja sta predstavlja jedan racunar, a ne da oni zamisljaju i dele racunare na neke Pentiume 2,3,4,5 itd. ili ne daj Boze
kad kazu da imaju Samsung PC.
Pored toga, standardno Office i Internet sa velikim akcentom na ucenje nalazenja podataka.Pola nih jos uvek ne zna koristiti Google kako treba,
najlakse je se uclaniti na forum i krenuti sa pitanjima koja su blago receno retardirana.
[ Ivan Dimkovic @ 11.12.2009. 23:30 ] @
Nije pitanje DA LI deca treba da se upoznaju sa algoritmima i formalnom logikom.

Pitanje je KOLIKO to treba da zauzima vremena u kurikulumu "Informatike i racunarstva" u jednoj osnovnoj i srednjoj skoli koja nije strucna u oblasti vezanoj na neki nacin sa informatikom.

Dakle, u vreme kada sam ja isao u skolu - mi smo proveli gotovo kompletno vreme casova informatike razvaljujuci zadatke u Pascal-u i Turbo C-u (ko je hteo) a pocetno tromesecje je bilo popunjeno cepanjem teorije racunara.

Prva besmislica: puniti glavu deci suvoparnom teorijom o I/O uredjajima, RAM/ROM memoriji i sl.. vise od par casova je bacanje vremena. Apsolutno bacanje vremena. To treba da bude protrcano kroz par casova max, i to na daleko zanimljiviji nacin.

- Vecina dece ce to nabiflati napamet, bice im krajnje neinteresantno - i rezultat je baceno vreme - a moze biti daleko interesantnije

- Vreme je ograniceno, ne moze se uvoditi jos jedan predmet "racunarske kulture", vec je jedini racionalni nacin da se te stvari ubace u kurikulum "Informatike i racunarstva". To je inace boljka mnogih stvari u skolstvu - mnogima je "zao" da se nesto izbaci, pa na kraju jedino resenje biva jos vece opterecenje dece

Druga besmislica: OGROMAN akcenat na resavanje matematickih mozgalica u PASCAL-u / C-u

Vec sam objasnio koliko je to los nacin rada sa vecinom dece, koja nikad u zivotu nece vise imati dodira sa PASCAL-om ili C-om i programiranjem uopste. Prosto je neverovatno da je neko u stanju da protraci znacajan deo skolske godine bukvalno silujuci mozak te dece koja ce na to odgovoriti bezanjem sa casova, ucenjem napamet i prepisivanjem na testovima.

Uopste, mislim da je pitanje svih pitanja - Da li je programiranju mesto u ne-tehnickoj i ne-matematicki orijentisanoj srednjoj skoli ?

Ja licno mislim da nije, i da se to vreme daleko bolje moze potrositi sa nekim drugim aspektima modernog IT-ja.

Znam da se mnogi ljudi nece sloziti, ali razmislite vrlo prosto - ako vise od 9 od 10 dece nikad u zivotu nece imati nikakve koristi od programiranja, i ako vecina te dece na taj kurikulum odgovara bubanjem da li je zaista pametno to forsirati?

Uzgred, Goran i combuster jesu dali neke dobre sugestije za daleko bolji nacin upoznavanja sa algoritmima - ali, koliko mi je poznato, bar je tako bilo kada sam ja bio u skoli - nastavnici vecinom decu ocenjuju i gledanjem da li je sintaksa tipa ";" OK - bojim se da ce biti vrlo tezak taj prelaz na malo drugaciji nacin ocenjivanja kao i drugaciju metodiku :)
[ anon68680 @ 11.12.2009. 23:49 ] @
Lepo odvojiti programiranje od informatike i neka bude izborni predmet... Pa po zelji, ko voli nek` izvoli.
[ ventura @ 12.12.2009. 00:34 ] @
Citat:
combuster
Ej bre prosto je - deca sada uce paskal u skoli a kasnije i delphy (negde i C), umesto bubanja sintakse treba ih nauciti kako da resavaju probleme, uporediti im realan sistem sa racunarskim modelom (nesto slicno uml-u samo mnogo - mnogo prostije). Samu sintaksu i IDE treba upotrebiti prosto kao pokazno sredstvo.

Evo ti primer sta srednjeskolci rade trenutno:

Code:

#include <stdio.h>
#include <math.h>

typedef struct _tacka {int x; int y;} tacka;
int main()

{
      tacka a; 
      tacka b;
      double rastojanje;
      scanf("%d %d %d %d", &a.x, &a.y, &b.x, &b.y);
      rastojanje = sqrt(pow(a.x - b.x,2))-(pow(a.y - b.y,2));
      printf("%f\n", rastojanje);
      return 0;
}


Ma dovoljno je da znas sta je input a sta ocekivani output ovde, kakvi su tipovi podataka za input/output i zasto je rastojanje double. A ne da ga ocenim sa cetvorkom jer mi nije stavio ; na jednoj od linija.


Mislim da je ovo pravi primer kako ne treba učiti decu programiranju... Šta neko ko nikad nije imao dodira sa programiranjem može zaključiti iz ovoga? Može zaključiti jedino da je programiranje besmisleno, da su primeri besmisleni, i da za najprostiju operaciju treba da znaš gomilu nerazumljivih kuka i motika...

Druga stvar, da li uopšte pokušavati nekoga učiti programiranju uvodeći ga odmah u koncepte OOP-a, umesto mnogo lakše razumljivog strukturnog programiranja... Neko moje mišljenje je da je BASIC najbolja stvar za objašnjenje koncepta programiranja, jer kad neko shvati basic, samo je stvar sintakse da se prešalta na Pascal, Perl, PHP ili štagod... Sledeći logični veliki korak je uvod u OOP (odnosno C++), ali nema apsolutno nikakve svrhe opterećivati nekoga sa time ako se nije opredelio da mu programiranje bude životno zanimanje...

[ HeYoo @ 12.12.2009. 01:21 ] @
Drugar mi se pre par godina obratio za pomoc u vezi sracunavanja binarnih i hex brojeva, teorema bulove algebre... To ne bi bilo nista cudno da to nije bila tema kolokvijuma nekog racunarskog predmeta na Poljoprivrednom fakultetu u Novom Sadu.

Treba da postoji neka osnova programiranja u srednjim skolama isto kao sto postoji i muzicko vaspitanja (iako ni 1% ljudi nece biti muzicari) ali ne treba to previse forsirati, pogotovo ne kao celogodisnje tupljenje u paskalu. To vise treba da bude u par casova cisto da se predstavi svrha programiranja i nacin na koji racunar funkcionise ispod svog tog kliktanja. Mozda malo algoritamske logike i to je to.. Ostatak treba da se posveti prakticnom znanju koriscenja racunara bas kao sto je Ivan to napomenuo.

Inace od ovoga nema nista jer je celokupno srednjoskolsko (pogotovo strucno) obrazovanje u totalnom haosu i tu bez debelo zasukanih rukava (i upraljanih ruku) nema nista. Iskreno mi je muka kad god cujem za strajkove po skolama.. pola prosvetara zasluzuje momentalni otkaz ali se ko kornjace drze po skolama i medjusobno se stite... cast izuzetcima. Kad god neko pomene propalu mladez sto visi po kladionicama i zivi za makljazu i napijanje petkom uvece meni odma prolete kroz glavu profesori iz moje bivse i (po pricama) mnogih drugih srednjih skola
[ milanche @ 12.12.2009. 04:19 ] @
Mislim da je izuzetno dobra ideja, i da je izuzetno potrebno uvesti takav predmet sto ranije.

Ali, takodje mislim da u okviru te discipline toliko mnogo stvari moze da se lepo objasni primerima iz
svakodnevice (za pocetak, cak potpuno bez ikakve dodirne tacke sa icim iz konkretne informaticke
svakodnevice) do mere da apsolutno svakom sa dva grama mozga bude sve jasno.

Za razliku od mnogih drugih predmeta gde nema mnogo mesta za slobodan pristup, informatika je
dusu dala da se organizuje na nacin koji je zabavan, blizak igri, ilustrativan, koji bi doveo do toga
da kad se konacno paznja posveti konkretnim racunskim masinama, ljudi prosto gutali gradivo, i
jedva cekali sledeci cas.

Problem je sto je realna verovatnoca da neko u formalnom obrazovnom sistemu osmisli program na
takav nacin blizu 5%.

Znajuci kako od svega profesionalni prosvetari umeju da naprave dusegupku, pitanje je nasta bi sve
licilo.

Tako da je suma cele price - ili takav program treba uraditi vrhunski, ili ga ne treba uopste uvoditi,
jer bi radjen na naopak nacin cinio vise stete nego koristi.
[ combuster @ 12.12.2009. 07:36 ] @
@Dimke

Citat:

Nije pitanje DA LI deca treba da se upoznaju sa algoritmima i formalnom logikom.

Pitanje je KOLIKO to treba da zauzima vremena u kurikulumu "Informatike i racunarstva" u jednoj osnovnoj i srednjoj skoli koja nije strucna u oblasti vezanoj na neki nacin sa informatikom.


Slazem se, za skole koje nemaju cisto informaticke smerove (medicinska, poljoprivredna, sumarska) trebalo bi odraditi programiranje ali kroz najjace jednu nedelju. Sto se elektrotehnicke i gimnazije tice, mislim da njima treba ostaviti programiranje ovakvo kakvo jeste danas sa tom razlikom sto ce se opet vise racuna voditi oko razvijanja "programerske logike" a ne same sintakse.

@ventura

Citat:

Druga stvar, da li uopšte pokušavati nekoga učiti programiranju uvodeći ga odmah u koncepte OOP-a,
jer kad neko shvati basic, samo je stvar sintakse da se prešalta na Pascal, Perl, PHP ili štagod


Big mistake, kad neko shvati basic shvatio je basic, kad neko shvati algoritam i osnove kao sto su struktura, petlja, grananje, visestruki izbor, onda ce moci da se presalta gde god hoces. I to nece bas lako skakati sa jezika na jezik, radim pod linuxom i C je all around me a kad treba da odradim bazu podataka u access-u, pa kad krene VB onda malo malo pa iskace help oko sintakse jer se naviknem na C. Zeza me neki python software pod Linux-om, otvorim source, nadjem sta treba da izmenim i za sat-dva (iako je to prvi source u python-u koji sam uopste video) skontam da to nece ici bas tako kako sam zamislio i da moram da menjam kompletnu funkciju koja kreira database file.

Sve ovo se svodi na to da ako imas dobru osnovu imas velike sanse da savladas bilo koji programski jezik za koji se odlucis. Naravno neces moci da budes guru za sve zivo, obicno je to jedan programski jezik a mozes da budes dobar "citac koda" iz svega ostalog sto ce ti nenormalno koristiti za debug-ovanje later on...

Oh and, C nije OOP... C im i treba pokazivati ako se vec pokazuje neki programski jezik, izbegavas drljanje sa GOTO koje smo, cini mi se u basic-u, nenormalno koristili a naravno i u C mozes da ga pokazes kao losu programersku praksu. Slazem se sto se OOP-a tice, zjb ti konsuktore/destruktore/klase, nije to stivo za srednju skolu, ali to ni ne uce koliko ja znam....

@milanche

Citat:

Tako da je suma cele price - ili takav program treba uraditi vrhunski, ili ga ne treba uopste uvoditi,
jer bi radjen na naopak nacin cinio vise stete nego koristi.


Velika istina...
[ KOLE89 @ 12.12.2009. 14:09 ] @
Okačio sam predavanja iz programiranja iz ETŠ "Nikola Tesla" Beograd, smer Elektotehničar Računara (mada mislim da je na svim smerovima isto gradivo) ovde, da bi znali šta se uči (jer je combuster izjavio da se ne uče konstruktori/destruktori i klase , mada moguće da je mislio samo na "ne-informatičke" smerove).

Meni je odgovaralo ovo gradivo jer sam od četvrtog razreda osnovne programirao u BASIC-u pa sam se lako prilagodio ali preko 70% odeljenja je mrzelo programiranje... Ja iskreno mislim da je gradivo prikladno za ovaj smer a da je problem u tome što je većina učenika navikla na bubanje gradiva a znamo da se programiranje ne može naučiti na taj način...
[ combuster @ 12.12.2009. 14:23 ] @
Jbt vi imate programske jezike u srednjoj kao ja sto sam imao na faxu :D

Citat:

Ja iskreno mislim da je gradivo prikladno za ovaj smer a da je problem u tome što je većina učenika navikla na bubanje gradiva a znamo da se programiranje ne može naučiti na taj način...


Upravo tako, samo sto mislim da je ovo ipak "malo" prejako za vas uzrast. Mislio sam da se OOP ne radi u srednjoj skoli uopste ali, izgleda da sam se zeznuo.

Pa sta znam, meni je drago da ti volis ovo da ucis i da si pronasao svoje zanimanje i u principu, da je srece, tako bi trebalo biti sa svima ali eto... Nesto ne verujem da ces posle srednje upisati visu menadzersku jel' tako ;-)

Ono sto sam video "ovlas" u ovoj arhivi je bas jako i do bola konkretno vezano za programiranje, dakle radite sve, preko tipova podataka, struktura, pointera, rada sa fajlovima pa vidim imate i C#.
[ Srđan Pavlović @ 12.12.2009. 14:57 ] @
Citat:
Nije pitanje DA LI deca treba da se upoznaju sa algoritmima i formalnom logikom.

Pitanje je KOLIKO to treba da zauzima vremena u kurikulumu "Informatike i racunarstva" u jednoj osnovnoj i srednjoj skoli koja nije strucna u oblasti vezanoj na neki nacin sa informatikom.


Svaki skolski predmet, ima svoje vaspitno-obrazovne ciljeve. Tako i predmet,
ako se zove "Informatika i racunarstvo", ima definisane te ciljeve.

Kao sto sam vec napomenuo, cilj osnovne skole (jedan od) je nauciti decu da resavaju probleme
(problemske situacije), a koje ce se sredstvo izabrati za ostvarivanje tog cilja, po meni
je manje bitno - ali ipak zbog neke dodatne dobiti to treba da bude neko sredstvo koje je
u skladu sa vremenom u kome dete zivi i potrebama koje to vreme zahteva.

Turbo Paskal jeste umro kao takav, ali je njegova logika ISTA TA logika koje ima i u mnogo
komplikovanijim stvarima do kojih ce se doci kasnije, i sa druge strane paskal ima jako lepu
sintaksu koju je definitivno lakse nauciti od C sintakse.

Zato je verujem, biran Paskal kao programski jezik koji ce samo da posluzi kao SREDSTVO
za razvoj misljenja. E sad, ako Paskal postane sam sebi cilj, znaci "rasturiti programski jezik
Paskal" - onda to ne valja, i ja verujem da je vecini klinaca upravo to bio problem, kao i
slaba sposobnost nastavnika da nastavu ucine zanimljivom. Sve je bilo suvoparno i vecina
je to shvatala kao ucenje tamo nekih gluposti za koje nema nikakvu ideju sta bi s tim.

Naravno, nas koje je to zanimalo vec tad je bilo uzivanje, dobijemo petice na pocetku godine
i sledecih godinu dana ladimo jaja i radimo ostatku odeljenja domace zadatke.

Deca se moraju nauciti da misle, algoritmi su prosto dobro SREDSTVO da se tome nauce,
ili da to vezbaju, a samo programiranje, kao neko ekstenzivno ucenje sintaksi razlicitih
programskih jezika, slazem se da je apsolutno nepotrebno u nekom ne-usmerenom, opstem
vaspitanju i obrazlovanju, pogotovo NE neke stvari koje su "out of date".

Treba raditi na OS-evima koji imaju graficka okruzenja i neke osnove rada sa progrmima
u tim okruzenjima, dakle Windows, MacOS, Linux, (drugoj dvojici posvetiti po koji cas zbog
manje rasirenosti, ali deca treba da znaju da imaju alternative), i naravno u skolama birati
besplatna resenja ( A IMA IH! ) koja su dovoljna da ostvare te osn. ciljeve.

Ko se odluci ozbiljnije za programiranje, taj ce sebi da kupi i ozbiljnije alate, i upisati adekvatne skole dalje za to.
[ maksvel @ 12.12.2009. 15:16 ] @
"Nikola Tesla" je, koliko mi je poznato, elitna škola i verovatno imate jače programiranje od istoimenih profila u drugim školama. Tu je sada stvar mere dokle ići, a nije pitanje da li je potreba: na ovakvim usmerenjima je ono de-fakto nezaobilazno. A za konkretan materijal koji je Nikola postavio, mogu da kažem samo WOW
Srž ove diskusije je da li u opštem obrazovanju: u OŠ, odnosno kod neinformatičkih profila u srednjim školama, programiranje treba da se izučava ili ne.
Do sada smo se rukovodili našim obrazovnim sistemom, koji sigurno ima manjkavosti, a neki učesnici su pominjali i "komunistički sistem". Kakva je situacija na Zapadu? Da li u njihovom obrazovnom sistemu OŠ, odnosno u K12 u USA biva izučavano programiranje, u kom obimu i zašto? Ima informacija na Internetu, naravno, ali ne bi bilo zgoreg ni nešto iz 1. ruke.
[ combuster @ 12.12.2009. 15:58 ] @
Pa dobro, imamo mi elemenata "ruske skole" u nasem obrazovanju, pa kao sto je Dimkovic i rekao pripremamo mlade generacije da budu majstori za sve i svasta. U fazonu kad ti dodje majstor koji popravlja frizidere pa ti ponudi da ti odradi vodovodne cevi po kuci i da ti okreci, konstatuje kako ti je na autu dizna zapusena i kaze ti jos da si mu nesto bled i da treba da pijes vise vitamina :)

Sto se srednjih skola tice - konkretan predmet - pogramski jezici, treba da budu na onim smerovima kao sto su elektrotehnicar racunara. U Kraljevu imamo taj smer u ESTS "Nikola Tesla" i staroj tehnickoj skoli. Algoritmi, C kao struktuirani programski jezik da, ali rad sa menijima ejjjjj... To sam ja kod Urosevica odradio na usmenom i dobio 9 (pitao me da mu kompajliram taj kod i donesem za 10 ali nisam jurio ocenu a racunar mi bio kuci, bio jun mesec). A oni to rade u srednjoj skoli, lol... Ima na faxu da se smore :)

[ maksvel @ 12.12.2009. 16:19 ] @
Pa dobro, što se tiče fakultetskog programa, i na jačim faksevima biće ponavljanja stvari koje je učio Nikola, to nije sporno. A onih 70% će svakako da uče ponovo
Posvećivanje određenog broja časova programiranju u okviru OPŠTEG predmeta Računarstvo i informatika, mislim da bi ipak trebalo da postoji.
Što se tiče jezika, Paskal ima veliku inerciju. Koliko sam mogao da primetim, u svetu je Python naišao na odličan odziv kod učenika.
[ combuster @ 12.12.2009. 16:28 ] @
Da, Python zato sto je "citljiv", ako ovladas logikom tj imas u glavi predstavu kako bi trebalo da izgleda resenje ostalo bi trebalo da bude "setnja po parku". Mada i Python je OOP a opet nisam siguran koliko je to stivo za srednju skolu - pa cak i za informaticke smerove... Ajde videcu da dodjem do nekih informacija o nastavnom planu i programu u inostranstvu pa da vidim kako su i oni to organizovali, bas me interesuje. Ili ako vec neko ima linkove da postuje...
[ maksvel @ 12.12.2009. 16:30 ] @
To sa OO vs proceduralno programiranje u školama je već nova diskusija
Napravismo Zoranu Rodiću fork-bomb od one prve teme

[ combuster @ 12.12.2009. 16:41 ] @
Hehehe, hteo sam vec da mu se zahvalim na strpljenju ali zaboravih'. Svaka cast majstore :D

Dobro, nije ovo bas toliki off kao na onoj originalnoj temi :D
[ Goran Rakić @ 12.12.2009. 17:50 ] @
Zainteresovane na temu neophodnosti OOP pristupa u nastavi pozivam da pročitaju poneki esej Alana Keya, na primer Squeak Etoys, Children, and Learning.

Kada pričamo o pomenutim ciljevima nastave, ubeđen sam da je kontekst neophodan, a upravo kontekst je ono što OOP ističe.

Pomenute didaktičke alatke, Scratch, Alice, eToys sve odlično koriste OOP model.
[ Jezdimir Lončar @ 13.12.2009. 00:40 ] @
Aj da se i ja uključim u veoma interesantnu diskusiju na ovu temu (p.s. moram da priznam da su ove teme koje se tiču školstva i informatike, baš zanimljive, rekao bih da su čak neke od najzanimljivih na koje sam "naletio" na ES-u), iako moram da priznam da nisam pročitao baš svaki post.
Elem, evo neko moje mišljenje kao učenika Srednje Stručne Škole, smjer Elektrotehničar računara.
Dakle, što se tiče škola koje su se fokusirale na neko opšte obrazovanje, društvene nauke i slično, smatram da je učenje programiranja u takvim školama promašaj i gubljenje vremena.
Zašto? Učenici koji pohađaju takve škole ne planiraju da postanu programeri, informatičari i slično, već planiraju da postanu pravni zastupnici, sekretari / sekretarice itd itd.
Shodno tome, programiranje im vjerovatno nikad neće ni trebati. Ti časovi koji su planirani za programiranje bi trebalo da se posvete nekim drugim temama vezanim za računare, koje su bliže pomenutim osobama.
Osobama koje pohađaju ovaj tip škole, programiranje im vjerovatno neće biti ni interesantno a samim tim ni jasno, već, kao što već neko pomenu, to će naučiti napamet i to je to.

Sa druge strane, imamo stručne škole. Programiranje u ovim školama, tj u smjerovima koji se tiču računara, je apsolutno pun pogodak, i trebalo bi mu posvetiti maksimalnu pažnju. Osobe koje su upisale smjer vezan za informatiku, vjerovatno planiraju da postanu budući informatičari, tako da programiranje ni u kom smislu nije gubljenje vremena. Ono što bi trebalo promjeniti je jezike koji se uče u školama i kad se uče u školama.
Npr. ono što meni uopšte nije imalo smisla, je bilo:
Prvi klasifikacioni period - osnove računarstva (kako uključiti / isključiti računar, kako srediti ikonice na desktopu itd itd)
Drugi i treći klasifikacioni period - algoritmi
Četvrti klasifikacioni period - pascal.
Ovo mi nikako nije imalo smisla, taj "skok" sa samih osnova računarstva na algoritme i programiranje.
Takođe, imala je još jedna stvar koja mi je baš zasmetala, a to bi bilo rešavanje isključivo matematičkih problema i činjenica da uopšte nismo zalazili u neke logičke probleme. Zadaci i za algoritme i za programe su bili tipa - Izračunati površinu kvadrata na osnovu unijetih dimenzija.
Pored ovako nekih zadataka, ja bih volio da smo imali i neke zadatke gdje je osoba trebala malo i da razmišlja (npr. pravljenje nekog "login" programčića, pa ako korisnik prođe validaciju unijetih podataka da mu ispiše poruku a, ako ne - da mu javi grešku i sl).
Način predavanja se svodio na predavanja o sintaksi programskog jezika, niko nije ni pominjao činjenicu da bi učenike trebalo naučiti da razmišljaju kao programeri, da se uče malo i "Art of Programming" itd itd.
Sad, da li je ovo greška profesora ili programa škole, to zaista ne bih znao.

I za kraj, što se tiče učenja programiranja u osnovnim školama, smatram da bi trebalo posvetiti par časova Informatike programiranju u završnoj godini, na samom kraju, čisto da se pokuša da se učenici zainteresuju za programiranje (ko zna, možda neko i upiše neki smjer vezan za isto), al definitivno bi trebalo staviti akcenat na osnove računarstva, u cilju podizanja opšte informatičke pismenosti.

Nadam se da nisam pretjerao sa ovim "Wall of Text" :)
Pozdrav!
[ jablan @ 13.12.2009. 12:19 ] @
Citat:
combuster: i Python je OOP a opet nisam siguran koliko je to stivo za srednju skolu - pa cak i za informaticke smerove

Zašto kažeš OOP a misliš na C++?

OOP je sasvim jednostavan koncept, ništa komplikovaniji od strukturiranog programiranja, čak i dosta logičniji, po mom mišljenju.
[ combuster @ 13.12.2009. 12:49 ] @
U pravu si, kao koncept je extra jednostavan i "blizak" realnim sistemima ali meni je sintaksicki uvek bio zeznutiji (da, mislim na C++).

Linearno razmisljanje i Top-Down resavanje problema po meni nekako vise lezi tom uzrastu. I OOP se moze pokriti na kraju ali samo kao koncept - metode, klase, konstruktori i destruktori su IMHO opet stivo za fakultete...
[ drkljenko @ 13.12.2009. 16:48 ] @
Nivo koji se uci u osnovnim i srednjim skolama je na minimalnom nivou, i ne vidim razlog zasto se to ne bi ucilo. Postoji stara poslovica koja kaze "Bolje je uciti i nebitno nego nista". Ja, kao profesor informatike, mogu da shvatim da nekoj deci slabije ide shvatanje programiranja, pa u skladu sa tim ih i ne teram da uce na silu neke stvari za koje nisu zainteresovani. Ali, nikom nije na odmet da zna, sta je to algoritam, kako se pristupa resavanju odredjenih problema, da nauce nesto o analitickom razmisljanju, a sto se sintakse tice to uopste nije bitno, bitno je da se nauce neki principi, koji bi mogli biti korisni u zivotu, a ne samo sto se tice programiranja. Pascal, koji se uci u skolama, je prilicno lak za ucenje, tj ima razumljivu sintaksu, i uglavnom nemam problema sa decom sto se tice savladavanja osnovnih stvari.
[ maliradoznalac @ 13.12.2009. 23:16 ] @
Kako vam se cini Microsoftov SmalBasic kao nesto sto ce se koristiti za prve korake u programiranju?
Nemam imao prilike nikoga da ucim programiranju pa mi je tesko da sagledam sve kako treba. Meni licno "izgleda lepo" sa onim intellisens ili kako ga vec zovu, unosom sintakse. I tu je kraj moje analize :-)
[ combuster @ 14.12.2009. 08:54 ] @
Pa nemam gde da ga isprobam ali ono sto sam video na wikiju je super - ali za osnovce, 15 keyword-ova je ipak "ogranicavajuce". Dakle moze kao suplement onome sto je Goran predlozio nekoliko postova iznad...
[ Jezdimir Lončar @ 18.12.2009. 18:46 ] @
Isprobao sam ovaj SimpleBasic, stvarno je prelak.
Nema nekih specijalnih funkcija i sl, al ono...
Sve je Point&Click tako da...
Smatram da on ne bi bio loš za rad u školama, prvenstveno osnovnim.
[ jablan @ 18.12.2009. 19:17 ] @
Citat:
maliradoznalac: Kako vam se cini Microsoftov SmalBasic kao nesto sto ce se koristiti za prve korake u programiranju?

Guranje dece u strukturirani način programiranja je po mom mišljenju jedan od smrtnih grehova... :)

Svima zainteresovanim za jednostavno okruženje gde se za kratko vreme može početi programiranje, a da na mala vrata uvodi učenika u svet objektnog i funkcionalnog programiranja savetujem da pogledaju [url=http://en.wikipedia.org/wiki/Shoes_(GUI_toolkit)]Shoes[/url].

@combuster: Pa ti i dalje pričaš o C++-u. Objektno programiranje ne podrazumeva da moraš da znaš išta o destruktorima, polimorfizmu, višestrukom nasleđivanju itd.
[ combuster @ 18.12.2009. 21:06 ] @
Citat:

I OOP se moze pokriti na kraju ali samo kao koncept


Slazemo se ;-)
[ jablan @ 19.12.2009. 11:20 ] @
Hehe, ne slažemo se. Jer kad na OOP počneš da gledaš kao na koncept, već je kasno. :) A OOP se (pogrešno) posmatra kao koncept samo zato što je OOP na silu nakalemljen na mejnstrim jezike (C, Bejzik i Paskal) i kao takav komplikovan za rad. Zato je bitno na vreme skapirati da smo svi mi (koji programiramo duže) OOP učili prekasno i pogrešno.

Edit: Zapravo, jezik koji bih predložio za učenje programiranja odmah iza Rubija i Pajtona bi verovatno bio Javaskript. Lagan, u dobroj meri OO, u dobroj meri funkcionalan, ne opterećuje onog ko uči glupostima, a svako ga već ima instaliranog.

[Ovu poruku je menjao jablan dana 19.12.2009. u 12:34 GMT+1]
[ combuster @ 19.12.2009. 12:10 ] @
Morao sam poruku tvoju da citam tri puta da bih shvatio sta hoces da kazes :P Da bi to tako funkcionisalo kao sto ti predlazes moralo bi da se na struktuiranom programiranju radi vrlo malo (ili nimalo) - ok, moze ali kad se postave ciljevi - sta ti zapravo ucis srednjeskolce?

Struktuirano programiranje je dosta blizu hardware-u, dok OOP je vec mnogo blize realnom sistemu koji program treba da "oslikava". Meni je logicnije da krenu od C-a nego od C++ iz prostog razloga sto na pocetku uce o hardware-u i operativnim sistemima i za dalje od toga ne znaju - i ne treba da znaju. Kada pocnu da rade baze podataka - entiteti, atributi i to povezu sa klasama i metodama to je onda vec neka druga prica koja moze da se zaokruzi, UML je tu plus i onda se sa njima moze raditi tako da im zadas da opisu neki realni sistem pomocu relacione baze ili pomocu UML-a. Ali da li je to diskusija za srednju skolu ili fakultet?

Ako vec uce za tehnicare racunara - ne uce za programere, bitnije je tu da nauce kako hardware funckionise, da savladaju dobro operativne sisteme pa su im cak batch i eventualno shell skripte tu bitnije od bilo kog programskog jezika a kad se vec rade programski jezici u celu tu pricu bolje pasuje C nego Python recimo.

Python je super - ql, ali kada se posvetis programiranju malo dublje nego sto je to potrebno za srednjeskolce.
[ jablan @ 19.12.2009. 13:58 ] @
Vidi, "struktuirano" programiranje čovek uči u svakom slučaju, jer pojmovi "struktuirano" i "objektno" nisu ama uopšte isključivi. U svim savremenim objektnim jezicima programira se upravo struktuirano. Kad definišeš neku metodu, pišeš imperativni kod, struktuirano u neke blokove ili štatijaznam. Takođe, struktuirano ne znači obavezno i "blisko hardveru". Kad ti iteriraš kroz listu zaposlenih i na svakom objektu zoveš metodu save koja promene na objektima snima u relacionu bazu, ti to radiš struktuirano, ali je to kilometrima daleko od hardvera (nadam se da se tu razumemo).

E, sad, nazad na OOP. Pogledaj sledeći (Rubi) kod:
Code:

i = i + 1

pa mi reci da li je to po tvom mišljenju OO ili struktuirano programiranje?

E pa nije, nego je objektno. :) U slučaju Ruby-ja, ovo što vidiš gore je poziv metode plus na objektu i klase Fixnum, sa argumentom 1. Dakle, u čistom OO svetu, kad radiš najbanalnije stvari (tipa inkrementiranje promenljive), ustvari pozivaš metode nekih objekata. Ili, striktnijim OO rečnikom rečeno, upućuješ poruke objektima.

Ono što hoću da kažem je da OO nije ništa komplikovanije od "običnog" programiranja, ako koristiš adekvatan jezik.

Što se adekvatnosti Pajtona za učenje tiče, mogu samo da kažem da je Pajton po mom mišljenju jednostavniji jezik od C-a. Mislim char * s; da bi deklarisao string, o čemu mi pričamo... :)

E, da, UML bolje i da ne pominješ... Veza između UML-a i OOP-a je, što ono kažu u filmovima, purely fictional.
[ Au197/79 @ 19.12.2009. 17:22 ] @
Nisam siguran da je potrebno učiti programiranje u osnovnoj školi. Možda samo pokazati par primera i to u Pythonu (kao što smo mi na FON-u od asemblera videli samo par primera, jer koji će nam đavo to ;)).

U srednjoj tehničkoj učiti programiranje takođe u Pythonu u sklopu opšte informatike. U onim srednjim koje su više okrenute ka IT i npr. gimnazijama matematičkog usmerenja uvesti posle Pythona još neki jezik. Moj bi izbor bila java.

Obrazloženje. Mislim da svako ko se bavi tehnikom može doći u situaciju da mu treba znanje programiranja, a ako nastavlja dalje školovanje (visoka i viša škola) tu će mu to znanje zasigurno trebati. Dakle jedan građeviski tehničar i eventualno budući arhitekta, inženjer građevinarstva ili geodeta treba da zna programiranje makar u osnovi a to se Pythonom svakako postiže optimalno. Oni koji idu na IT sektor će se posle Pythona lako naučiti Javi u 4. razredu kao još uvek jezik br. 1, pa će budući ETF-ovci, FON-ovci, matematičari i drugi znati dobro osnovu OOP-a i sintaksu jave i pythona. Na faksu će se to utvrditi i na to će se nadograditi drugi koncepti.

Python sam izabrao kao jezik najbliži pseudokodu. Tako da će se algoritam vrlo lako objasniti i preneti u kod koji radi. Kod je čist i čitak, forsira se lepo pisanje koda. Pri tom je jezik popularan, slobodan, svuda prisutan, upotrebljiv i za ozbiljne stvari i ima brdo biblioteka što standardnih što nestandardnih.

A izbor jave sam već delimično objasnio. Osim popularnosti tu je i besplatnost samog jezika i razvojnih okruženja, kao i gomila slobodnog koda.
[ combuster @ 21.12.2009. 09:57 ] @
@jablan

Hehehe i=i+1 samo za sebe ne znaci nista, da li je i klasa ili promenljiva zavisi od toga kako si je deklarisao... Glupo je pitati da li je i=i+1 struktuirano ili objektno orijentisano :)

Citat:

Vidi, "struktuirano" programiranje čovek uči u svakom slučaju, jer pojmovi "struktuirano" i "objektno" nisu ama uopšte isključivi.


Naravno da nisu iskljucivi, ne zove se C++ za dzabe tako ;-)

Za vikend mi je dosao ortak koji uci u Tesli na smeru telekomunikacije i on mi kaze da programiranje skoro da nisu ni radili, dok recimo na smeru Tehnicar racunara kao sto smo mogli da vidimo imaju programiranje do bola jako. Tako bi to i trebalo da bude, ne opterecivati programiranjem smerove koji nisu usko vezani sa informatikom (mada telekomunikacije i nije da nisu ali oni rade stvari iz informatike koje su im potrebne). Npr kao iz topa je ispucao nesto o X.25 protokolu: http://en.wikipedia.org/wiki/X.25 - Pozdravljam...

[ ivaninapruga @ 10.02.2015. 00:05 ] @
Prerano je osnovna škola, nema potrebe za tim. Srednja škola je već druga priča...
[ pinkivona @ 10.02.2015. 00:09 ] @
Slažem se, ali opet, zavisi sve od interesovanja, ne treba forsirati...
[ calexx @ 10.02.2015. 07:51 ] @
Lepo je što se slažeš sa sobom. ;)
[ X Files @ 10.02.2015. 12:12 ] @
^
Znao sam da neki ljudi pričaju sami sa sobom, ali da "pišu" sami sa sobom...
[ Shadowed @ 10.02.2015. 12:46 ] @
Nije prvi put :)