Učenje programiranja

poruka: 73
|
čitano: 21.720
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
RE: Učenje programiranja
Quantum kaže...
naxeem kaže...

Razumjeti matematiku ili fiziku nešto je sasvim drugo. Ako učiš te predmete tako da ih razumiješ, vježbanje zadataka ti uglavnom ne treba (treba da stekneš osjećaj kod integralnog računa/analize) i ako zaista kužiš te stvari, programiranje ti dolazi kao logična primjena matematičkih i fizičkih metoda koje su logične.

Problem je što se programiranje ne može naučiti šablonski; nema "tipova zadataka", nema gotovih rješenja za sve probleme i putevi rješenja su proizvoljni i fleksibilni. Takva situacija s programiranjem zakoči one "inače dobre matematičare" koji zapravo matematiku ne znaju.

S većim dijelom posta se sasvim slažem, ali s ovime ne, pa samo da dam svojih 5 centi.

Što se tiče matematike, mislim da je sasvim krivi pristup zagovarati općenito nevježbanje zadataka. Znati praktično riješiti zadatak je jednakovrijedno kao i poznavanje pripadajućeg teorijskog modela. Međutim, mislim da tu treba uočiti jedan bitan moment - IMHO, ta dva procesa (teorijska spoznaja i razumijevanje plus praktično rješavanje) trebala bi biti tretirana kao neraskidivi.  Drugim riječima, trebalo bi testove postaviti tako da se učenika/studenta prisili da uz rješenje konkretnog zadatka odgovara i na pitanje "zašto". Primjerice, uvjetovati rješenje matrične jednadžbe objašnjenjem i primjenom Kronecker-Capellija na sam zadatak. Ili, pokazati zašto je primijenjeno L'Hospitalovo pravilo u zadatku i koja je veza s Rolleovim teoremom. Ili, u zadatku sa Taxicab geometrijom pokazati zašto je smio upotrijebiti formulu koju je upotrijebio i kako je to vezano s općenitim metričkim prostorima (Hausdorff). I tako dalje.

Međutim, postave li se tako stvari, tu se onda pojavljuje nekoliko pitanja - prvo, tako postavljeni zadaci zahtijevali bi i veći angažman profesora pri izlaganju materije. Drugo, tako postavljeni zadaci zahtijevali bi da sami (srednjoškolski) profesori matematike jako dobro razumiju materiju koju izlažu - a to, u oba slučaja nažalost, nerijetko nije tako i ne znam koliko je to realistično očekivati u ovoj zemlji (u razloge ne bih sada ulazio).

Bottom line - učenje matematike mora ići učenjem postupaka rješavanja, ali s big picture na umu. Učenjem postupaka i tehnika lagano se povećava složenost i napreduje, a o tome pričamo. Vrlo je rijetka privilegija imati priliku raditi s čovjekom koji asimilira zadatak iz teorije, pa mu vježbanje nije potrebno. To su prodigies, matematski geniji kojih ima možda 1 na 100 000. Mislim da većina ljudi jednostavno tako ne funkcionira, a očito je da to uvažava nastavna metodika i didaktika.

Slično je i s programiranjem - valja jednostavno naučiti i shvatiti par tuceta klasičnih algoritama, trikova i prečaca koji olakšavaju stvari. Nakon toga, stvari jednostavno "kliknu" i spreman si za dalje. Ne treba valjda niti reći da je poznavanje pripadajuće teorije i analize ključno tijekom samog procesa učenja.
Pazi, ne znam koliko sam bio jasan u tom dijelu svog posta, ali moj stav nije bitno drugačiji od tvog.
Rekoh "uglavnom ne treba", ali nikako da se potpuno izbaci. Naime, nije problem u vježbanju ili nevježbanju zadataka jer je i teoriju teško apsolvirati bez primjene u kojoj ćemo je razumjeti; smatram pogrešnim nabacano vježbanje u kojem se forsira memoriranje tehnika za tipove zadataka po principu "učenja na pamet". Učenik/student koji tako uči pri prvoj promjeni redoslijeda poslova u zadatku izgubi se i blokira. Isto je i kod programiranja; ja ne mogu doći sebi od te gluposti, ali neki od mojih kolega uspjeli su preživjeti faks i doći do diplomskog rada (kojeg neće nikada napisati dok im to ne obave drugi kolege), a nisu sposobni napisati najgluplji program čak ni da im je knjig u ruci s pristupom googleu. Jednostavno ne kuže ni osnovnu logiku jer su sve što su položili naučili na pamet. Kako je moguće da netko završi studij računarstva, a samostalno ne zna napisati liniju koda? Pojma nemam... akcija Indeks?!

