Last updated: Feb 08, 23 18:46 UTC | Permalink
Week 9 - Distributed Systems & Static Program Analysis
Learning Objectives:
In this week of the course, you will learn to:
- Decide why would you want to build your system as a distributed system
- Describe 5 key goals of distributed systems
- Describe partitioning and replication as building blocks for distributed systems
- Evaluate the trade-offs between consistency and availability in distributed systems
- Answer the question: how does partitioning and replication help us satisfy requirements for distributed systems?
- Explain good uses for static analyzers
- List limitations of static analyzers and program verification
Important Dates:
- HW4 due 3/25
Lessons:
- Why Engineer Distributed Software Slides PDF, PPT
- Strategies for Engineering Distributed Software Slides PDF, PPT
- Static Program Analysis Slides PDF, PPT
Additional Readings:
- “Distributed Systems for Fun and Profit” by Mikito Takada
- “The CAP FAQ - The Paper Trail”
- Software Engineering @ Google, Chapter 20 (Static Analysis)