Otvoreno računarstvo

Opis predmeta

Definira se pojam otvorenog računarstva (Open Computing) uz naglasak na prenosivost, prilagodljivost, dostupnost i suradnju. Uspoređuju se odnosi između otvorene sklopovske i programske opreme te korisnika. Analiziraju se norme, njihova uloga i načini donošenja, uz naglasak na norme vezane uz Internet i otvorenost. Objašnjava se programiranje oznakama te prikazuje na primjeru prezentacije sadržaja korištenjem jezika HTML. Upoznaje se sa strukturiranim zapisom podataka i uporabom jezika XML. Predstavljaju se pravila korištena kod zapisa u jeziku XML, zatim vizualizacije, transformacije i filtriranja podataka, kao i uporaba jezika XML na primjerima. Analiziraju se koncepti raspodijeljenog računarstva (sveprisutnog, bežičnog, mobilnog, prožimajućeg) temeljeni na otvorenim normama i proizvodima. Objašnjavaju se principi izgradnje otvorenih, raspodijeljenih, dinamičkih, interaktivnih informacijskih usluga i sustava, većinom zasnovanih na Webu, te pripadajući pojmovi, tehnologije i protokoli (REST, Web 2.0, RIA, SOA, HTTP, URI, MIME, sjednice), klijentske (DHTML, Flash) i poslužiteljske tehnologije (Servleti, ASP, JSP), koncepti (MVC, DHTML, AJAX), kao i jezici (PHP, JavaScript, Java). Objašnjavaju se osnove sigurnosti otvorenih sustava i Interneta, kao i pojmovi besplatnosti, slobode i licencija u računarstvu.

Opće kompetencije

Predmet osposobljava za razumijevanje koncepata mrežnog i otvorenog računarstva te razvoj dinamičkih interaktivnih mrežnih usluga. Studenti će biti sposobni na temelju zadanih parametara odabrati prikladnu arhitekturu mrežnog informacijskog aplikacije ili sustava. Korištenjem alata i naučenih jezika moći će izgraditi sustav za generiranje, upravljanje i korištenje dinamičkih sadržaja temeljenih na otvorenim tehnologijama.

Ishodi učenja

  1. definirati pojam otvorenog računarstva i otvorenosti
  2. opisati osnovne otvorene norme vezane uz Internet i Web
  3. koristiti stukturirani zapis podataka u obliku jeziku XML
  4. primijeniti jezike HTML i CSS na stranice sjedišta Weba
  5. objasniti komunikaciju preglednika i poslužitelja Weba
  6. objasniti osnovne poslužiteljske i klijentske tehnologije Weba
  7. upotrijebiti raznolike tehnologije Weba
  8. primijeniti otvorenu tehnologiju na temelju njenih značajki

Oblici nastave

Predavanja

Predavanja će se održati po 3 sata tjedno

Provjere znanja

Provjere znanja su u pismenom i usmenom obliku

Laboratorijske vježbe

Laboratorijske vježbe će se održati svaki drugi tjedan po 2 sata

E-učenje

Korištenje dodatnih sadržaja u sustavu za e-učenje

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 0 % 25 % 0 % 25 %
Kratke provjere znanja 0 % 15 % 0 % 15 %
Međuispit: Pismeni 0 % 20 % 0 %
Završni ispit: Pismeni 0 % 25 %
Završni ispit: Usmeni 15 %
Ispit: Pismeni 0 % 45 %
Ispit: Usmeni 15 %
Napomena / komentar

Za pristup pismenom dijelu ispita / završnog ispita potrebno je predati sve laboratorijske vježbe i sakupiti minimalno 50% bodova, te sakupiti minimalno 50% bodova iz međuispita. Za pristup usmenom dijelu ispita /završnog ispita potrebno je minimalno sakupiti 45 bodova iz svih dotadašnjih oblika provjera. Usmeni dio ispita je obavezan, te je za ukupni prolaz ispita potrebno sakupiti najmanje 5 od 15 bodova.

