dileme računarskog obrazovanja
Ivan Glišin je kreativni softverski inžinjer. Gotovo deceniju radio je u Kanadi, da bi se prošle godine vratio u Srbiju. ivanglisin@yahoo.ca

Nije potrebno biti ekspert da bi se zaključilo da se u oblasti računarstva puno toga promenilo u poslednjih par decenija. Međutim, pre nego što pogledamo šta se sve promenilo i kakvo je stanje danas, vratimo se za trenutak u 1986. godinu kada sam kao polaznik seminara informatike po prvi put došao u Petnicu. Znajući kojim su se tempom računarske tehnologije razvijale (često se može čuti da je jedna "računarska" godina jednaka pet kalendarskih godina), ta ne tako davna ‘86. bi, u slučaju da pišem o automobilskoj industriji, mogla biti davna 1886. kada je Karl Benz patentirao prvi automobil sa benzinskim motorom. Dakle, evo kako je sve to izgledalo pre 123 automobilske godine...
VREMEPLOV
Te 1986. godine naši roditelji i profesori su verovatno bili zabrinuti za naše mentalno zdravlje. A kako i ne bi: pričali smo čudnim jezikom o stvarima za koje je malo ko verovao da postoje van naučnofantastičnih filmova, ako su uopšte imali bilo kakvu ideju o čemu smo to pričali. Možda su mislili "bolje i to nego da se drogira", nesvesni pritom koliko je POKE-ovanje "mašinca" direktno u memoriju ili disasembliranje BIOS-a ozbiljna adikcija. Međutim, premda je sve ovo bilo "cool", bilo je potrebno poznavati svaki tehnički detalj hardvera i softvera kako bi se iz računara izvu-kao maksimum, a ponekad i štogod korisno.

da li smo danas računarski
obrazovaniji ili smo samo
efektno ubeđeni u to?

