Računarstvo

S Vikipedije, slobodne enciklopedije
Computer simulation
Kompjuterska simulacija, jedna od glavnih unakrsno-računarskih metodologija.[1]
Early vacuum tube Turing complete computer
ENIAC, rana Turingova potpuna vakuumska cev koja se može programirati.
The Rasberry Pi
Raspberi Pi, savremeni računar sa jednom pločom razvijen za promociju podučavanja osnova računarskih nauka i inženjerstva u školama i u zemljama u razvoju.[2][3]

Računarstvo je nauka koja se bavi proučavanjem teoretskih osnova informacije i računanja, te njihovim implementacijama i primenama u računarskim sistemima. Računarstvo ima mnoga potpolja; neki naglašavaju računanje i specifične rezultate (kao što je računarska grafika), dok drugi naglašavaju svojstva računskih problema, (kao što je teorija kompleksnosti). Treći su usredsređeni na izazove u ostvarenju računanja. Na primer, teorija programskih jezika proučava pristupe u opisu računanja, dok računarsko programiranje primenjuje specifične programske jezike za rešavanje specifičnih računskih problema sa rešenjima. Dalje potpolje, interakcija čoveka i računara, se fokusira na izazove u izradi računara i činjenju računanja korisnim, koristivim i univerzalno pristupačnim svim ljudima.

Definicije[uredi | uredi izvor]

ACM Računarski kurikulumi 2005[4] i 2020 definišu „računarstvo” na sledeći način:

„Na opšti način, računarstvo se može definisati tako da podrazumeva bilo koju ciljno orijentisanu aktivnost koja zahteva, koristi ili stvara računare. Dakle, računarstvo uključuje projektovanje i izgradnju hardverskih i softverskih sistema za širok spektar svrha; obrada, strukturiranje i upravljanje raznim vrstama informacija; izvođenje naučnih studija pomoću računara; čineći da se računarski sistemi ponašaju inteligentno; stvaranje i korišćenje komunikacionih i zabavnih medija; pronalaženje i prikupljanje informacija relevantnih za bilo koju određenu svrhu itd. Lista je gotovo beskrajna, a mogućnosti su ogromne.”

Istorija[uredi | uredi izvor]

Diferencijalna mašina: računanje rešenja za polinomsku funkciju

Početak računarstva[uredi | uredi izvor]

Računarstvo je nastalo u 19. veku razmišljanjem Čarlsa Bebidža, koji je zamislio mašinu koja bi uzimala podatke, obrađivala ih na neki način i prikazivala rezultate korisniku. Mašinu je zamislio kao mehanički uređaj, iako računari danas ne rade na tom principu, postoji povezanost modernih računara s njegovim pionirskim idejama.

  • Binarni sistem – danas skoro svaki računar koristi binarni brojni sistem, koji se sastoji samo od jedinica i nula, što je za računar jednostavno: 1 – ima struje, 0 – nema struje. Sistem koji ima deset cifara (0 – 9) zove se dekadni, a postoje pretpostavke da su Vavilonci koristili heksadecimalni sistem (sistem od šesnaest cifara). Babidže je imao ideju korištenja bušenih kartica za svoj računar, a upravo to se i koristilo za pohranjivanje podataka dok se nije otkrilo magnetno zapisivanje.
  • Osnovna ideja – ulazno/izlazni sistem kojim se daje računaru da obradi podatke, saopštava na koji način da ih obradi. Nakon što obavljanja zadatka rezultati bivaju prikazani na nekom od izlaznih uređaja.

Prvi funkcionalni računar, u današnjem smislu, napravio je nemački izumitelj Konrad Cuze 1941. godine. Programski kod mašina je primala putem bušenih kartica i imala samo ograničenu mogućnost programiranja. Računar je radio pomoću električnih releja i imao je odvojenu radnu memoriju i ulazno/izlazni sistem. U to vreme računari su bili ogromni, veličine jedne prosečne kuće, te su se najčešće koristili za vojne svrhe. Za grafički prikaz hronologije računarstva pogledati: Hronologija historije računarstva.

Niz servera iz 2006.

Podela po generacijama[uredi | uredi izvor]

Računari se po istorijskom razvoju, takođe, dele na generacije, shodno tehnološkom napretku. Svaku noviju generaciju obeležava bitno manje zauzimanje prostora i veća brzina izvršavanja, bolja pouzdanost i slično.

  • Prva generacija računara