Tjedni plan nastave

  1. Uvod u otvoreno računarstvo; Organizacija predmeta; Definicije otvorenog računarstva (prenosivost, prilagodljivost, dostupnost, suradnja); Primjeri otvorenog računarstva; Povijest otvorenog računarstva; Legende i mitovi otvorenog računarstva
  2. Uvod u programiranje oznakama (SCCS, nroff, SGML - Standard Generalized Markup Language); Vizualizacija sadržaja na Webu (HTML - HyperText Markup Language); Dizajn sadržaja na Webu (CSS - Cascading Style Sheets); Obrasci za unos podataka na Webu
  3. Strukturirani zapis podataka; Uvod u jezik XML (Extensible Markup Language); Pravila jezika XML; Primjene jezika XML; Prostori imena; Zapis pravila jezika XML korištenjem DTD (Document Type Definition); Definicija sheme jezika XML (XSD - XML Schema Definition)
  4. Vizualizacije, transformacije i filtriranja podataka; Objektni model dokumenta (DOM - Document Object Model), Jezik XML i DOM; Sekvencijalno parsiranje (SAX - Simple API for XML); XSL - Extensible Stylesheet Language (XPath, XSLT, XSL-FO)
  5. Primjeri korištenja jezika XML (SMIL - Synchronized Multimedia Integration Language; RSS - Really Simple Syndication; SVG - Scalable Vector Graphics; GML - Geography Markup Language; ODF - Open Document Format; OOXML - Office Open XML); Norme (općenito, primjeri, W3C norme, norme zapisa tekstualnih podataka)
  6. Raspodijeljeni sustavi i tehnologije Weba; Preglednik, poslužitelj i komunikacija (URI - Uniform Resource Identifier , MIME - Multipurpose Internet Mail Extensions, preglednici, HTTP - HyperText Transfer Protocol, CGI); Jezik PHP
  7. Ostale poslužiteljske tehnologije Weba (ASP, Servleti, JSP ... ); Programski jezici i otvorenost (prenosivost i skalabilnost, smanjenje složenosti, normiranost i licenciranje); Objektno orijentirano programiranje i jezik Java
  8. Međuispit
  9. Raspodijeljeni sustavi; Slojevita arhitektura; Arhitekture raspodijeljenih aplikacija;
  10. Klijenti i poslužitelji; Međuprocesna komunikacija; Aplikacijski protokoli; Mehanizmi protokola i stanja usluga
  11. Tehnologije Weba i aplikacijski poslužitelji (Servleti, predložak oblikovanja MVC - Model-View-Controller, JSP - JavaServer Pages, JavaBeans)
  12. Klijentske tehnologije Weba (DHTML - Dynamic HTML, JavaScript, Flash); Web 2.0; RIA - Rich Internet Applications; Sjednice i pamćenje stanja; REST i aplikacije Weba
  13. Uslužno usmjerena arhitektura (SOA - Service Oriented Architecture); Sprega; Primjeri (Eclipse, XML-RPC, SOAP); Sigurnost i otvorenost (osnovni pojmovi, algoritmi za šifriranje - dešifriranje, sigurnost na Internetu)
  14. Bežično i mobilno računarstvo (Appleti, Midleti, WAP, Java Card); Razni primjeri otvorenih (i zatvorenih) sustava; Besplatnost, sloboda i otvorenost u računarstvu; Licencija Creative Commons; Ostalo (nagrada ORscar)
  15. Završni ispit

Studijski programi

Sveučilišni preddiplomski
Programsko inženjerstvo i informacijski sustavi (modul)
Izborni predmeti (6. semestar)
Računalno inženjerstvo (modul)
(6. semestar)
Telekomunikacije i informatika (modul)
Izborni predmeti (6. semestar)

Za upis predmeta treba položiti predmete

Literatura

P.A.Dargan (2005.), Open Systems And Standards For Software Product Development, Artech House
M.Žagar (2007.), UNIX i kako ga iskorisiti (1. internetsko izadnje), Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva
M.Muffatto (2006.), Open Source: A Multidisciplinary Approach, Imperial College Press
B. Eckel (2002.), Thinking in Java (3. elektroničko izdanje), Prentice Hall
L. Rosen (2004.), Open Source Licensing: Software Freedom and Intellectual Property Law, Prentice Hall 2004

Predavanja

Laboratorijske vježbe

Izvedba

ID 34286
  Ljetni semestar
4 ECTS
R0 Engleski jezik
R2 E-učenje
45 Predavanja
0 Auditorne vježbe
15 Laboratorijske vježbe

Ocjenjivanje

87.5 izvrstan
75 vrlo dobar
62.5 dobar
50 dovoljan