Da li svi treba da uče da programiraju? Kako se menjao naš stav tokom 45 godina kućnih računara

Od prvog „pravog" kućnog računara Altair 8800, preko Commodore 64, ZX Spectrum i grafičkog interfejsa Macintosh 128k, do bebe koja koristi iPad.

Đaci u Srbiji su pre izvesnog vremena počeli da uče osnove programiranja na časovima Informatike i računarstva. O tome kako je tekla borba za uvođenje ovog kurikuluma možete pročitati u našem članku. Ipak, ova ideja još uvek nije u potpunosti prihvaćena od strane javnosti. I dalje se veliki broj ljudi pita zašto je neophodno da deca uče programiranje.

Verovatno je prirodno da se ljudi protive promenama, pogotovo kada su ovih razmera. Naravno da ništa nije neophodno da se zna. Naravno da nije neophodno čak ni biti pismen. Ali, velika je verovatnoća da u životu nećete čak ni sresti osobu koja ne ume da čita i piše, tako da ste u ozbiljnom problemu ako vi ne umete. Programersku pismenost, prihvatili mi to ili ne, stiče sve veći broj ljudi. Danas se podrazumeva da umete da koristite računar, a polako počinje i da se podrazumeva da razumete bar osnove kodiranja.

Iako deluje da je ovo novi pravac u kome se društvo kreće, ideja o tome da svi treba da uče programiranje sazreva tokom više decenija. U jednom od razgovora sa Nebojšom Vasiljevićem, direktorom fondacije Petlja, dotakli smo se teme istorije odnosa društva prema programerskoj pismenosti. On je pristao da priča sa nama o bitnim prekretnicama u ovom polju, od kojih je nekima i sam bio svedok.

Talas 1: Prvi kućni računari

Sredinom sedamdesetih godina prošlog veka, računari su polako počeli da izlaze van zidova institucija i korporacija i da se useljavaju u privatne domove. Sve do tog trenutka, računari su uglavnom bili rezervisani za stručnjake i istraživače.

Godine 1974. na tržištu se pojavio, ono što se smatra za, prvi pravi kućni računar. U pitanju je Altair 8800, koji se smatra prvim ličnim računarom zbog toga što je predstavljao prvi komercijalno uspešan pokušaj. Ovaj računar je morao da bude programiran preko prednjeg panela što je bio vrlo naporan i neefikasan metod. Pol Alen i Bil Gejts su čitali o Altairu 8800, shvatili da je tržište kućnih računara na ivici da eksplodira i prepoznali svoju priliku. Implementirali su programski jezik BASIC za Altair koji je značajno olakšao programiranje na toj mašini. Ovo je ujedno bio i prvi projekat kompanije Microsoft.


Stiv Voznijak je 1976. dizajnirao i izradio Apple I. Njemu i Stivu Džobsu traženo je da svoje mašine unapred testiraju i „spakuju”. Do tada je praksa bila da se računari prodaju u komponentama, koje je onda korisnik morao sam da sklapa. Ideja je bila da se računari prilagode ljudima koji su samo hteli da ih koriste, bez želje da se bave hardverom. Godine 1977. su se pojavili Apple II, Commodore PET i TRS-80. Ova tri računara su pratila istu filozofiju i postala toliko popularna da je fokus industrije prebačen na razvoj softverskih aplikacija za krajnje korisnike.

GUI (grafički korisnički interfejs) i miš su već tada postojali na tržištu u raznim oblicima. Najpoznatija mašina koja je koristila ove tehnologije dugo je bio Xerox Alto iz 1973. Zbog visoke cene proizvodnje nikada nije ušao u široku prodaju, ali je predstavljao preteču modernog grafičkog korisničkog interfejsa.

Do popularizacije i konačne dominacije GUIa, trebalo je da prođe još vremena. Dakle, korisnici prvih kućnih računara su morali da poznaju bar osnove tekstualnog kodiranja.

Talas 2: Programiranje kao deo nastave

U članku koji je Nebojša Vasiljević pisao za „Nastavu računarstva” 2015. godine, spominje šta se nekada smatralo za standard.

Poglavlja korisničkog uputstva za Commodore 64 su bila: Raspakivanje i povezivanje, Tastatura Commodore-a 64, Korišćenje softvera, BASIC – programski jezik, Programiranje u BASIC-u, itd. Dakle, dva poglavlja nakon objašnjenja kako se uređaj uključuje u struju i šta znači koji taster na tastaturi, sledi uvod u jedan programski jezik.

Međutim, razlog tome nije bilo razumevanje značaja programiranja, već činjenica da je BASIC predstavljao osnovni korisnički interfejs koji se pojavljuje kada se računar uključi.

Commodore 64 i ZX Spectrum su se na tržištu pojavili 1982. Godine. Ova dva računara su bila neverovatno uspešna, a danas su praktično deo pop kulture.

