Brief Description

Computer systems need to work together. But figuring out how computer systems can work together efficiently isn’t easy. This course offers both principles and hands-on experiences for engineering distributed computer systems and cyber-physical systems (ranging from Internet-scale cloud computing to embedded systems in a car). This course is designed with a dozen of practical and creative projects (featuring Arduino embedded systems, Android mobile systems, Amazon Web Services).


Undergraduate course in operating systems/computer systems engineering, programming experience.


Sid C-K Chau (ckchau@masdar.ac.ae)

Teaching Assistants


Time and Venue

Mondays, Wednesdays (1:00pm-2:30pm)

Meeting Room 9 (1B)


Class Participation 10%
Mid-term Exam 15%
Final Exam 15%
Assignments/Labs 20%
Presentations 40%



  1. Computer Networking; James F. Kurose and Keith W. Ross; Pearson Addison-Wesley.
  2. Distributed Systems: Principles and Paradigms; Andrew Tanenbaum and Maarten van Steen; Prentice Hall.
  3. Android Cookbook; Ian F. Darwin; O’Reilly Media.
  4. Programming Amazon Web Services; James Murty; O’Reilly Media.
  5. Arduino Cookbook; Michael Margolis; O’Reilly Media.