CSC 7260 - Distributed Systems
Every Winter, Department of Computer Science, Wayne State University, 2026
Course Description
This course covers both basic distributed computing ideas and system designs that support distributed applications. Students develop a thorough understanding of the fundamentals of distributed computing, learn to construct distributed system components, and comprehend the current state of the art across various areas of distributed systems - including abstract concepts and practical methods for creating system support for distributed applications.
Course Objectives
Core Concepts
Understand logical clocks, consistent cuts, consensus, replication, and fault tolerance in distributed systems.
Implementation Skills
Learn standard techniques to build correct and performant distributed systems and applications.
Practical Systems
Be familiar with multiple practical distributed systems underpinning popular real-world applications and services.
Principled Design
Know how systems are realized by relying on core distributed computing concepts and design patterns.
Topics
Foundations
- Introduction: definitions, design goals, types
- Architectures: styles, middleware, system
- Processes: threads, virtualization, clients, servers
Communication & Naming
- Communication: foundation, remote call, message-oriented
- Naming: flat, structured, and attribute-based approaches
Coordination & Consistency
- Coordination: clock sync, election algorithm
- Consistency and replication: client-centric models, replica management
Reliability & Security
- Fault tolerance: process resilience, reliable communication, recovery
- Security: secure channel, access control, secure naming
Prerequisites & Materials
Prerequisites
CSC 5250 with a minimum grade of C, or waived by the instructor.Attendance
In-person by default. Online attendance is available upon approval.