Poanta i matematike i programiranja je da se nauči primijeniti teoriju u praksi. Zadaci i njihovo vježbanje morali bi biti tu isključivo u funkciji razumijevanja teorije i stjecanja logike koja se tu primjenjuje. Metoda traženja ekstrema funkcije itd. nije ništa doli algoritam.
Učenje formula na pamet? - Ne valja. Formule moraju biti dostupne, a primjena je ono što pokazuje znanje. - Zadaci iz programiranja se daju s pristupom svim mogućim resursima, jer to se i očekuje od inženjera, da se snađe i iskoristi dostupne informacije, a ne da na pamet uči sintaksu scanfa.
Mislim da nisi u pravu s ovim o genijima jer sam ja matematiku učio baš na taj način, učenjem teorije, pregledom primjernih zadataka tj. primjene teorema i izvedenih formula i razumijevanjem izvoda, odnosno načina na koji se izvod dogodio, a genijem se ne smatram, pogotovo ne matematičkim jer nikad nisam imao sve petice iz matematike (dapače, često sam dobijao jedinice jer bih riješio zadatak "u glavi" pa mi je "nedostajao postupak"), a i jer mi je iq jedva nešto preko 140, a geniji su otprilike 170+ koliko znam, dok je 130 prosjek matematičkog fakulteta. Istina, programiram od osnovne pa sam možda putem stekao logiku i algoritamsko razmišljanje, ali mislim da je ključan dio i matematike i fizike i programiranja upravo ono što je tim dvjema znanostima i zajedničko: princip varijabli i njihovih međusobnih odnosa.

Metoda učenja matematike, fizike i programiranja trebala bi se u našem školstvu iz korijena promijeniti. Punjenje normi kod ispita i satnica je pogrešna metoda. Sada kada sam prošao sve stupnjeve obrazovanja, jasno mi je koliko je loša metoda učenja u školama i osnovnim i srednjim; na fakultetu je situacija nešto bolja, ali minimalno, jer svi idu linijom manjeg otpora - preko šalabahtera, prepisivanjem, učenjem na pamet...
Mnogi su zamrzili matematiku zbog lošeg pristupa, zbog nulte razine objašnjavanja i nedostatka odgovora na pitanje "zašto?". Ja sam i sam tijekom osnovne i srednje škole matematiku izbjegavao tako da joj nisam posvećivao više od minimuma potrebnog za neki prosjek, istovremeno se čudeći kakve veze ima programiranje koje "rasturam" s tim kupusom od znanosti. I to je trajalo sve dok nisam napisao svoj 3d renderer i naetio na matrice "ah, a to je matematika?!"i shvatio da sam tu vražju matematiku naučio samostalno bolje nego ikada u školi samo zato jer sam je učio s nekim ciljem i razumijevanjem umjesto da sam mehanički memorirao kako ispuniti normu za "kontrolni". Integrale nisam naučio u matematici četvrtog razreda, nego kad sam jednom strojaru pisao program da mu "računa neke gluposti"....
Naš obrazovni sistem je loš i to što su zadaci i vježbanje potrebni za razumijevanje potpuno se izokrenulo u to da su ti zadaci sami sebi i finalnoj ocjeni svrha. Isto i s programiranjem čak i na fakultetima.

