Transcript Document
Računarstvo računarstvo algoritamski procesi opisuju i transformišu informaciju teorija, analiza, projektovanje, efikasnost, imlementacija, primene računar: matematička mašina metode: teorija, projektovanje, eksperiment matematika, tehnika, prirodne nauke nauka / tehnologija (D. Knuth, R. Hoare, E. Dijkstra, N. Wirth...) Podoblasti računarstva 1. hardver 2. organizacija računarskih sistema ... 2.2. računarsko-komunikacione mreže ... 3. softver 3.1. programske tehnike 3.2. softversko inženjerstvo... 3.2.4 verifikacija programa 3.4. operativni sistemi... 4. podaci 4.1. strukture podataka Podoblasti računarstva (nast.) 5. teorija računarstva ... 5.2. analiza algoritama i složenost problema... 5.4. matematička logika i formalni jezici 6. matematika izračunavanja 6.1. matematička analiza 6.2. diskretna matematika 6.3. verovatnoća i statistika... 7. informacioni sistemi 7.1. modeli i principi 7.2. upravljanje bazama podataka Podoblasti računarstva (nast.) 7.3. čuvanje i pretraživanje informacija 7.4. aplikacije informacionih sistema... 8. metodologije izračunavanja … 8.2. veštačka inteligencija (obrada prirodnog jezika) 8.3. računarska grafika 8.4. obrada slike 8.5. prepoznavanje oblika 8.6. simulacija i modeliranje 8.7. obrada teksta... ... Podoblasti računarstva (nast.) 9. primene računarstva 9.1. obrada administrativnih podataka... 9.5. umetnost i društvene nauke 9.6. CAD (projektovanje uz pomoć računara) 10 računarske sredine 10.1 računarska industrija (i standardi) 10.2. računari i obrazovanje... 10.5. pravni aspekti računarstva... 10.7. računaska profrsija (i kodeksi dobre prakse i etika) ... Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu if not (raketa u kontaktu sa radarom) then korigovati putanju leta korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja Programiranje (nast.) Primer (R.Sethie: Programming Languages – Concepts and Constructs) jula 1962.g. raketa sa Venerinom sondom bez posade, Mariner I uništena 290 sekundi posle lansiranja gubitak: 18-20 miliona US$ uzrok: greška u programskom fragmentu if not (raketa u kontaktu sa radarom) then ne korigovati putanju leta korišćen prethodno u četiri lansiranja na Mesec tri stotine nezavisnih testiranja Izbor programskog jezika Pomaže da se napiše dobar program lako čita lako razume lako modifikuje Malo istorije računarstva Ranih 40. godina 20. veka, kao spoj: teorije algoritama (matematika, analitičnost) matematičke logike kriterijumi valjanosti izvođenja i formalnih principa rasuđivanja 1936.g: Alan Turing: univerzalni računar ne postoji Uvid u granice automatskog računanja Podatak i instrukcija (program) – ekvivalentnost zapisa pronalaska programabilnih računara (projektovanje, tehnika) Ranije: mehaničke i elektromehaničke naprave (Paskal, Lajbnic, Bebidž) Informacione tehnologije Postupci, metode i tehnike pikupljanja, obrade, prenosa, čuvanja i prezentovanja informacija Pronalazak pisma (pre oko 5000 g) Prva informaciona revolucija: 15.v, štamparija Druga informaciona revolucija: tehnologija digitalne informacije, 20.v. Danas: Tehnologije senzora (npr. digitalna video kamera, čitač bar koda, skener, miš, tastatura) Komunikacione tehnologije (npr. kablovi, telefonske linije, Internet) Računarske tehnologije (računarski sitemi za čuvanje i obradu informacija) Tehnologije prikazivanja (npr. ekran terminala, štampač, LCD ekran (Liquid Crystal Display)) Informacione tehnologije: razvoj Periodi: Premehanički: od 3000g.pne do 1450.g.ne Sistemi pisanja i brojanja (klinasto pismo; usavršavanje: Sumerci, Mesopotamci; Egipćani; Feničani; Grci; Rimljani Tehnologije: “stylus”, glina; papirus, olovka; koža, listovi; papir – Kina Brojevi Egipćani: 1-9 (|); 10 (U), 100 (spirala), 1000 (lotosov cvet) Između 100 i 200.g.ne Hindu, devetocifreni brojevni sistem Oko 875.g.ne koncept nule Arapski trgovci: dekadni sistem iz Azije u Evropu u 12. veku Tehnologija: abakus Mehanički Elektromehanički Elektronski Informacione tehnologije: razvoj (nast.) Mehanički: 1450 - 1840.g. 1450.g. Johan Gutenberg – štamparija “računari” opšte namene: ljudi Broj Pi na 500 decimala (3 godine) 1600-te: V. Outred, sveštenik: klizajući lenjir – analogna računaljka 1642.g. B.Paskal: “Paskalina” sabira i oduzima 1670.g G.Lajbnic “Paskalina” množi i deli 1820.g. Č.Bebidž “Diferencijska mašina”: dijagrami kvadrata i kubova brojeva (1991.g. Londonski muzej);3 tone, 2x4m, 4000 delova 1830.g. Č Bebidž: analitička mašina – projekat; sličan današnjim računarima; Augusta Ada Bajron – bušene kartice, program Informacione tehnologije: razvoj (nast.) Elektromehanički: 1840-1940.g. Električna struja Telekomunikacije telegraf (Morzeova azbuka, 1835.) telefon 1876. (Bel) radio aparat 1894. (Markoni) Računanje 1880-1890. H.Holerit; uređaji za čitanje kartica (IBM) 1930-40. H.Aiken (Harvard) Mark I: program (papirna traka), ulaz(bušene kartice), smeštanje rezultata (elekromehanički prekidači); 17x2.5m, 750000 delova, 800km žice, 3 miliona električnih spojeva; 1944. završena; kraj elektromehaničkog perioda Informacione tehnologije: razvoj (nast.) Elektronski: 1940-danas Elektronske vakuum cevi 1939, SAD, prototip sa 300 cevi 1941, Nemačka, Konrad Zuse (Cuze), Z3 programabilni računar – projekat 1943, Engleska, Tjuring, Colosus (dešifrovanje); 1800 cevi – aritmetika – specijalna namena 1943. američka vojska: ENIAC (“The Electronic Numerical Integrator and Calculator”); Eckert, Mauchly; 1946. završen; 1700 cevi, 30 tona, 30x3m – računao trajektorije u sekundama – specijalna namena EDVAC – programabilan; projekat John von Neumann – 1945-47; koncept elektronskog programabilnog računara 1949. EDSAC M. Wikes – realizacija programabilnog računara 1949. UNIVAC Eckert, Maucly – projekat komercijalnog računara Generacije savremenih elektronskih računara I generacija (1951 – 1958) Elektronske cevi Magnetni doboš – memorija Nauka, inženjerstvo Bušene kartice Mašinski i simbolički jezik II generacija (1959 – 1963) Poluprovodnici za tranzistore Od 1954 – silicijum umesto germanijuma Magnetno jezgro – memorija Magnetni diskovi i trake FORTRAN: John Backus, 1957 blizak matematičkoj notaciji efikasno prevođenje na mašinski jezik LISP, 1958, McCarthy, rad sa listama; COBOL Prenisovost programa, čitljivost Novi korisnici Generacije savremenih elektronskih računara (nast.) III generacija (1964 – 1979) Integrisana kola – silicijumski čip MOS (Metal Oxide Semiconductor) memorija - silicijumski čip Telekomunikacioni sateliti Operativni sistemi 1972, Kovalski: Prolog – neproceduralan Algol 60 (60-tih g.) Algol W (1966): poboljšano struktuiranje podataka Pascal (1971): dalja poboljšanja Modula 2 (1983): koncept modula (Wirth) Oberon (1988): Wirth Generacije savremenih elektronskih računara (nast.) CPL (Strachy 1966) – Combined Programming Language: nije u potpunosti implementiran; uvodi koncepte BCPL (Richards 1969): Basic CPL – za pisanje kompilatora C 1972 – Dennis Ritchie – implementacioni jezik za softver vezan za operativni sistem UNIX (1973. prepisan u C) 1977 usavršen sistem tipova C-a C++ (Stroustrup 1986) – definisanje novih tipova; klase pozajmljene od Simule 67; strogo tipiziran sistem 1989. C standard / vs. K&R Generacije savremenih elektronskih računara (nast.) IV generacija (1979 – danas) LSI, VLSI Mikroprocesor: memorija, logika i kontrolna kola Personalni računari, npr. IBM PC, Apple Macintosh Poslovna i lična upotreba Jezici IV generacije – specijalne namene - za rad sa bazama podataka, raširenim tabelama, obradu teksta Internet - teleizračunavanje Zadatak Naći na Internetu tekstove i fotografije: Paskal, Lajbnic, Bebidž, Ada Bajron, Dž. fon Nojman, Zuse, Tjuring, Eckert, Mauchly Abakus, Mark I, ENIAC, EDVAC, EDSAC, UNIVAC Internet