Da se podsetimo: 80-tih godina prva slika koja bi nekome izašla pred oči pri pomenu reči "računar" je verovatno bila neka velika klimatizovana sala sa zelenkastim svetlom, redovima ormana u kojima se vrte kolutovi traka, kao i armija inženjera u belim mantilima koji se zuje okolo.
Ipak, u senci ovakvog shvatanja pojma "računar" dešavala se tiha revolucija: kućni i personalni računari su dobijali oblik, bilo ih je sve više, a koristila ih je armija u džinsu i patikama, često neobrijana i još češće golobrada. Nasuprot golemih računarskih sala, kućni računari su se mogli staviti na sto (ili barem ispod stola); hardverski i softverski bili su svedeni na apsolutni minimum kako bi cena sistema bila najmanja moguća. Međutim, upravo je taj "minimalizam" bio ključni sastojak manije koja je vladala tih godina: kako mašinu sastavljnu od svega nekoliko osnovnih komponenti naterati da uradi nešto interesantno? A tek korisno? Tako smo, i pored neverovatnih ograničenja tih godina, pravili svoje kompajlere, razvijali simulatore, celularne automate, igre, jednostavne operativne sisteme, sistemske alate. A da bismo sve to napravili, često smo sami pisali drajvere i biblioteke rutina u asembleru, neretko posezali za lemilicom kako bismo "prežičili" računar i prisilili ga da hardverski uradi nešto što je bilo nemoguće izvesti u softveru. Bili smo pioniri.
POVRATAK U BUDUĆNOST
Da je ovaj tekst namenjen zabavnoj rubrici dnevnih novina, sada bi sledila serija poređenja performansi današnjih računara sa ondašnjim parametar po parametar, kako bi se pokazalo i dokazalo kako su današnji recimo 500 puta brži, imaju 1000 puta više memorije ili 10000 puta veće diskove, ili da je ko zna šta još nekoliko hiljada puta bolje, brže, manje i slično. Međutim, taj deo ćemo preskočiti, jer verujem da vam je sve to poznato. Takođe, ovde neću pisati o društvenim ili ekonomskim promenama koje je široka primena računara izazvala, jer pretpostavljam da bi svako mogao da navede pregršt primera svega što danas imamo zahvaljujući računarima, a nije bilo moguće pa čak ni zamislivo pre 30, 20 ili svega 10 godina.
Od dana kada je većina računara bila smeštena u neki ERC (elektronski računski/računarski centar), uglavnom korišćena za primenu koja se tada zvala EOP (elektronska obrada podataka) i kada je korisnika bilo malo, promenilo se mnogo toga uz neverovatan rast mogućnosti računara. Međutim ne bi bilo previše iznenađujuće su razvoj mogućnosti pratile veličina, potrošnja struje i cena (kao kod kuća, brodova, raketa), pa da danas imamo sisteme, hiljadu puta moćnije od onih iz 80-tih koji zauzimaju sto puta više prostora, troše 50 puta više struje, koštaju desetostruko, ali se i dalje koriste na približno isti način. Da je tako, računari ne bi nikada postali "kućni", "personalni", "prenosni" ili "mobilni", bilo bi ih relativno malo, a većina laika bi ih i danas opisivala kao tada, s tim što bi zlobnoizgledajuće elektro-energetsko postrojenje možda ipak bilo neophodno dodati kao integralni deo sistema.
Međutim, desilo se obrnuto: današnji računari su mnogo manji, mnooogo brži, troše manje struje i koštaju malo. Posledica toga je širenje primene i eksplozija masovne proizvodnje. A kada je nešto lako dostupno i malo košta, onda takvu robu tretiramo kao potrošnu koja se kupi, koristi neko vreme i baci. Kako računara ima svuda, svi smo postali korisnici, želeli to ili ne. Teško da danas postoji neki složeniji uređaj, a da ne sadrži mikroprocesor. Ne osećate se kao "korisnik računara" kada uključite TV, veš mašinu ili pozovete nekoga mobilnim telefonom, ali ste to, primetili ili ne.
Dodatno, čak su i sami računari kao potrošna roba počeli da služe uglavnom za potrošnju. Potrošnju informacija. Od uređaja namenjenih prevashodno obradi i proizvodnji informacija, računari su danas velikom većinom u upotrebi kao uređaji za potrošnju i razmenu informacija. Ko je 80-tih godina je verovao da će preko 99% računara danas biti korišćeno za pregled interneta, slušanje muzike, gledanje filmova ili TV programa, igranje igara, telefoniranje ili razmenu poruka?
PROMENE U NAČINU OBRAZOVANJA
Pre široke komercijalizacije i masovne primene računara, priprema budućih stručnjaka je bila bazirana na receptu: jako znanje matematike sa puno apstraktne materije direktno povezano sa teorijom informacija, algoritmima i strukturama podataka, kao i arhitekturama računarskih sistema. Kao "prljaviji" deo dalo se naći i nešto praktičnih predmeta na temu programskih jezika i operativnih sistema, uz uvežbavanje poneke standardne aplikacije.
Danas univerziteti koji se drže ovog klasičnog pristupa dobijaju sve veću konkurenciju u obliku manjih privatnih škola koje nude da za dve godine proizvedu stručnjake za određene proizvode i primene, bez mnogo trošenja vremena na teorijske osnove. Velike kompanije, kao na primer Microsoft, IBM, Oracle ili Cisco, opremaju laboratorije i učionice svojim proizvodima kako bi se studenti na njima obučavali i prenosili naučena rešenja u praksu, kupujući i koristeći naravno proizvode koje su tokom obuke upoznali. Takođe postoje i oni koji izaberu da dobiju paket sertifikata koje sami iskombinuju u skladu sa svojim planovi-ma. Oni koji žele mogu brzo krenuti putem profesionalne karijere u oblasti implementacije rešenja baziranih na postojećim proizvodima, a koja može da bude interesantna i veoma dobro plaćena i bez dugog studiranja i diplome.
Međutim, loša strana ovog pristupa je ta što preveliko oslanjanje na diktat proizvođača znači da postaje nebitno naučiti studente kako sve to zapravo funkcioniše. U proteklih desetak godina sam na komercijalnim projektima radio sa programerima od kojih neki nisu razumeli razlike između tipova podataka, kako se u memoriju ili bazu podataka smeštaju ti podaci i kako ih procesor obrađuje, neretko sa katastrofalnim posledicama po proizvod, rokove i budžet. Za one koji su zainteresovani da rade na razvoju novih proizvoda ili tehnologija a možda i da postanu konkurencija velikim kompanijama, tendencija prihvatanja zanatskog pristupa na štetu teorijskih osnova je veoma loš pristup .
KAKO SE OVO ODRAZILO NA POLAZNIKE PETNICE?
Dok sam na ovogodišnjem (2009) letnjem seminaru informatike tražio neke prezentacije koje smo pravili i koristili na seminarima tokom 90-tih godina, slučajno sam pronašao testove koje sam dao polaznicima prolećnog seminara ‘98. godine. Dakle pre celih 11 godina! Kroz glavu mi je prošla zlobna ideja da isti test dam današnjoj grupi.
Zapravo radi se o dva testa: prvi test je sa pitanjima mahom iz oblasti arhitekture računara, mašinskog programiranja i operativnih sistema, a drugi test je sa težištem na programskim jezicima, algoritmima i strukturama podataka. Svaki test ima po 20 pitanja (dakle ukupno 40), a za svako pitanje su ponuđena četiri odgovora. A najlepši deo? Pa pronašao sam i obrađene rezultate testa iz 1998. godine! Dakle imamo sa čim i da poredimo.
Rezultati me nisu iznenadili. Grupa iz 1998. je bila očigledno bolja. Skoro dve trećine polaznika je tada dobilo preko 50% bodova, sa najboljim rezultatom od 90%. U grupi iz 2009. nešto manje od četvrtine prešlo je 50% i to sa najboljim rezultatom od 70%. Već vidljiva razlika, ali najbolje tek sledi. Kada se rezultati analiziraju posebno po testovima dolazi se do interesantne razlike. Obe grupe su sakupile solidan broj tačnih odgovora na pitanja iz drugog testa, a nekoliko najboljih polaznika iz obe grupe je u praktično istoj kategoriji sa vrlo sličnim visokim brojem bodova. Međutim ovogodišnja grupa je grdno podbacila na prvom testu! Procesori, logičke kapije, binarni brojevi, mašinski kod, stek? Stanja procesa, obrada prekida, konkurentno procesiranje? Ma kome to danas treba?
...I ŠTA PETNICA MOŽE UČINITI?
Prva misao koja se nameće je očigledna: odlično, pošto sada znamo gde su polaznici tanki, hajde da ih naučimo onome što ne znaju! Prva kontramisao: hmmm... a možda ipak ne? Da li bi im to bilo interesantno, potpuno van svakog konteksta neposredne praktične primene? Pa čak da jeste interesantno, da li je zadatak Petnice krpljenje rupa u srednjoškolskim i univerzitetskim programima?
Druga misao: pa dajmo im onda lepe nove igračke, nešto što nemaju prilike da vide ili koriste svaki dan! Druga kontramisao: kako ići u korak ili čak korak ispred onoga što se trenutno nudi kao najsavremenija softverska i hardverska tehnologija? To je teško i vrhunskim svetskim univerzitetima i istraživačkim institutima sa budžetima za projekte i opremanje laboratorija u kojima bi se novac koji Petnica ima na raspolaganju za tu svrhu mogao zanemariti kao sitnija greška u finansijskom planiranju. A šta god da Petnica nabavi ove godine (ne zaboravimo, za ograničene pare), većina polaznika bi verovatno nastavila da sa sobom donosi svoje računare i potrebne softverske alate, ponekad i bolje a za koju godinu i većinom bolje. Mrtva trka u koju se ne bi valjalo upuštati.
Dakle pitanje je kako uprkos trendovima o kojima je već bilo reči ponuditi nešto originalno i interesantno? Nešto što će polaznike privući, motivisati i naučiti nečemu što će biti od praktičnog značaja u njihovom budućem školovanju i karijeri? Nastaviti sa uobičajenom koncepcijom seminara koji se baziraju na malim individualnim projektima očigledno više ne pije vodu. Šta onda?
Ono što se može uraditi i čiji su glavni sastojci ne nastava ili najnovija tehnologija, nego okruženje i iskustvo koje Petnica već ima je sledeće: prebaciti težište na timski rad i kombinovanje sa drugim seminarima. Evo šta to znači: umesto rada na projektima koji iz godine u godinu realno imaju sve manje i manje smisla, polaznici seminara računarstva bi se mogli angažovati na drugim seminarima gde je neophodno upotrebiti računar (a svuda jeste u upotrebi, u manjoj ili većoj meri) i odraditi računarski deo unutar veće grupe. Ključ? Teme za projekte bi zapravo bile potrebe polaznika drugih seminara za primenom računara. Tu bi se moglo raditi o simulacijama, prikupljanju, obradi i vizuelizaciji podataka, upravljanju laboratorijskom opremom, automatizacijom raznih procesa i postupaka, izradom autonomnih računarski kontrolisanih eksperimenata, pa čak i uz moguću izradu specijalizovanog hardvera i softvera za vrlo specijalizovane namene. Programiranje bi tu bila samo jedna mogućnost, dok bi i korišćenje gotovih rešenja i već razvijenih paketa takođe bila odlična opcija.
Na ovaj način bi se dobile tri stvari: (1) projekti bi imali više smisla, proizvodili bi upotrebljive rezultate pa bi samim tim bili interesantniji i izazovniji; (2) rad u timu sa polaznicima drugih seminara bi bio neophodan što je vrlo korisno iskustvo ma kojom profesijom polaznici odlučili da se bave u budućnosti; (3) verovatno najvažnije, takve projekte bi po prirodi stvari bilo najpraktičnije a često i jedino moguće izvesti u Petnici, pa bi se Petnica koristila kao idealna sredina za tu vrstu rada, baš kao što i treba da bude.
Naravno da ovo nije jedina mogućnost i da svakako postoje i druge (dok ovo pišem pada mi na pamet barem još dve-tri... četiri...), ali ova je možda najvažnija. Ono što je mene stalno vraćalo u Petnicu i stalno će me vraćati je upravo sredina u kojoj na jednom mestu mogu da se sretnem sa ljudima koji se bave najrazličitijim stvarima, da od njih nešto novo naučim, da vidim šta to oni rade i kako bi se neki hardver ili softver tu mogao uklopiti, pa da u tim uslovima primenim ono što znam i na druge oblasti. Mogućnost učenja je prosto neverovatna. Dosta nas je prošlo kroz neku vrstu takvog međuseminarskog rada i verujem da bi se svako sa tim iskustvom složio da je to nešto što im je bilo najkorisnije i što će im uvek ostati u lepom sećanju. Možda je došlo vreme da se ovaj način rada koji je do sada bio povremen i često samoinicijativan, sada formalno uobliči i postane novi princip organizovanja seminara računarstva