1937. do 1958. - temeljna jedinica izrade računara je elektronska cev.
  • Druga generacija računara
1959. do 1963. - temeljna jedinica izrade računara je tranzistor.
  • Treća generacija računara
1964. do 1971. - temeljna jedinica izrade računara je integrisano kolo.
  • Četvrta generacija računara
1971. do danas - temeljna jedinica izrade računara je procesor.
  • Peta generacija računara
Današnji i budući računari, zasnovani na veštačkoj inteligenciji (AI).

Pioniri računarstva[uredi | uredi izvor]

Računar[uredi | uredi izvor]

Računar je mašina koja rukuje podacima po uputstvu skupa naredbi koje se nazivaju računarski program. Program ima izvršnu formu koju računar koristi za direktno izvršavanje naredbi. Isti program u svom ljudski čitljivom izvornom kodu omogućuje programeru da napravi redosled koraka koji se nazivaju algoritam.

Izvršni proces obavlja naredbe u računarskom programu. Naredbe izražavaju računanja koje računar obavlja, koje potom pokreću niz radnji.

Računarski softver i hardver[uredi | uredi izvor]

Računarski softver jeste skup računarskih programa i srodnih podataka koji pružaju naredbe računaru šta i kako treba da uradi određeni zadatak. Softver se odnosi na jedan ili više računarskih programa i podataka koji se čuvaju u pohrani računara za neke svrhe. Programski softver obavlja funkciju programa direktnim davanjem instrukcija za hardver računara ili služi kao ulaz za neki drugi deo softvera.

Aplikativni softver[uredi | uredi izvor]

Aplikativni softver jeste računarski softver napravljen za obavljanje određenih zadataka. Primeri uključuju poslovni softver, računovodstveni softver, uredske pakete, grafički softver i softvere za reprodukovanje medija (kao što su slike, zvuk, filmovi). Aplikacije mogu doći u paketu sa računarom i njegovim sistemskim softverom ili se mogu dobaviti odvojeno.

Aplikativni softver nije isto što i sistemski softver, koji upravlja upravlja hardverskim mogućnostima računara i služi aplikativnom softveru.

Sistemski softver[uredi | uredi izvor]

Sistemski softver jeste računarski softver napravljen za upravljanje i kontrolu računarskog hardvera i za pružanje platforme za pokretanje aplikativnog softvera. Sistemski softver uključuje operativne sisteme, uslužni softver, upravljačke programe uređaja, prozorske sisteme i firmver. Razvojni alati kao što su kompajleri, linkeri i debugeri[5] svrstavaju se u sistemski softver.

Računarska mreža[uredi | uredi izvor]

Računarska mreža jest skup međusobno povezanih hardverskih uređaja i računara komunikacijskim kanalima koji omogućavaju razmenu resursa i informacija.

Mreže se mogu podeliti na više načina, kao što su vrsta medija korištena za prenos podataka, vrsta komunikacijskog protokola koji se koristi, veličina mreže, topologija i organizacijski opseg.

Komunikacijski protokoli određuju pravila i formate podataka za razmenu informacija u računarskoj mreži i daju osnovu za mrežno programiranje. Poznati komunikacijski protokoli su Eternet, hardverski standard koji je sveprisutan u lokalnim mrežama i Set internet protokola koji određuje skup protokola za mrežno umrežavanje.

Umrežavanje računara ponekad se smatra poddisciplinama elektrotehnike, telekomunikacija, računarske nauke, informatičke tehnologije ili računarskog inženjerstva, jer se oslanja na teorijsku i praktičnu primjenu ovih disciplina.

Internet[uredi | uredi izvor]

Internet je svetski sistem međusobno povezanih računarskih mreža koji koriste standardni paket internetskih protokola (TCP/IP) za serviranje milijardi korisnika koji se sastoji od miliona privatnih, javnih, akademskih, poslovnih i vladinih mreža od lokalnog do svetskog opsega, koje su povezane nizom elektronskih, bežičnih i optičkih mrežnih tehnologija. Internet sadrži veliku paletu informativnih resursa i usluga, poput međusobno povezanih hipertekst dokumenata na World Wide Web mreži i infrastrukture e-pošte.

Računarsko programiranje[uredi | uredi izvor]

Programiranje računara je proces pisanja, testiranja, uklanjanja grešaka i održavanja izvornog koda i dokumentacije računarskih programa. Izvorni kod napisan je programskim jezikom, koji kao veštački jezik je često restriktivan i zahtevniji od prirodnih jezika, ali je lako razumljiv računaru. Svrha programiranja je ostvariti željeno ponašanje računara.