Zbog takvog stanja, meni je sasvim jasno zašto matematiku, fiziku i programiranje "mrzi" puno više učenika i studenata nego je to normalno i nego bi to trebalo biti i na kraju, sasvim mi je jasno zašto niti jedan naš fakultet nije među prvih nekoliko stotina ili tisuću u svijetu.
Šteta. Imamo sposobnih i pametnih ljudi, ali i puno potencijala koji je neiskorišten jer se zbog lošeg obrazovnog sustava previše izgubi jer nemaju svi priliku ni volju samostalno izgrađivati svoje znanje, niti je to uvijek moguće.
Avatar odgovara mojim reakcijama dok čitam ovaj forum...
Poruka je uređivana zadnji put ned 12.4.2009 1:00 (naxeem).
17 godina
offline
RE: Učenje programiranja
naxeem kaže...
/
 
Veliki potpis na sve rećeno. Meni ide i matematika i fizika (još sam u srednjoj), ali mi je žao što učimo na potpuno krivi način. Čak i kad se inzistira na zadatcima - to je učenje tehnika rješavanja određenog zadatka, odnosno samo jedan put do njegovog rješenja. Vrlo rijetko (ili nikad) se spomene zašto je odabran taj put i koja mu je podloga u teoriji. Ustvari, velik dio gradiva učimo na način da pregledamo formule i zadatke vezane uz taj dio gradiva. Tako smo, npr., pojam "energije" susreli već u osnovnoj školi, i to na način da smo nabrojali njene vrste i ispisali neke važnije formule vezane uz kinetičku. To je čisto učenje napamet - nigdje nije bilo rečeno što je to doista energija, odnosno na koji način bismo o njoj trebali razmišljati. Tek je u srednjoj bolje definiran taj pojam. Naravno, ima profesora koji se trude, ali to je tek manjina - dobar dio niti sam ne razumije gradivo koje predaje. Uostalom, na takve profesore se i malo ljudi buni jer oni traže memoriranje teorije ili tehnike rješavanja zadatka - a većinu učenika/studenata niti ne zanima više od toga.
16 godina
neaktivan
offline
Učenje programiranja

Evo ja sam više-manje početnik u programiranju. Jel bi mi mogao netko preporučiti neku stranicu za učenje jave ili flasha.

Netreba mi ništa jako napredno.

Moj PC  
0 0 hvala 0
17 godina
offline
Učenje programiranja

Evo ovako da skratim kompletnu pricu:

 

Ucenje programiranja je jako tezak i dugotrajan proces. Nikad necete nauciti sve, taman kad dodjete na neki nivo znanja, ta tehnologija ce zastarit tako da ste opet na startu. Ocekujte promjenu dioptrije na gore, psihickog stanja na jako gore jer ce vas hebeni tocka zarez koju necete vidit izbacit iz takta da cete razbijat sve okolo i ocekujte da cete pocet pricat sa kompom i spominjat mu majku i mlatit ga.

 

Programer i sluzba za korisnike je najgori moguci posao na svijetu. Psihicki iscrpan, zatupljujuc (jer cete 70% vremena provodit pisajuci iste rijeci, izraze i slicno). Da sam znao sto me ceka trenirao bi nogomet i postao reprezentativac :)

 

U svakom slucaju, posao nije lak, zeznete jednu jedinu liniju koda, aplikacija pukne, sef se izdere na vas. Klijent klikne nemogucu kombinaciju (ni on sam nezna kako je dosa do toga) i aplikacija pukne, sef se izdere na vas. Dio programa koji ste odradili ono eto, samo da radi a nece sluziti nicemu u 99.9% slucajeva, e pa klijent bas to ide kliknit, pukne program, sef opet po vama (khm... nije da ovo pricam o primjeru sebe hi hi hi) ali u svakom slucaju... Nije lako...

 

Pa sad vi ucite programiranje ili ajte vani pit kavu...

 

E da sam znao :)

I'm going woo woo
 
0 1 hvala 0
17 godina
neaktivan
offline
Učenje programiranja

