Kodiranje ≠ računarske nauke — Kako ovo utiče na vaš kod

Računarsko razmišljanje jedna je od najbitnijih sposobnosti koju bi svi, a ne samo programeri, trebalo da razviju — samo tako možemo pružiti najbolje vremenu u kom živimo.

Marija Gavrilov - 13. April, 2016.

Računarsko razmišljanje podrazumeva korišćenje istraživačkog razmišljanja u otkrivanju rešenja. Uključuje planiranje, učenje i raspoređivanje u prisustvu neizvesnosti.

Ovako je Dženet M. Ving, profesorka kompjuterskih nauka i korporativna potpredsednica Microsoftovog Research-a, u svom članku iz 2006. opisala ono što smatra jednom od najbitnijih sposobnosti u 21. veku — računarsko razmišljanje.

U članku ona iscrpno govori o značenju onoga što zovemo programiranjem i pravi bitnu razliku između kodiranja i računarskih nauka. Ovde do izražaja dolazi onaj momenat kada valja shvatiti zašto nije dovoljno ohrabrivati mlade naraštaje da “nauče da programiraju”, već im pomoći da nauče i da razmišljaju.

Učiti kodiranju jednako je učiti pisanju. Znate tehniku, skraćenice, slova, oznake, ali je na kraju, ono što iskomunicirate najbitnije. Svakako, znati kodirati je dobra početna pozicija za kvalitetan posao ovih dana, ali će vam poznavanje razmišljanja omogućiti da na stalno-promenljivom tržištu ostanete kompetitivni.

Preporuka je da pročitate članak koji je Dženet objavila, a u nastavku je kratak deo preveden i prilagođen:

Šta jeste, a šta nije?

Mnogi izjednačavaju kompjuterske nauke sa kodiranjem. Neki roditelji vide samo uzak asortiman poslovnih mogućnosti za svoju decu koja se školuju u domenu kompjuterskih nauka. Mnogi misle da su osnovna istraživanja u kompjuterskim naukama obavljena, a da preostaje samo inženjering.

Računarsko razmišljanje je velika vizija koja bi trebalo da vodi edukatore, istraživače i praktičare dok zajedno radimo na tome da se pogled čitavog društva prema ovom polju promeni. Posebno moramo da dosegnemo srednjoškolsku publiku, uključujući i nastavnike, roditelje i učenike/ce, sa dve osnovne poruke:

Kompjuterske nauke izučavaju računanje — šta se može računati i kako.

Oni koji se obrazuju u kompjuterskim naukama mogu da rade sve. Neki studiraju engleski ili matematiku, ali završe na potpuno drugačijoj karijernoj putanji. Isto važi i za kompjuterske nauke. Oni koji studiraju kompjuterske nauke mogu izgraditi karijeru u medicini, pravu, biznisu, politici, bilo kojoj vrsti inženjerstva, pa čak i umetnosti.

Računarsko razmišljanje ima sledeće osobine:

Konceptualizacija, ne kodiranje. Kompjuterske nauke nisu kompjutersko kodiranje. Razmišljati u duhu kompjuterskog naučnika podrazumeva više od poznavanja programiranja kompjutera. Ono zahteva razmišljanje na više nivoa abstrakcije;

Osnovna, ne repetitivna znanja. Osnovna znanja su ono što svako ljudsko biće mora da zna kako bi funkcionisalo u modernom društvu. Repeticija podrazumeva mehaničku rutinu. Ironično, sve dok kompjuteri ne reše AI Grand Challenge i počnu razmišljati kao ljudi, njihovo funkcionisanje će biti repetitivno.

Ljudsko, a ne kompjutersko razmišljanje. Računarsko razmišljanje je način na koji ljudi rešavaju probleme; ono nije pretvaranje ljudskog razmišljanja u računarsko.

Kompjuteri su glupi i dosadni; ljudi su pametni i kreativni. Mi činimo kompjutere uzbudljivim. Opremljeni računarima, koristimo sopstvenu pamet u rešavanju problema sa kojima se ne bismo ni hvatali u koštac pre ere kompjutera i gradimo sisteme čija funkcionalnost je ograničena samo našom maštom.

Dopunjuje i kombinuje matematičko i inženjersko razmišljanje. Kompjuterske nauke nerazdvojivo su povezane sa matematičkim razmišljanjem, uzevši u obzir da im se formalne osnove, kao i svim ostalim naukama, oslanjaju na matematiku. Kompjuterske nauke su u vezi i sa inženjerskim razmišljanjem, s obzirom na to da gradimo sisteme koji interaguju sa stvarnim svetom.

Ograničenja osnovnih kompjuterskih uređaja teraju kompjuterske naučnike da razmišljaju računarski, a ne samo matematički. Sloboda da gradimo virtualne svetove omogućava nam da kreiramo sisteme izvan fizičkog sveta.

Ideje, ne artifakti. Neće samo softver i hardver koji stvorimo biti sveprisutni i dodirivati živote. To će činiti i računarski koncepti koje koristimo da priđemo problemima i rešimo ih, upravljamo sopstvenim životima, komuniciramo i interagujemo sa drugima.

Za sve, svuda. Računarsko razmišljanje biće stvarnost kada postane sastavni deo ljudskih napora, tako da nestane kao eksplicitna filozofija.

Intelektualno zahtevni i privlačni problemi i dalje su otvoreni za razumevanje i rešavanje. Domeni problema i rešenja ograničeni su samo našom radoznalošću i kreativnošću; i

Profesori kompjuterskih nauka trebalo bi da predaju kurs “Načini da razmišljate kao kompjuterski naučnik” rano na fakultetu i svim studentima, a ne samo onima koji to studiraju. Srednjoškolce bi trebalo otvoriti ka komputacionim modelima i metodima.

Umesto što plačemo nad sve nižim interesovanjem za kompjuterske nauke ili smanjenjem finansiranja istraživanja u kompjuterskim naukama, trebalo bi da pokušamo da inspirišemo javnost intelektualnim avanturizmom ovog polja.

Tako ćemo proširiti radost, strahopoštovanje i moć kompjuterskih nauka, težeći da računarsko razmišljanje normalizujemo.

?>