Prvi programski jezik u skolama. Od cega poceti?

ghostprophet

Zainteresovan član
Poruka
216
Dakle, zanima me vase misljenje sa kojim jezikom bi bilo najbolje poceti programiranje u srednjim skolama.

Zamolio bih samo da ako ste u prilici i imate vremena da obrazlozite svoj odgovor.
Takodje ako neko misli da je sa programiranjem bolje poceti vec u osnovnoj skoli, voleo bih da cujem prednosti ranog pocetka :)

Posto se radi o pocetku programiranja moje misljenje je da se treba ograditi na jezike poput Pascal-a, C-a (ili C++ na pocetnom nivou), Basic-a i njima slichne.
Sa Python-om se nikada nisam sreo i nemam nikakvo znanje o tom jeziku, pa ako ljudi koji su upozntati sa istim misle da bi on bio dobar pocetak, voleo bih da cujem pogodnosti ovog jezika.

Kako je rec o nastavi u srednjim skolama, mislim da je vaznije da se razvije "programersko razmisljanje" kod ucenika od samog poznavanja jezika i njegovih prednosti i mana. Takodje, za dosta ljudi ove je jedino susretanje sa programiranjem koje ce ikada imata, pa ne treba ni pretarivati sa dubinom materije.

Hvala na odgovorima z:)
 
Smatram da je paskal jako dobar izbor. Mada suština programiranja je u samom algoritmu, sintaksa se lako da naučiti. Moje programersko iskustvo se svodi na paskal, ali zato ovaj jezik dovoljno dobro poznajem da bih rekao da je odličan za stvaranje opšteg pregleda načina programerskog razmišljanja.
 
Poslednja izmena:
Smatram da je paskal jako dobar izbor. Mada suština programiranja je u samom algoritmu, sintaksa se lako da naučiti. Moje programsko iskustvo se svodi na paskal, ali zato ovaj jezik dovoljno dobro poznajem da bih rekao da je odličan za stvaranje opšte percepcije programskog razmišljanja.

Da, u pravu si. Možda je nekima dosadno da rešvaju one dosadne šablonske probleme u pascalu, ali to i jeste sva suština programiranja. I nema nikakve potrebe da jedan srednjoškolac izlazi iz tih okvira. Eventualno može i C da nauči, pogotovo ako je elektrotehnička škola u pitanju. Sve preko je suvišno za srednje škole.
 
Ja mislim da bi u gimnaziji samo informatički smer trebao da uči programiranje jer realno ljude to uopste ne zanima...Evo ja idem opšti smer gimnazija i poceli smo da ucimo paskal,samo osnove veoma jednostavno, većina njih ima 2 niko nezna ništa i ovi koji kao imaju malo bolju ocenu su naučili zadatke napamet...užas
Ali mogu reći iako ne volim paskal jer sam navikao na c-like sintaksu mogu reci da je za pocetnike jednostavniji, iako bi moglo i sa c da se krene sve zavisi :)
 
Ja mislim da bi u gimnaziji samo informatički smer trebao da uči programiranje jer realno ljude to uopste ne zanima...Evo ja idem opšti smer gimnazija i poceli smo da ucimo paskal,samo osnove veoma jednostavno, većina njih ima 2 niko nezna ništa i ovi koji kao imaju malo bolju ocenu su naučili zadatke napamet...užas
Ali mogu reći iako ne volim paskal jer sam navikao na c-like sintaksu mogu reci da je za pocetnike jednostavniji, iako bi moglo i sa c da se krene sve zavisi :)

Ja se baš i ne slažem da gimnazijalcima koji nisu na informatičkom smeru nije potrebno programiranje. Naprotiv, smatram da je veoma značajno da se programiranje dobro shvati. Ne toliko zbog samih programskih jezika, koliko zbog strukture programa, tj. samog algoritma. Programiranje je jako korisno i u matematici. I može ono da bude zanimljivo, ako se rešavaju malo zahtevniji problemi sa više matematike.
 
I matematika je jako korisna u programiranju.
Sad nemoj pogrešno da me shvatiš, ja volim programiranje i meni ne bi smetalo da imamo 5 časova u nedelji ali problem je sto samo bi meni bilo to dobro, svi ostali mrze paskal neki cak hoće da nauče ali imaju dosta problema, valjda je profa kriv za to.Ali koliko vidim i u većini škola je tako.Sad prvobitni autor je spomenuo nesto u vezi pythona kao prvi jezik, on uopste nije loš jezik čak je i veoma lak ali mislim da je bolje sa C ili Paskalom.z:)
 
C? Neeeee.... Ima jedan prost razlog: c je jezik operatora, suviše je nerazumljiv maltene stenografski. Otprilike je odnos paskal vs c kao štampana vs pisana slova. kako neko ko me je paskal noćna mora razume blesavu c sintaksu koja može da ima neke neverovatne rečenice:

Kod:
void main()
{
	double x=0;
	double y=0;
	x = (++y = 56%5 + 5 & 0x45)+ ~34 ;
	printf("%d",x);
	printf("%d",y);
}
 
Pa pazi da je paskal je definitivno lakši ali ni C nije bog zna sta....Meni vise odgovara takva sintaksa neko ona paskalova.
A onaj primer sto si napisao, nije to nista komplikovano samo sto si koristio sintaksu koja se retko koristi :)

Kod:
x = (++y = 56%5 + 5 & 0x45)+ ~34 ;
Vrednost x je jednaka, inkrementujemo y sto je jednako 56 modulo(ostatak) od 5 + 5 sa binarnim operator AND i sa 0x45(to je valjda xeksadecimalni broj nije to do C jezika) i sve to + 34 na kojeg je izvrsen bitwise operator NOT koj smao zameni vrednost svakom bitu...sad sta se tu dobije nemam pojma :)

Ali i ja se slazem bolje Paskal za početak.
 
Pa pazi da je paskal je definitivno lakši ali ni C nije bog zna sta....Meni vise odgovara takva sintaksa neko ona paskalova.
A onaj primer sto si napisao, nije to nista komplikovano samo sto si koristio sintaksu koja se retko koristi :)

Kod:
x = (++y = 56%5 + 5 & 0x45)+ ~34 ;
Vrednost x je jednaka, inkrementujemo y sto je jednako 56 modulo(ostatak) od 5 + 5 sa binarnim operator AND i sa 0x45(to je valjda xeksadecimalni broj nije to do C jezika) i sve to + 34 na kojeg je izvrsen bitwise operator NOT koj smao zameni vrednost svakom bitu...sad sta se tu dobije nemam pojma :)

Ali i ja se slazem bolje Paskal za početak.

jap, kontam šta se tu dobije, ali ja c redovno koristim za mikrokontrolore pa mi 300-400 linija koda nije ni za doručak. Kontam da i ti znaš ali objasni ti prosečnom srednjoškolcu dva znaka =, pa realno moglo je i komlikovanije da bude al nisam hteo.... :D Znam kako se klinci pate sa pascalom, sećam se kad sam i ja prvi put video c. "Babe i žabe", rekoh sebi tada, "koja budala je smislila takvu nerazumljivu splačinu...." Sad su već druge prilike...

ps. 0x45 jeste heksadecimalni broj: 010001001
 
Takodje bih dao prednost Pascal-u u odnosu na C, zbog njegove "strogosti".

Sto se tice programiranja u Gimnazijama, mislim da treba da postoji u nastavnom programu. Meni licno je bilo gubljenje vremena uciti istoriju, geografiju i latinski na primer. Pa opet, nekom drugom su ovi predmeti bili jako zanimljivi i korisni.

Da li bio mozda neki pseudo jezik bio korisniji u ovom slucaju?
 
Takodje bih dao prednost Pascal-u u odnosu na C, zbog njegove "strogosti".

