Open Computing

Learning Outcomes

  1. Define the notions of openness, freedom in computing
  2. Explain the role of standards in open systems
  3. Analyze existing computing systems with respect to openness
  4. Apply standards in design and development of open computing systems
  5. Compose existing open data sources and software components in the development of new computing systems

Forms of Teaching

Lectures

Lectures

Partial e-learning

Elements of e-Learning

Laboratory

Laboratory Exercises

Week by Week Schedule

  1. Principles of open systems , Key properties of open systems , Legal aspects and business models , Examples of open and closed systems
  2. Character and data type representations , Open data fomats , Data transformations
  3. Data transformations , Metadata , Open data sources
  4. 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
  5. 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
  6. Web standards
  7. Web standards
  8. Midterm exam
  9. Web standards
  10. Web standards
  11. Web standards, REST architectural style, RESTful API design
  12. 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
  13. Programming middleware for distributed systems
  14. Programming middleware for distributed systems, Security and privacy in open systems
  15. Final exam

Study Programmes

University undergraduate
Computing (study)
Elective Courses (5. semester)
Electrical Engineering and Information Technology (study)
Elective Courses (5. semester)

Literature

(.), 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,

Associate Lecturers

General

ID 183451
  Winter semester
5 ECTS
L1 English Level
L2 e-Learning
45 Lectures
0 Exercises
12 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable