Šta su računarske nauke?
Računarska nauka (CS – Computer science) je sistematsko proučavanje algoritamskih metoda za predstavljanje i preoblikovanje informacija, uključujući njihovu teoriju, dizajn, implementaciju, primenu i efikasnost. Ova disciplina je iznikla pedesetih godina prošlog veka iz razvoja teorije izračunljivosti i pronalaska elektronskog računara sa uskladištenim programom. Koreni računarske nauke pružaju se duboko u matematiku i inženjerstvo.
Matematika daje ovom polju analizu; inženjerstvo mu daje dizajn. Glavne grane računarske nauke su sledeće:
Algoritmi su studija efektivnih i efikasnih procedura rešavanja problema na računaru. Teorija računanja odnosi se na značenje i složenost algoritama i na granice onoga što se može izračunati u principu. Arhitektura računara odnosi se na strukturu i funkcionalnost računara i njihovu primenu u smislu elektronske tehnologije. Softverski sistemi su proučavanje strukture i implementacije velikih programa. Ono obuhvata proučavanje programskih jezika i paradigmi, programskih okruženja, kompajlera i operativnih sistema. Veštačka inteligencija se odnosi na računarsko razumevanje onoga što se obično naziva inteligentno ponašanje i pravljenje predmeta koji ispoljavaju takvo ponašanje. Ostale važne teme u računarskoj nauci obuhvataju računarsku grafiku, baze podataka, mreže i protokole, numeričke metode, operativne sisteme, paralelno računarstvo, simulaciju i modeliranje i softverski inženjering.
Šta je računarsko inženjerstvo?
Računarski inženjering (CEN – Computer engineering) je projektovanje i pravljanje prototipova računarskih uređaja i sistema. Mada sa računarskom naukom ima veliki deo zajedničke istorije i mnoge zajedničke oblasti od interesa, računarski inženjering koncentriše svoje napore na načine na koje se računarske ideje preslikavaju u radne fizičke sisteme. Pošto potiče jednako iz disciplina računarske nauke i elektrotehnike, računarski inženjering počiva na intelektualnim temeljima ovih disciplina, osnovnih fizičkih nauka i matematike. Glavne grane računarskog inženjeringa su sledeće:
Mreže se bave dizajnom i implementacijom distribuiranih računarskih okruženja, iz lokalnih mreža u globalnu mrežu (World Wide Web).
Računarstvo multimedija je stapanje podataka iz teksta, govora, muzike, fotografije, videa i drugih izvora u koherentan tok podataka i njegovo efikasno upravljanje, kodiranje-dekodiranje i prikaz.
VLSI sistemi (kola s veoma visokim stepenom integracije) obuhvataju alate, osobine i dizajn mikro-minijaturnih elektronskih uređaja (Very Large Scale Integrated circuits).
Pouzdano računarstvo i napredne arhitekture razmatraju kako se tolerancija na greške može ugraditi u hardver i softver, metode za paralelno računarstvo, optičko računarstvo i testiranje.
Ostale važne teme u računarskom inženjeringu uključuju inženjering prikaza, obradu slika i govora , prepoznavanje oblika, robotiku, senzore i računarsku percepciju.
Da li da se bavim računarskim naukama ili računarskim inženjerstvom?
I naučnici i inženjeri su zainteresovani za prirodu stvari, za razumevanje kako se ideje i objekti u svetu uklapaju. Ali uopšte uzevši, oni pokušavaju da razumeju prirodu stvarnosti polazeći od različitih ciljeva: naučnik traži razumevanje kao cilj sam po sebi, a inženjer ga traži sa ciljem da pravi stvari. Tako je računarska nauka bliže teoriji računarstva u osnovi, sa svojim korenima u matematici, a računarsko inženjerstvo je bliže projektovanju fizičkih uređaja, sa korenima u fizici a takođe i hemiji. Studenti koji su motivisani da prave stvari, da mere u laboratoriji kako stvari funkcionišu, oni koje pored matematike privlače i fizika i hemija, trebalo bi ozbiljno da razmotre računarsko inženjerstvo. Studenti koje zanima prava priroda simbola, informacija i njihovo manipulisanje, oblici i granice algoritama i struktura podataka, trebalo bi da razmotre računarskunauku. Od tri velika dela u računarstvu, to jest, teorije, softvera i hardvera, po prvoj aproksimaciji teorija spada u računarsku nauku, hardver u računarsko inženjerstvo, a softver u oba, ali uglavnom u računarsku nauku. Što je softver opštiji, on je bliži računarskoj nauci; što je više usmeren na konkretan hardver, bliži je računarskom inženjerstvu. Prema tome bi student koga zanima da pravi vlastiti nov računarski jezik opšte namene imao najviše koristi od programa za diplomu iz računarske nauke, dok bi onaj koga zanima da projektuje softverski interfejs za nov serijski uređaj velike brzine imao više koristi od programa za diplomu računarskog inženjerstva. Studenti koji su neodlučni da li da se opredele za računarsku nauku ili za računarski inženjering pozivaju se da detaljno razmotre to pitanje sa akademskim savetnicima u okviru odeljenja za računarsku nauku i inženjering, u Školi nauke i umetnosti (koja upravlja programima računarske nauke) i u Školi za mašinstvo i primenjene nauke (koja uređuje program računarskog inženjerstva).