Ja ne radim niti deset godina, a već sam siguran da bih u slučaju ponovnog odabira, birao neki društevni predmet ili... biologiju... ili... rado iša' navigavat npr. :)

Avatar odgovara mojim reakcijama dok čitam ovaj forum...
Moj PC  
0 0 hvala 0
17 godina
protjeran
offline
RE: Učenje programiranja
tnakir kaže...

Evo ovako da skratim kompletnu pricu:

 

Ucenje programiranja je jako tezak i dugotrajan proces. Nikad necete nauciti sve, taman kad dodjete na neki nivo znanja, ta tehnologija ce zastarit tako da ste opet na startu. Ocekujte promjenu dioptrije na gore, psihickog stanja na jako gore jer ce vas hebeni tocka zarez koju necete vidit izbacit iz takta da cete razbijat sve okolo i ocekujte da cete pocet pricat sa kompom i spominjat mu majku i mlatit ga.

 

Programer i sluzba za korisnike je najgori moguci posao na svijetu. Psihicki iscrpan, zatupljujuc (jer cete 70% vremena provodit pisajuci iste rijeci, izraze i slicno). Da sam znao sto me ceka trenirao bi nogomet i postao reprezentativac :)

 

U svakom slucaju, posao nije lak, zeznete jednu jedinu liniju koda, aplikacija pukne, sef se izdere na vas. Klijent klikne nemogucu kombinaciju (ni on sam nezna kako je dosa do toga) i aplikacija pukne, sef se izdere na vas. Dio programa koji ste odradili ono eto, samo da radi a nece sluziti nicemu u 99.9% slucajeva, e pa klijent bas to ide kliknit, pukne program, sef opet po vama (khm... nije da ovo pricam o primjeru sebe hi hi hi) ali u svakom slucaju... Nije lako...

 

Pa sad vi ucite programiranje ili ajte vani pit kavu...

 

E da sam znao :)

 Meni se čini da ti i nisi baš previše upućen u profesionalno programiranje.

Prvo, znanje i iskustvo koje stekneš vrijedi puno više nego li bilo kakva nova tehnologija. Ti kada naučiš programirati tj. principe programiranja tada ti je tehnologija i programski jezik najmanje bitan jer tada učenje nečeg novog se svodi na samo učenje sintakse, dok način razmišljanja (konecpcija slaganja algoritama) je ono što je zapravo bitno.

Drugo, nema tog posla koji je nije zatupljujući. Zamisli onda kako je raditi kao sistem admin s nekoliko certifikata i gomilom škole, a posao ti se zapravo svodi na to da čekaš da se nešto pokvari. Da... stvarno motivirajuće i uzbudljivo. I opet ljudi masovno idu na CISCO i MS akademije. Tako i sa programiranjem. Iako u većini slučajeva koristiš iste izraze (ključne riječi) svaki put iznova naprežeš mozak i svaki program možeš riješiti na desetke različitih načina, dok kod instalacije Windowsa to se baš i ne može reći.

Treće, Ja neznam u kakvoj ti firmi radiš, ali ja nikada nisam čuo da se šef na nekoga dere što je napisao krivu liniju koda. Svaka softwareska kuća koja imalo drži do sebe i svog ugleda će svakako prije puštanja aplikacije u prodaju/rad napraviti pošteni niz testova. Svi su svjesni ljudskog faktora pogreške i zato se to i radi. Zato postoje i formalni testovi (matematičke metode), code, unit, integracijski, system i acceptance testovi tj. kombinacije white box, black box i ostalih testova. To što taj šef se nije pobrinuo da se i taj dio posla obavi kako spada je samo njegova greška. A ako se već šef dere na tebe eto ti prilike da se obogatiš. Tužiš za mobing i dobiti ćeš toliko novaca da se nećeš više morati baviti programiranjem Namigiva.

