Design of Distributed Software Applications

More Information

UBC Calendar

Course Page

4 Credits

CPEN 431

Communications, processes, naming, synchronization, consistency and replication, fault tolerance, object-based middleware, and security technologies for distributed applications. [3-2-0]

Course Outline

CPEN 431 (Design of Distributed Software Applications) is an introductory course in distributed systems (fourth year undergraduate elective). The goal of this course is to providing students with theoretical knowledge and hands-on experience to design, implement, and analyze distributed systems and applications. Where possible and appropriate we will use examples from modern distributed systems such as peer-to-peer systems, distributed gaming, and distributed file systems to illustrate concepts discussed in class.

The students are expected to learn key principles of modern distributed systems (e.g., wide area communication, naming, synchronization, consistency and replication, fault tolerance, security) and gain hands-on experience with “live” large-scale systems.

Textbook

"Distributed Systems: Principles and Paradigm" By Andrew S. Tanenbaum, Maarten van Steen. Publisher: Prentice Hall; 2nd edition

Prerequisites

ONE of
CPEN 331 - Operating and File Systems
CPSC 313 - Computer Hardware and Operating Systems
AND ONE of
CPEN 221 - Principles of Software Design
CPSC 210 - Software Construction

Corequisites

ONE of
ELEC 331 - Computer Communications
CPSC 317 - Internet Computing

 

Professor: 

a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949
Email:

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2017 The University of British Columbia