Principles and techniques for engineering distributed systems with topics including communication, concurrency, programming paradigms, naming, managing shared state, caching, synchronization, reaching agreement, fault tolerance, security, middleware and distributed applications; design, implement and debug large software systems. ; junior or senior classification, or approval of instructor Credits 3. 3 Lecture Hours.
Principles and techniques for engineering distributed systems with topics including communication, concurrency, programming paradigms, naming, managing shared state, caching, synchronization, reaching agreement, fault tolerance, security, middleware and distributed applications; design, implement and debug large software systems. ; junior or senior classification, or approval of instructor Credits 3. 3 Lecture Hours.