[quote=""]- When I started programming we didn’t have any of these sissy “icons” and "windows. All we had were zeros and ones – and sometimes we didn’t even have ones. I wrote an entire database program using only zeros.
You had zeros? We had to use the letter “O”.[/quote]
Ovo je jako lipo. Bar da san 35 godina mlađi.
Za totalne početnike je dobar Just Basic iako je basic odavno out. Mislim s pravom. Star je i danas ima toliko toga svrsihodnijeg. Ako ga ko želi koristiti nek skine udžbenik:
Kratki tečaj osnovnih koncepata u računarstvu od niže razine prema višoj razini apstrakcije - binarni brojevni sustav, binarna logika, računalna arhitektura, operacijski sustavi, procesi, virtualna memorija, prevodioci i vezani alati, sistemske biblioteke, ulaz/izlaz.
Vrlo klasičan pristup učenju programiranja, odličan za sve koji su krenuli iz skriptnih jezika da im malo ukloni jednu veliku koncepcijsku slijepu točku u osobnom im programerskom vidnom polju.
Priča o izgradnji prvog računala temeljenog na tzv. von Neumannovoj arhitekturi. Video od 15-tak minuta, možete uključiti titlove za lakše praćenje.
Radi se o računalu nastalom nakon ENIAC-a, a koje se baš ne spominje često, iako je važan korak u razvoju današnje arhitekture računala, jer je taj dizajn zapravo idejni dizajn današnjih procesora.
Jedna od temeljnih spoznaja za programera je shvatiti koliko je koncept “programirljivog stroja”, stroja čije se ponašanje može mijenjati ovisno o nekakvoj praktički nematerijalnoj podlozi, nevjerojatan i zapravo težak za percipirati.
Ako imate nešto ozbiljniju namjeru zaokružiti vašu teorijsku podlogu, obratite pažnju na predavanja iz predmeta Struktura i interpretacija računalnih programa:
Između sebe, autori ove knjige su učinili da upravo algoritimi i strukture podataka budu osnovica načina na koji se podučava računarstvo. Ullman je jedan od prvih istraživača baza podataka, a (za one kojima to više znači) i jedan od osnivača Googlea. Tko je čuo za ove autore ne treba mu ništa pojašnjavati.
Kroz izbornik na desnoj margini se pristupa video-zapisu predavanja (28 školskih sati), pisanim bilješkama, problemskim i programskim zadacima s rješenjima (9 zadataka), oglednom ispitu s rješenjima i softveru potrebnom za predavanja.
Na MIT-u razvijaju tečajeve za samoučenje, naziva OCW Scholar:
Tečajevi su iz različitih područja - matematika, kemija, fizika, ekonomija.
[hr][/hr]
Iz područja računarstva je otvoren tečaj “Uvod u računarstvo i programiranje” - programski jezik izbora je Python (!), što će mnogima biti privlačno.
[hr][/hr]
MIT ima publikacijski program pod nazivom OCW (OpenCourseWare) - koji sadrži praktiči sadržaj svih predavanja s MIT-a. Neki linkovi su dani i ranije u ovoj temi. OCW Scholar je, međutim, program koji sadrži više od samih predavanja s “normalnog” OCW-a - namijenjen je samoučenju i ima dodatne sadržaje i prilagođene materijale s predavanja.
Koliko bi mi trebalo vremena da naučim programirati u Javi do nivao izrade mobile applikacija, ako se uzme u obzir da nemam predznanje osim nesto malo osnove iz C#, asp.net.
Mozda 1 godina, pola godine, mozda 100, neznam, sta vi mislite?
Znaci krecem od pocetka i imam jaku volju, slobodnog vremena onako srednje…
Koliko poznaješ jedan jezik 4. generacije, toliko poznaješ i bilo koji drugi - potrebno je nešto malo rada (recimo mjesec, dva) da novi jezik “legne” u naučene koncepte.
A što se programiranja tiče - ono nema veze s programskimi jezicima. Koliko ti vremena treba da iz tvoje razine znanja dođeš do razine potrebne za samostalnu izradu bilo koje vrste klijenta na mobilnom uređaju… to ti nitko ne može reći. Jer to nije nešto što učiš, pa onda radiš, već je nešto što savladavaš i razvijaš rješavajući različite vrste problema.
Ovdje u temi su ti dani linkovi na cijeli niz predavanja tipa “uvod u programiranje”. Odaberi jedno (možeš i ovo gdje se koristi Java) i kreni. Kada ćeš to završiti imat ćeš razumjevanje programiranja koje ima većina ljudi koji krenu raditi. Dalje je na tebi. Ako želiš malo podignuti teorijsku razinu, odaberi nakon toga neko predavanje koje ima naziv “paradigma” u sebi (odn. neki tečaj koji nema “uvodno”).
Postoji jedna fora kod učenja programiranja.
Normalno važno je naučiti kako, no prilikom učenja važnije je učiti što taj kod radi.
Recimo za primjer implode, explode u PHP, iskreno da mi udarite test trebao bih pošteno razmisliti što mi treba da array pretvorim u string ili okrenuto.
Ali to nije važno, važno jest da znam da postoji nešto što pretvara varijablu sa više polja u jednu i u okrenuto.
To je bit, a kako ću ja to napraviti to je ništa drugo nego jezična konstrukcija.
A to je dimenzija koja se zapostavlja kod učenja programiranja.
I najbolji primjer jest Regex. Ne učiš kako nešto napraviti jer ako radiš u tri jezika u svakom su malo drugačija pravila i stalno su drugačiji zahtjevi za riješenje.
Ukratko nije ponta foreach da prolazi nešto što se zove kontruira sa array(), već je ponta da se njime prolazi kroz svako polje u varijabli sa više polja.
I onda odmah to stečno vrijedi i za JS gdje se tako nešto zove for in.
Zato se uvijek kreće s primjenjenom matematikom, tokovima dijagrama, proceduralnim jezicima(Pascal, c) pa tek onda nešto OO i high level jezici. Ja bih rekao da je važno naučiti ili još bolje usvojiti, ukoliko se to uopće može, logiku programiranja ili programsku logiku, nego nekakvu sintaksu nekakvog programskog jezika. E, a tu postoji jedan problem, puno, puno, puno suhoparne teorije o binarnom i heksadecimalnom sustavu, memorijskim prostorima, nizovima itd. itd., a ljudima se to neda učiti jer su željni odmah vidjeti nekakav rezultat, makar nakon rezultata nemaju pojma kako su i zbog čega dobili upravo taj rezultat koji su dobili.
Potpisujem izjavu CreatifCode-a. Bitno je shvatiti logiku programiranja, sve ostalo su samo različite sintakse. Jednom kada shvatiš, kada ti logika programiranja postane jasna, tada je sintaksa samo alat.
Tada više nije bitno radiš li u assembleru, C++, ASP-u, PHP-u, javi, javascriptu…
… u najmanjem slucaju da si polomim one neke psihicke blokade da nemrem programirati posto u biti cijeli zivot sa matematikom sam bio kita labudova, dok sam sa ovom drugom iliti “desnom stranom mozga” uvijek bio na ti…