I također, moj vid je savršen i još nikada bez obzira na problem na koji bih naletio nisam živčanio i pričao s računalom. Meni je taj problem zapravo samo izazov, a ne nešto zbog čega ću gubiti živce. No istina je da mnogo ljudi posao doživljava previše stresno, ali to je već općenit problem i ne vezan samo za programiranje. Čak u većini slučajeva ljudi donesu probleme od kuće na posao i obrnuto..

I za kraj, ja sam se i sportom bavio profesionalno. 11 godina TaeKwon-Doa, položio II.DAN c.p., bio natjecatelj, sudac, trener itd itd.. i kad sad pogledam nemam apsolutno ništa od toga u životu, dok od programiranja mogu reći da lijepo živim.

Svaki posao je onakav kakvim ga doživljavaš tj. kakvim si ga predstaviš. Ako posao umjesto komplikacije predstaviš si kao izazov onda će ti vrijeme puno brže proći i s mnogo manje živciranja.
Poruka je uređivana zadnji put uto 14.4.2009 20:19 (Tracer).
17 godina
offline
RE: Učenje programiranja
naxeem kaže...

Ja ne radim niti deset godina, a već sam siguran da bih u slučaju ponovnog odabira, birao neki društevni predmet ili... biologiju... ili... rado iša' navigavat npr. :)

 Navigavaaaaat... znas da se ja jos mislin... I razmisljan duboko o tome...
I'm going woo woo
17 godina
offline
RE: Učenje programiranja
tnakir kaže...
naxeem kaže...

Ja ne radim niti deset godina, a već sam siguran da bih u slučaju ponovnog odabira, birao neki društevni predmet ili... biologiju... ili... rado iša' navigavat npr. :)

 Navigavaaaaat... znas da se ja jos mislin... I razmisljan duboko o tome...
 Tracer onda si ti u dobroj firmi... a ja sam ljubomoran... :)
I'm going woo woo
17 godina
protjeran
offline
Učenje programiranja

Pa nije baš da je i kod mene med i mlijeko ali zadovoljan sam ;) Uglavnom, pitaj programere koji rade u bankama pa će ti oni možda najbolje znati reći kako se radi u krajnje profesionalnim okolinama.

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: Učenje programiranja

 

Ako hoćeš biti sretan jedan dan - napij se.

 

Ako hoćeš biti sretan tjedan dana - oženi se.

 

Ako hoćeš biti sretan cijeli život - budi vrtlar.

 

(stara japanska)

17 godina
offline
RE: Učenje programiranja
Tracer kaže...

Pa nije baš da je i kod mene med i mlijeko ali zadovoljan sam ;) Uglavnom, pitaj programere koji rade u bankama pa će ti oni možda najbolje znati reći kako se radi u krajnje profesionalnim okolinama.

 Heh a koliko je takvih firmi u hrvatskoj :(((

Jako malo...
I'm going woo woo
17 godina
offline
RE: Učenje programiranja
tnakir kaže...
Tracer kaže...

Pa nije baš da je i kod mene med i mlijeko ali zadovoljan sam ;) Uglavnom, pitaj programere koji rade u bankama pa će ti oni možda najbolje znati reći kako se radi u krajnje profesionalnim okolinama.

 Heh a koliko je takvih firmi u hrvatskoj :(((

Jako malo...
Hahaha, bolje da neznate Smijeh. Šalim se, profesionalnost je na najvišoj razini. Ja sam prije radio u jednoj "privatnoj" firmi i to su dva svijeta koja se uopće ne mogu uspoređivati. Ja zadovoljanSmijeh

EDIT: Ajde ispravim se. Mislio sam reći da je profesionalnost puno veća nego u firmi u kojoj sam prije radio. A tu mislim na izradu dokumentacije, dokumentiranje koda, odnos sa zaposlenicima, testiranje itd...
"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
Poruka je uređivana zadnji put sri 15.4.2009 9:37 (dado2202).
16 godina
neaktivan
offline
RE: Učenje programiranja

A di to sad radis da je profesionalnost tako na razini i da si tako zadovoljan?

Nova poruka
E-mail:
Lozinka:
 
vrh stranice