Računarski programer[uredi | uredi izvor]

Računarski programer ili koder je osoba koja piše računarski softver. Pojam računarski programer može se odnositi na stručnjaka za jedno područje računarskog programiranja ili na stručnjaka koji piše kod za mnoge vrste softvera. Izraz programer može se koristiti za označavanje softverskog programera, softverskog inženjera, računarskog naučnika ili softverskog analitičara. Obično ljudi u ovim profesijama[6] poseduju i druge softverske inženjerske vještine, osim programiranja.

Računarska industrija[uredi | uredi izvor]

Računarsku industriju čine sve firme koje su uključene u razvoj računarskog softvera, dizajn računarskog hardvera i infrastrukture računarskih mreža, proizvodnju računarskih komponenti i pružanje usluga informacione tehnologije, uključujući administraciju i održavanje sistema.

Softverska industrija[uredi | uredi izvor]

Softverska industrija uključuje firme koje se bave razvojem, održavanjem i objavom softvera. Ova industrija također uključuje softverske usluge, kao što su obuka, dokumentacija i savetovanje.

Poddiscipline računarstva[uredi | uredi izvor]

Računarski inženjering[uredi | uredi izvor]

Računarski inženjering je disciplina koja objedinjuje nekoliko područja elektrotehnike i računarske nauke potrebnih za razvoj računarskog hardvera i softvera. Računarski inženjeri su obično obučeni u poljima elektronskog inženjerstva (ili elektrotehnike), dizajna softvera i hardversko-softverske integracije. Računarski inženjeri uključeni su u brojne hardverske i softverske aspekte računarstva, od dizajna pojedinačnih mikroprocesora, ličnih računara i superračunara.[7]

Softverski inženjering[uredi | uredi izvor]

Softverski inženjering je primena sistematskog, discipliniranog, merljivog pristupa dizajnu, razvoju, radu i održavanju softvera, odnosno primena inženjeringa na softver.[8] Razvoj softvera je dosta korišćeniji i generalniji pojam koji nužno ne uključuje inženjersku paradigmu. Prihvaćeni pojmovi softverskog inženjeringa kao inženjerske discipline navedeni su u SWEBOK (engl. Software Engineering Body of Knowledge) koji je postao međunarodno prihvaćen standard ISO/IEC TR 19759: 2015.[9]

Računarska nauka[uredi | uredi izvor]

Računarska nauka jeste naučni i praktični pristup računanju i njegovoj primeni. Računarski naučnik se specijalizuje za teoriju računanja i dizajn računarskih sistema.[10]

Potpolja nauke se dele na praktične tehnike za njegovu primenu i primenu u računarskim sistemima i čisto teorijska područja. Neki, poput teorije kompleksnosti računanja, koji proučava osnovna svojstva računskih problema, vrlo su apstraktni, dok drugi, poput računarske grafike, naglašavaju aplikacije u stvarnom svetu. Na primer, teorija programskih jezika proučava pristupe opisu računanja, dok sama studija računarskog programiranja istražuje različite aspekte upotrebe programskih jezika i složenih sistema. Interakcija između čoveka i računara fokusira se na izazove u korištenju računara i računanja koji će biti pristupačni i upotrebljivi ljudima.

Informacioni sistemi[uredi | uredi izvor]

Informacioni sistemi su integrisani skup komponenti za sakupljanje, čuvanje, obradu i prenošenje informacija.[11][12]

Ova disciplina spaja poslovanje i računarske nauke koristeći teoretske temelje informacija i računanja kako bi proučavali različite poslovne modele i srodne algoritmičke procese u okviru računarske nauke.[13][14][15][16]

Informaciona tehnologija[uredi | uredi izvor]

Informaciona tehnologija (IT) jeste primena računara i telekomunikacijske opreme za pohranu, dohvaćanje, prenos i manipulaciju podacima, često u kontekstu poslovanja ili poduzetne aktivnosti.[17] Izraz se uobičajeno koristi kao sinonim za računare i računarske mreže, ali obuhvata i druge tehnologije distribucije informacija kao što su televizija i telefoni. Srodne industrije informacionoj tehnologiji su industrije računarskog hardvera, softvera, elektronike, poluprovodnika, interneta, telekomunikacijske opreme, e-trgovine i računarskih usluga.

