ITEC 452: Distributed Computing.
Prerequisites: ITEC 310, ITEC 350, and ITEC 371
Credit Hours: (3)
Covers analysis and design of distributed systems.
Detailed Description of Content of Course
1. Introduction to distributed systems
2. Models in distributed systems
3. Representing distributed algorithms
4. Program correctness
5. Time in distributed systems
6. Mutual exclusion
7. Distributed snapshot
8. Global state collection
9. Coordination algorithms
10. Fault tolerant systems
11. Distributed consensus
12. Group communication
13. Replicated data management
15. Hands-on programming and implementation projects.
Detailed Description of Conduct of Course
Course is conducted using lecture, a hands-on programming and implementation project, and a research project. In the hands-on programming and implementation project, students will configure internet routing protocols with at least three domains after building a small local area network. Students will start the project from cabling, installing various operating systems on the computers.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Identify and describe important issues in distributed systems and models of communication.
2. Represent distributed algorithms including nondeterminism, atomic operations, fairness, and scheduling, and show correctness of distributed programs.
3. Describe time, mutual exclusion, distributed shapshots, global state collection, coordination algorithms, synchronizers, and fault-tolerant systems in distributed systems.
4. Write a research paper on a state-of-the-art distributed system.
In-class exams, hands-on programming and implementation project, and a research paper will be used to measure each student’s performance.
Other Course Information
Review and Approval
DATE ACTION APPROVAL
Sept. 25, 2001 New Course John P. Helm, Chair
February, 2003 Revisions John P. Helm, Chair
December 2004 Revisions Joseph Chase, Chair
April 2005 Revisions Robert H. Phillips,
Revised: June 1, 2012