U to vreme se na tržištu se pojavio i jugoslovenski do it yourself računar Galaksija koji je sastavio Voja Antonić. Naime, on je došao na ideju kako može jednostavno i ekonomično da se napravi video jedinica koja je bila najkomplikovanija stvar za tadašnje kompjutere. Tada je časopis „Galaksija” objavljivao specijalno izdanje o računarima koje je trebalo da se zove „Računari u vašoj kući”, a rezultat je nadmašio sva njihova očekivanja — na kraju se javilo 8.000 ljudi kojima je pošlo za rukom da naprave računar.

Računar koji se pojavio maltene u isto vreme, a o kome se danas malo priča (bar van Ujedinjenog Kraljevstva), jeste BBC Micro, koji je dizajniran za potrebe projekta širenja računarske pismenosti u UK. Program koji je trajao čitavu deceniju, posledica je inicijative BBCa i britanske Vlade. Oni su kodiranje prepoznali kao znanje budućnosti i postavili cilj da se đaci obuče da sami prave jednostavne aplikacije. BBC Micro je, takođe, koristio verziju BASIC programskog jezika, koja je bila prilagođena početnicima. Sa ovog linka entuzijasti mogu i da skinu tu verziju BASIC-a.

U to vreme, to se smatralo za najnormalniju stvar na svetu. Kada ste uključivali Commodore 64 ili ZX Spectrum, oni su se butovali u BASIC promptu. Da biste učitali igricu bilo je potrebno da otkucate BASIC komandu LOAD i pritisnete PLAY dugme na kasetofonu, a ukoliko ste bili retki srećnik koji ima floppy disk drive, uz komandu LOAD ste morali da navedete naziv fajla i broj koji označava uređaj (sećam se da je taj broj obično bio 8). Ukoliko se program ne startuje automatski, nakon učitavanja je bilo potrebno izvršiti komandu RUN. Znači, osnovni korisnički interfejs je bio programski jezik BASIC.

Daleko od toga da je inicijativa BBCa bila hronološki prva ideja da se deca nauče kodiranju. Na primer, programski jezik namenjen učenju – LOGO – datira još iz 1967. Kako smo, onda, došli u današnju situaciju? Zašto je osamdesetih u nekim školskim sistemima bilo normalno da deca uče programiranje, a trideset godina kasnije postoji otpor prema ideji?

Talas 3: Dominacija GUI-a

Prethodni talas je okončan tako što se u većini škola na kraju prešlo na korišćenje računara bez programiranja. Na kraju su preovladale ideje tehnološkog opismenjavanja koje su isključivo orijentisane na korišćenje tehnologije.

Jedan od najpoznatijih momenata u istoriji kućnih računara sigurno je reklama za Macintosh 128k. Te 1984, za vreme finala prvenstva u američkom fudbalu, predstavljen je računar koji je mnogima promenio mišljenje o tome kome su ove mašine namenjene. Odjednom, svi su brzo i lako mogli da nauče da urade bar nešto na njima.

Gledajući ovu sliku, jasno je i zašto. Mac 128k predstavlja kulminaciju ideja koje su začete još četrdesetih godina, kada su se pojavili prvi prototipi kompjuterskog miša. Konačno je sve bilo lepo grafički prikazano i nije bilo neophodno da se bilo šta piše. Od tada na ovamo (preciznije, do pojave iPhone-a), promene u operativnim sistemima su praktično samo kozmetičke i posledica su pojavljivanja sve moćnijih procesora i grafičkih kartica.

Izlazak na tržište ovog računara predstavlja i početak nove epohe u odnosu društva prema kodiranju. Uspeh Windows-a 95 je zakucao i poslednji ekser u taj kovčeg. Bar za neko vreme.

Kada se pojavio grafički korisnički interfejs, potisnuo je sve drugo. Fokus se prebacio na one koji su sposobni da brzo savladaju nove opcije programa. Ti ljudi su bili u prednosti u odnosu na one koji još nisu saznali da nešto može da se uradi. Tako je napredni korisnik postao samo techie – dakle, vešt i brz.

Nije trebalo mnogo vremena da prođe dok škole nisu počele da izbacuju programiranje iz kurikuluma. Tada je takva odluka verovatno bila opravdana – učenje koda zaista nije predstavljalo neophodno, osnovno znanje.

Kako je napredno korišćenje računara prestalo da pretpostavlja elemente programiranja, tako je i programiranje nestalo iz informatičkog obrazovanja. To je slično kao što je za vozački ispit prestalo da se uči poznavanje rada četvorotaktnog motora. Fokus je prebačen na običnu digitalnu pismenost. Bilo je bitno da naučiš da koristiš aplikacije za tekst, tabele, prezentacije i slično. Takav odnos društva prema računarima je trajao kroz čitave devedesete, pa i početkom novog milenijuma.

