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



Partial e-learning

Elements of e-Learning


Laboratory Exercises

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 40 % 25 % 40 % 25 %
Class participation 40 % 20 % 0 % 0 %
Mid Term Exam: Written 40 % 20 % 0 %
Final Exam: Written 40 % 25 %
Final Exam: Oral 10 %
Exam: Written 40 % 50 %
Exam: Oral 25 %

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)
University graduate
Computer Engineering (profile)
Profile obligatory course (1. semester)
Software Engineering and Information Systems (profile)
Elective Courses (1. semester) (3. semester)


(.), Open Systems And Standards For Software Product Development; P.A.Dargan; Artech House; 2005; ISBN: 978-1580537490,
Bastiaan van Loenen, Glenn Vancauwenberghe, Joep Crompvoets (2018.), Open Data Exposed, Springer
(.), Open Source: A Multidisciplinary Approach; M.Muffatto; Imperial College Press; 2006; ISBN: 978-1860946653,

Laboratory exercises


ID 183451
  Winter semester
L0 English Level
L3 e-Learning
45 Lectures
0 Exercises
12 Laboratory exercises
0 Project laboratory

Grading System

87,5 Excellent
75 Very Good
62,5 Good
50 Acceptable