Sto se tice programiranja u Gimnazijama, mislim da treba da postoji u nastavnom programu. Meni licno je bilo gubljenje vremena uciti istoriju, geografiju i latinski na primer. Pa opet, nekom drugom su ovi predmeti bili jako zanimljivi i korisni.

Da li bio mozda neki pseudo jezik bio korisniji u ovom slucaju?

Mislim da ne. Prosto jer se tako mogu učenici naviknuti na to da je ceo program na znatno prihvatljivijem, prilagođenom nivou, pa ako se potom budu bavili nečim gde im programiranje može biti od koristi prelaz na apstraktniji nivo mogao bi im biti ne tako lak.

Eventualno treba dopuštati da se na početku programiranje radi na nivou algoritamske strukture, pa kad se na tom nivou stekne predstava o programu, tada tek preći na nivo pravih programa, i to najpre u paskalu.

I da, programiranje je potrebno, ako ništa drugo, zarad opšte kulture. Mogu učenici i ne voleti hemiju, biologiju, likovno, zavisi od ličnih interesovanja, ali to nije razlog da se oni ne rade na gimnazijskom nivou, što kažem kao gimnazijalac, nalazeći potrebu za svim nabrojnim.Osim toga, treba onim koji su zainteresovani pružiti priliku da rade sa progamiranjem. Naravno interpretacija je jako značajna, tj. hoće li se programiranje svoditi na apstrakciju ili ne. Mislim da ako bi se taj isti paskal objašnjavao na zanimljivim programima, sa kreativnim idejama, mnogim bi mogao biti zanimljiv.
 
Takodje bih dao prednost Pascal-u u odnosu na C, zbog njegove "strogosti".

Sto se tice programiranja u Gimnazijama, mislim da treba da postoji u nastavnom programu. Meni licno je bilo gubljenje vremena uciti istoriju, geografiju i latinski na primer. Pa opet, nekom drugom su ovi predmeti bili jako zanimljivi i korisni.

Da li bio mozda neki pseudo jezik bio korisniji u ovom slucaju?

Radi se o različitim principima programiranja. Paskal ima princim "mesto za sve i sve na svom mestu" dok je princip kod c jezika "pre korišćenja definiši". C je načinjen tako ad se obezbedi maksimalna procesna moć, uz vrlo veliku brzinu iskorišćenja. Gde se ovo najbolje vidi? Struktura pascal programa je takva da se tačno zna gde se definišu globlne, a gde lokalne promenjive, redosled svih petlji je strog. Kod c-a možeš natrčati na definiciju promenjive u pola petlje na primer. Ovo čak nije ni najgora razlika. Standard ANSI C, je propisao neke stvari koje svi kompajleri moraju da poštuju. Međutim mnoge stvari su ostavljene prilično slobodne, pa čak od kompajlera do kompajlera zavisi kako će ih prevesti u izvršni kod:

1. Verujem da je jedna od noćnih mora deklaracija lokalnih promenjivih:

int x;
y = x;

u gornjem primeru, nakon takve deklaracije promenjive x u y će se upisati bog zna koja vrednost, jer standard ne propisuje da lokalne promenjive moraju biti inicijalizovne na 0 već im kompajler samo dodeli mesto u memoriji u kojem se obično nalazi neka neodređena vrednost.

2. nejasne definicije dužine brojevnih tipova:

Standard ni ovo ne propisuje, već daje savete koliko bi minimalno trebalo da iznose dužine. Tako možete naći brdo različitih verzija, zavisno od toga koji kompajler se koristi.

3. nejasnoće u vezi prekoračenja. Ovo mi je letos zadavalo žestoke glavobolje. Naprosto, za neku promenjivu sam dodelio suviše malo bita, mislim da sam stavio integer. Dolazilo je do prekoračenja opsega, a kompajler nije ništa prijavljivao i nastao je haos u programu. A program jne imao 30ak promenjivih i komlikovanu petlju pa je traženje greške bilo desetodnevna noćna mora. Rešio sam je tako što sam promenio kompajler....