U početku je to bilo dovoljno. Ako si znao da koristiš set aplikacija, bio si u prednosti u odnosu na one koji nisu znali. Danas to nije više ništa naročito. Jeste i dalje neophodno, ali nije naročito, već se podrazumeva. Kao, na primer, poznavanje engleskog jezika.

Naravno, ovo važi samo za priču u globalu. GUI je izvesne ideje samo oterao u ilegalu, ali za sve ovo vreme postoji neprekinuta nit u našem školskom sistemu. Ona se, istina, održala samo u specijalizovanim ustanovama, poput matematičkih gimnazija i odeljenja u Beogradu, Novom Sadu, Kragujevcu i Nišu, kao i u tehničkim školama.

Dakle, tekstualna komunikacija sa računarom je ostala da se drži prstima za ivicu školskog sistema. Čekalo se samo da se pojavi sidekick koji je nestao na kraju prvog čina da je povuče nazad.

Talas 4: U budućnosti ćemo biti više od korisnika

Jedan od naziva za generaciju koja dolazi posle milenijalsa jeste iGeneration. Tu spadaju svi oni koji su zrelost stekli posle 2000. godine. Ono što ih povezuje jeste činjenica da jednostavno ne poznaju svet bez kompjutera, interneta, mobilnih telefona, tablet računara… Iako će na slavi svi vikati kako je genijalac klinac koji sam pronađe crtani film na Youtube-u, istina je da ovo uopšte nije fascinantno. Danas je sasvim normalno videti četvorogodišnje dete kako barata „naprednom” tehnologijom.

Konačno se vraćamo na shvatanje da nije snaga u tome što možeš da uradiš nešto jer računar ima snažnu opciju. Pokretanje filtera u Photoshop-u, profesionalno formatiranje naslova jednim klikom, oduševljenje kvalitetom štampe laserskih štampača… Sve to polako prolazi i mi se postepeno vraćamo na stav: „Ok, sada ću pokušati nešto pametnije da kažem računaru.”

Drugim rečima, svi smo naučili da izgorelo drvo ostavlja trag po zidu pećine. Vreme je da nastane slikarstvo.

Možda ključni trenutak u kome je ta percepcije počela da se vraća je onaj kada je na naslovnoj strani magazina Communications of the ACM osvanula beba sa iPad-om. Kada smo shvatili da je dovoljno da samo klikneš nešto, a da to može i beba, počele su i ozbiljnije inicijative za širenje programerske pismenosti.

Naravno, bilo je više koraka u vraćanju na staru percepciju.

Sećam se da su krajem devedesetih izlazili tekstovi o tome kako će Windows da ukine command prompt. Naravno, to se nije desilo, ali govori o tadašnjem trendu. Mnogi su mislili da je to samo za „izabrane”.

Sada kada guglate kako nešto da uradite, sve češće vidite savete sa komandnom linijom. Zašto? Jer kada tako radite, uvek ćete dobiti iste rezultate. Ako imate slike ekrana, pa savete ‘klikni ovde, klikni onde’, pa se nekome ne pojavi isti prozor kao na slici, nastaju problemi. A komanda je komanda.

Uvođenju predmeta Informatika i računarstvo u Srbiji, prethodile su različite inicijative. Tim koji je razvijao programski jezik Python je još krajem devedesetih pričao o programerskoj pismenosti. Inicijativa code.org je pokrenuta 2013. U Engleskoj je 2014. uvedeno učenje računarstva od prvog razreda osnovne škole. Konačno je 2016. pokrenut i nastavak BBC Micro kampanje iz osamdesetih, koji se sada zove Micro Bit. Ideja je, ponovo, da se podstaknu deca da se aktivno uključe u kreiranje softvera, a ne da budu samo korisnici medija.

Da ne bude zabune, pravljenje aplikacija nije jedini razlog zašto je neophodno da se programiranje uči u osnovnim školama.

Novi talas uvođenja programiranja u školske kurikulume se zasniva na činjenici da postoje određene sposobnosti apstraktnog razmišljanja koje su potrebne svima za život i rad u digitalnom dobu, a koje se najbolje stiču kroz programiranje. Dakle, primarni cilj učenja programiranja kao opšteobrazovnog sadržaja nije osposobljavanje za korišćenje tehnike niti priprema za buduće profesionalno programiranje, već sticanje specifičnih mentalnih sposobnosti.

O tome koliku korist društvo može da ima od razvijanja ovih sposobnosti, možete pročitati ovde.

Predstavljamo poslodavca
3lateral-logo-1.png

3Lateral

Multidisciplinary team creating digital excellence

3Lateral develops innovative technologies enabling digitization of human motion and appearance at unprecedented level of realism. Our mission is to evolve through exploring abstract landscapes of art and science, exciting new technologies and, most importantly, through nurturing continuous multi-disciplinary communication and company values among our team members.

Marko Marković

  • Šta ti je na umu?
    Dodaj komentar · Pravila diskusije

  • Unesite termine za pretragu