Course Number / Section:

CIS 4307 / 001

Course Title:

Introduction to Distributed Systems and Networking


Dr. Giorgio P. Ingargiola


Wachman Hall, Room 1038.





Course Web Page:


Web Site for Complete  Syllabus:


CIS166, CIS207, and CIS223 must have been completed with a grade of C or better.


Tanenbaum & Vansteen: “Distributed Systems, Principles and Paradigms”, Prentice-Hall ;Stevens, Fenner, Rudoff: “Unix Network Programming”, Volume 1, 3rd edition, Addison-Wesley, 2004.


Course Goals:

The aim is to acquire a system perspective and an understanding of enduring issues, like reliability, security, scalability, performance evaluation, and of the trade-offs they involve.


Topics Covered:

Introduction to the concepts that are fundamental for understanding distributed systems and the technical infrastructure that makes them possible. We re-examine issues presented in operating systems, like concurrency, mutual exclusion, deadlocks, and scheduling, and examine issues that arise in distributed systems, like partial failures and lack of a single clock. We review the networks that make distributed systems possible. Finally we examine simple patterns for programming distributed applications.




Attendance Policy:


Attendance to labs is mandatory; Attendance will be taken during lectures.