CSE 5241/4510-E1 Distributed Computing
Distributed Computing
Fall 99
MW 6:30-7:45pm, Q10
Phil Chan
237 Crawford, 674-7280
pkc@cs.fit.edu
Office Hours: MW 1-2:30pm and T 3:30-5pm (or by appointment)
Course WWW Page: http://www.cs.fit.edu/~pkc/classes/dc/
This course introduces fundamental concepts in software systems that
support and work in a distributed computing environment. Topics in
network communication mechanisms, distributed operating systems,
services supporting distributed systems, distributed database systems,
fault-tolerant systems, and distributed algorithms are discussed.
Programming assignments include implementing different models of
distributed systems: client-server, master-worker, and peer-to-peer.
Books
-
Distributed Systems: Concepts and Design,
Coulouris, Dollimore, and Kindberg,
Second Edition, Addison-Wesley, 1992.
- Reference:
- Internetworking with TCP/IP:
Client-server Programming and Applications,
Volume 3, BSD Socket Version,
Comer and Stevens,
Second Edition, Prentice Hall, 1996.
- Java Distributed Computing,
Jim Farley, James Farley, Mike Loukides,
O'Reilly, 1998.
- Thread Time: The MultiThreaded Programming Guide,
Norton and DiPasquale,
Prentice Hall, 1996.
- Java Threads,
Oaks and Wong,
O'Reilly, 1997.
Tentative Schedule
- Networking and communication concepts (Ch 1-5)
- Distributed operating systems (Ch 6)
- File services (Ch 7-8)
- Time and coordination (Ch 10)
- Replication (Ch 11)
- Shared data (distributed database systems) (Ch 12-15.2)
- Fault Tolerance (Ch 15.3-4)
Prerequisites
- Data Structures and Algorithms (CSE 2001/2010/5020/5100)
- Operating Systems (CSE 4001/5045/5230)
- Proficient in programming (C, C++, or Java).
Evaluation
- Midterm exam (20%) and Final exam (30%)
- Homework assignments (50%)
- Term paper: a survey of a topic on distributed computing chosen by the
student (CSE 5241 students only)
Policies
- Students are encouraged to help each other on assignments,
but plagiarism (copying) is prohibited.
- Late assignments are accepted, but 20% is deducted for each day.
- Documentation constitutes 10% of each programming assignment.