4. nema string tipa. String je naprosto niz karaktera sa terminisan NUL karakterom...

5. pokazivački tip = Noćna mora.

Inače, C je i danas u širokoj upotrebi barem kada se radi o mikrokontrolerima, i vremenski kritičnim procesima u industriji.
 
eh ja mislio samo treba glava i c :D.........pa nema veze skontacu kad budem ucio u skoli......:) hvala

pa generalno, treba da znaš arhitekuru mikrokontrolera koji hoćeš da isprogramiraš. Na žalost, on sam po sebi neće ništa da radi, pa treba načičkati još delova na njega: motora, diodica, displeja, senzora i svega ostalog. A onda ti treba dobro znanje elektronike. Predlažem da lepo dobro naučiš elektroniku, a ja ću ti već poslati skripte za programiranje relativno prostog i jednostavnog 8051 i 8052 kontrolera. Uz to ti treba i programator za upisivanje koda sa računara u kontroler, ali na sreću isti se pravi dosta jednostavno.
 
pascal kao jezik za pocetnike. cist je, jasan, izbegava pokazivace koliko je to moguce, ima pristojan skup ugradjenih funkcija

bolje pitanje je - cemu programiranje u skolama? gde god ima filozofije treba da bude i programiranje.
programiranje nije samo vestina nego i nacin pristupa problemu

zato treba vise vremena dati algoritamskom delu. opisivanje jezikom posle ide lako.
 
Pa jedina svrha je da približi učeniku proces izrade i korišćenja softvera. oop je čist višak, i prekomlikovan je za većinu učenika. Što se tiče elektrotehničkih škola podržavam prvenstvo upravo C jezika, i to bez bacakanja na C++, C# itd.

Da se ovde ne piše bez veze pokazuje i knjiga dr Dragana Ivetića: Strukturni pristup programiranju: PASCAL i C, koju ja dosta volim da koristim. Ako su PASCAL i C dovoljno dobri da se na njima uče studeni elektrotehničkog fakulteta, ne vidim razlog da sa se u srednjim školama guraju viši programski jezici.

Da ne zaboravim, pored C-a, mlađanim elektrotehičarima bih natovario i učenje MATLAB-a, iako on u suštini i nije progamski jezik u punom smislu te reči.
 
Matlab je daleko od programskog jezika bar po mom misljenju..........c i c++ bi trebalo da se uce a ostalo (delphi, c# itd) mogu da sacekaju jer sam primetio da dosta ucenika ne shvata c 100% i trebalo bi malo vise paznje da se posveti upravo c i c++.............recimo u republici srpskoj c se u ETS uci jedno polugodiste 2 casa nedeljno a c++ isto tako........a recimo na delfi je potrosena cela skolska godina..........totalno losa organizacija srednjeg obrazovanja............i zato koliko god se trudili jednostavno njih nije briga........

EDIT: bas si me zainteresovao cim nadjem slobodnog vremena pocecu da ucim matlab........matematiku obozavam i imam znanja stoga ne vidim zasto ne bi' probao.....hvala :)
 
Poslednja izmena:
hmm, C++ u srednjoj je po meni ok, sve dok se rade osnove jezika (sto mu dodje skoro pa isto kao C). OOP-e u srednjim skolama je preterano po mom misljenju. Osim ako nije smer koji je orijentisan samo na programiranje.

Poredjenja radi, zamislite da smo iz istorije ucili Rimsko Pravo, a iz biologije Anatomiju vec u srednjoj skoli.:zima:

@miki208: Koje su prednosti C-a u odnosu na druge jezike koje ti smatrash zanimljivim i korisnim?


@Paganko: Mi smo u gimnaziji pre x godina radili Mathematica. Iako "slabiji" od Matlab-a smatram da je ovo izvanredan programcic za resavanje matematickih problema. Pa koga interesuje da baci pogled i na Mathematica. z:) ne znam koja je verzija sada aktuelna, ali ja i dalje drzhim 5-icu jer je help najprakticnije uradjen.
 

Back
Top