Open Computing

  • Class 45
  • Practice 12
  • Independent work 93
Total 150

Course title

Open Computing

Lecture type


Course code






Lecturers and associates

Course objectives

Principles of open systems ; Key properties of open systems ; Legal aspects and business models ; Examples of open and closed systems .
Character and data type representations ; Open data fomats ; Data transformations .
Data transformations ; Metadata ; Open data sources .
Web programming languages (e.g., HTML5, Java Script, PHP, CSS); Web architectures and protocols; Port and socket; Socket application programming interface (API); Name and address.
HTTP, AJAX, and websocket protocol; User Datagram Protocol (UDP) server and client; Command line arguments parsing; Program testing; Application protocols based on UDP; Transmission Control Protocol (TCP) server and client; Concurrency; Application protocols based on TCP; Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP); Simple HTTP server; I/O multiplexing; Threading.
Web standards.
Web standards.
Midterm exam.
Web standards.
Web standards.
Web standards; REST architectural style; RESTful API design.
Distributed system architectures; Distributed system design tradeoffs; Processes and communication in distributed systems; Distributed messaging; Distributed system modelling: synchronous and asynchronous models; Process synchronisation: physical and logical time.
Programming middleware for distributed systems.
Programming middleware for distributed systems; Security and privacy in open systems .
Final exam.

Required reading

(.), Open Systems And Standards For Software Product Development; P.A.Dargan; Artech House; 2005; ISBN: 978-1580537490,
(.), UNIX i kako ga iskorisiti (1. internetsko izadnje); M.Žagar; Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva; 2007; ISBN: 978-9539522313,
(.), Open Source: A Multidisciplinary Approach; M.Muffatto; Imperial College Press; 2006; ISBN: 978-1860946653

Minimal learning outcomes

  • Define the notions of openness, freedom in computing
  • Explain the role of standards in open systems
  • Analyze existing computing systems with respect to openness
  • Apply standards in design and development of open computing systems
  • Compose existing open data sources and software components in the development of new computing systems
SHARE : Facebook Twitter