[sci-literacy]
challenges in computer science education

Since the early days of personal computers many things have changed. To understand the evolution of the technology and impact on current educational practices, let's go back to 1986 when I attended my first program in Petnica.
Back then computers were rare, and usually assumed by general public to be large, expensive, used only by big companies, military or government. But small computers very few even knew existed were spreading like a wildfire. In order to reduce price those early personal computers were stripped down to bare minimum, often not capable of doing anything useful without some programming or hardware modifications. But despite all the limitations we were developing simple compilers, simulators, computer games, operating systems. It was not only challenging, we simply had to. In short, we were pioneers.
Things are much different today. It would be to no surprise if computers evolved into powerful machines supporting a wide range of applications, while continuously increasing in size and energy consumption, and remaining relatively rare and expensive. However, the opposite has happened: modern computers are more powerful, but small, less energy hungry, and cheap. This resulted in explosion of mass production and amazing variety of applications, turning computers into expendable, consumer items. To most, computers are absolutely nothing special today.
Before this expansion educating computer professionals was relatively simple, starting from mathematical and theoretical foundations, learning programming languages and operating systems, and training for some classical applications. It is all different today. Traditional approach is now challenged by smaller schools and educational centers offering short but highly specialized courses mainly tailored by corporations providing related technology. By getting selected certificates many can quickly start well paid careers without the need to spend years to get full university education. The downside of this approach is reliance on software and hardware manufacturers who are aggressively shaping education by offering what best serves their immediate corporate needs, but not necessarily long-term interests of the profession. Omitting theoretical foundations and core skills negatively impacts complex projects in the form of low product quality, missed delivery dates, or going over budget. Although professional certificates are valuable and very useful, universities must continue to offer comprehensive programs designed to provide complete and deep education.
The impact on Petnica is twofold. First, students today have little understanding on how computers are built and how they work, which forces us to delay or avoid advanced topics or projects. Second, due to short-lived product generations Petnica is not in the position anymore to offer latest software and hardware products, so the motivation of prospective students to come to see and use something new has entirely disappeared. What Petnica could do then? Plugging holes in their knowledge is perhaps not what we should be spending much time on. Also, buying greatest and latest software and hardware would be extremely expensive and very short-lived. Is it then possible to offer something challenging and exciting? Something that will attract best students and allow them to learn and apply something new, something they cannot do elsewhere?
In my opinion there is. Computer science projects should be integrated with other programs in the supporting role, with projects relating to scientific simulations, data acquisition, processing and visualization, interfacing with laboratory equipment, process automation, or autonomous computer-controlled experiments for example. This approach would bring the following benefits: (1) projects would be much more interesting and challenging; (2) chance to build teamwork skills and gain experience in multidisciplinary projects would be exceptional; (3) and finally, Petnica would utilize resources more efficiently using unique advantages very few other schools could offer

 

 ©2010 IS Petnica
  Previous Page Home Next Page