Any significant web application quickly becomes a distributed system.
This is both good news and bad news: distributed systems can help provide fault tolerance and low latency global applications, but at the cost of strong consistency guarantees. Without a solid understanding of distributed systems principles, it is hard to achieve the benefits of distributed systems without succumbing to the hazards.
Our course focuses on practical considerations for practicing software engineers. We will cover enough theory to help students make good choices when working on or with distributed systems.
This course presumes a strong grasp of operating systems, databases and networking fundamentals. For students without an undergraduate computer science background, we strongly advise taking our operating systems, databases and networking courses before attempting distributed systems.
This course is next scheduled to run in March 2017. Apply now to be considered; exact dates and times will be finalized based on participant availability. Classes will be approximately nine hours per week for three weeks, for a total price of $1,800