Open Computing

Course Description

Definition of term Open Computing, with emphasis on portability, flexibility, accessibility and interoperability. Comparison of the relationships among the open hardware, software and users. Analysis of standards, their roles and standardization process, with emphasis on Internet-related standards and openness. Explanation of the tagging and example of the presentation of content using HTML language. Presentation of structured data using XML language. Representation of rules in the XML language, visualization, transformation and filtering data, as well as real-world examples of XML language usage. Analysis of distributed computing concepts (ubiquitous, wireless, mobile, pervasive) based on open standards and products. Design principles in open, distributed, dynamic, interactive information services and systems, mostly based on the Web and associated concepts, technologies, and protocols (REST, Web 2.0, RIA, SOA, HTTP, URI, MIME, sessions), client (DHTML , Flash) and server technologies (servlets, ASP, JSP), concepts (MVC, DHTML, AJAX) and languages (PHP, JavaScript, Java). Basics of security of open systems and the Internet, as well as terms of "free of costs", freedom of usage and licensing in computer science.

General Competencies

This course capacitates for comprehension of open network computing concepts and development of dynamical interactive network services. Based on given parameters, students will be capable to choose appropriate architecture for network information application or system. Using tools and learned languages, they will be able to build a system for generation, management and utilization of dynamic content based on open technologies.

Learning Outcomes

  1. define term open computing and openness
  2. describe basic Internet and Web standards
  3. use structured data in XML form
  4. apply HTML and CSS languages in Web site pages
  5. explain communication between browser and Web server
  6. explain basic server and client Web technologies
  7. apply different Web technologies
  8. apply open technology based on its features

Forms of Teaching

Lectures

Lectures will be held 3 hours per week

Exams

Exams in written and oral form

Laboratory Work

Laboratory exercises will be held every other week for 2 hours

E-learning

Usage of additional content in e-learning management system

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 0 % 25 % 0 % 25 %
Quizzes 0 % 15 % 0 % 15 %
Mid Term Exam: Written 0 % 20 % 0 %
Final Exam: Written 0 % 25 %
Final Exam: Oral 15 %
Exam: Written 0 % 45 %
Exam: Oral 15 %
Comment:

To access the written part of exam / final exam it is necessary to submit all laboratory work and collect a minimum of 50% points, and collect a minimum of 50% points from the mid-term exam. To access the oral exam / final exam it is necessary to collect a minimum of 45 points from all previous forms of verification. Oral exam is mandatory and it is necessary to acquire at least 5 of 15 points to pass the course.

Week by Week Schedule

  1. Introduction to Open Computing; Course organization; Definitions of Open computing (portability, adaptability, accessibility, interoperability); Open systems examples; History of open computing; Legends and myths of Open computing
  2. Introduction to tag programming (SCCS, nroff, SGML - Standard Generalized Markup Language); Visualization of content on Web (HTML - HyperText Markup Language); Design of content on Web (CSS - Cascading Style Sheets); Data forms on Web
  3. Structured data; Introduction to XML (Extensible Markup Language); Rules of XML; Applications of XML; Namespaces; XML rules using DTD (Document Type Definition); XSD - XML Schema Definition
  4. Data vizualization, transformations and filtering; DOM - Document Object Model; XML and DOM; Sequential parsing (SAX - Simple API for XML); XSL - Extensible Stylesheet Language (XPath, XSLT, XSL-FO)
  5. XML usage examples (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); Standards (in general, examples, W3C standards, text data encodings)
  6. Distributed systems and Web technologies; Browser, server and communication (URI - Uniform Resource Identifier , MIME - Multipurpose Internet Mail Extensions, preglednici, HTTP - HyperText Transfer Protocol, CGI); PHP language
  7. Other server side Web technologies (ASP, Servlets, JSP ...); Programming languages and openness (portability and scalability, reduction of complexity, standardization and licensing); Object oriented programming and Java
  8. Mid-term exam
  9. Distributed systems; Layered architecture; Distributed applications architecture;
  10. Clients and servers; Inter-process communication; Application protocols; Protocol mechanisms and services states
  11. Web technologies and application server (Servlets, MVC design pattern - Model-View-Controller, JSP - JavaServer Pages, JavaBeans)
  12. Client Web technologies (DHTML - Dynamic HTML, JavaScript, Flash); Web 2.0; RIA - Rich Internet Applications; Sessions and statefullness; REST and Web applications
  13. SOA - Service Oriented Architecture; Coupling; Examples (Eclipse, XML-RPC, SOAP); Security and openness (general terms, algorithms, Internet and security)
  14. Wireless and mobile computing (Applets, Midlets, WAP, Java Card); Various examples of open (and closed) systems; Free as free of costs and free for usage, and openness in computing; Creative Commons licence; Other (ORscar award)
  15. Final exam

Study Programmes

University undergraduate
Computer Engineering (module)
(6. semester)
Software Engineering and Information Systems (module)
Elective Courses (6. semester)
Telecommunication and Informatics (module)
Elective Courses (6. semester)

Literature

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

Lecturers

Laboratory exercises

Grading System

ID 34286
  Summer semester
4 ECTS
L0 English Level
L2 e-Learning
45 Lecturers
0 Exercises
15 Laboratory exercises

General

87.5 Excellent
75 Very Good
62.5 Good
50 Acceptable