Sistemska administracija[uredi | uredi izvor]

Sistemski administrator je osoba zaposlena za održavanje i upravljanje računarskim sistemom ili mrežom. Dužnosti administratora sistema su opsežne i mogu se značajno razlikovati od jedne do druge organizacije. Sistemski administratori su obično zaduženi za instaliranje, podršku i održavanje servera ili drugih računarskih sistema, te planiraju ili odgovaraju na prekide u radu i druge probleme. Ostale dužnosti mogu uključivati pisanje skripti ili osnovno programiranje, upravljanje projektima vezanim za računarske sisteme, nadgledanje ili obučavanje računarskih operatora ili savetovanje za računarske probleme izvan znanja osoblja tehničke podrške.

Reference[uredi | uredi izvor]

  1. ^ „Computing Classification System”. dl.acm.org. 
  2. ^ Cellan-Jones, Rory (5. 5. 2011). „A£15 computer to inspire young programmers”. BBC News. 
  3. ^ Price, Peter (3. 6. 2011). „Can a £15 computer solve the programming gap?”. BBC Click. Pristupljeno 2. 7. 2011. 
  4. ^ The Joint Task Force for Computing Curricula 2005. „Computing Curricula 2005: The Overview Report” (PDF). Arhivirano iz originala (PDF) 2014-10-21. g. 
  5. ^ Rouse, Margaret (mart 2019). „system software”. WhatIs.com. TechTarget. 
  6. ^ 5 Skills Developers Need Beyond Writing Code
  7. ^ Trinity College Dublin. „What is Computer System Engineering”. Pristupljeno 2006-04-21. , "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.
  8. ^ ACM (2006). „Computing Degrees & Careers”. ACM. Arhivirano iz originala 2011-06-17. g. Pristupljeno 2010-11-23. 
  9. ^ „Software Engineering -- Guide to the software engineering body of knowledge (SWEBOK)”. International Organization for Standardization. ISO/IEC TR 19759:2015. Pristupljeno 21. 5. 2019. 
  10. ^ „WordNet Search - 3.1”. Wordnetweb.princeton.edu. Pristupljeno 2012-05-14. 
  11. ^ „Definition of Application Landscape”. Software Engineering for Business Information Systems (sebis). 21. 1. 2009. Arhivirano iz originala 5. 3. 2011. g. Pristupljeno 14. 1. 2011. 
  12. ^ Archibald, J.A. (maj 1975). „Computer Science education for majors of other disciplines”. AFIPS Joint Computer Conferences: 903—906. „Computer science spreads out over several related disciplines, and shares with these disciplines certain sub-disciplines that traditionally have been located exclusively in the more conventional disciplines 
  13. ^ Hoganson, Ken (decembar 2001). „Alternative curriculum models for integrating computer science and information systems analysis, recommendations, pitfalls, opportunities, accreditations, and trends”. Journal of Computing Sciences in Colleges. 17 (2): 313—325. ISSN 1937-4771. „Information Systems grew out of the need to bridge the gap between business management and computer science ... 
  14. ^ Davis, Timothy; Geist, Robert; Matzko, Sarah; Westall, James (mart 2004). „τ'εχνη: A First Step”. Technical Symposium on Computer Science Education: 125—129. ISBN 1-58113-798-2. „In 1999, Clemson University established a (graduate) degree program that bridges the arts and the sciences... All students in the program are required to complete graduate level work in both the arts and computer science 
  15. ^ Hoganson, Ken (decembar 2001). „Alternative curriculum models for integrating computer science and information systems analysis, recommendations, pitfalls, opportunities, accreditations, and trends”. Journal of Computing Sciences in Colleges. 17 (2): 313—325. ISSN 1937-4771. „The field of information systems as a separate discipline is relatively new and is undergoing continuous change as technology evolves and the field matures 
  16. ^ Khazanchi, Deepak; Bjorn Erik Munkvold (leto 2000). „Is information system a science? an inquiry into the nature of the information systems discipline”. ACM SIGMIS Database. 31 (3): 24—42. ISSN 0095-0033. doi:10.1145/381823.381834. „From this we have concluded that IS is a science, i.e., a scientific discipline in contrast to purportedly non-scientific fields 
  17. ^ „Free on-line dictionary of computing (FOLDOC)”. Arhivirano iz originala 15. 4. 2013. g. Pristupljeno 9. 2. 2013. 

Spoljašnje veze[uredi | uredi izvor]