Computer System Engineering Course

Computer System Engineering

Hari Balakrishnan
MIT

Course Description

This course covers topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; recovery and reliability; privacy, security, and encryption; and impact of computer systems on society. It also looks at case studies of working systems and readings from the current literature provide comparisons and contrasts, and do two design projects.

Lectures

  1. Naming Lecture favorites
  2. Fault Isolation with Clients and Servers Lecture favorites
  3. Virtualization and Virtual Memory Lecture favorites
  4. Virtual Processors: Threads and Coordination Lecture favorites
  5. Performance Lecture favorites
  6. Introduction to Networks Lecture favorites
  7. Layering and Link Layer Lecture favorites
  8. Network Layer, Routing Lecture favorites
  9. End-to-end Layer Lecture favorites
  10. Congestion Control  Lecture favorites
  11. Distributed Naming Lecture favorites
  12. Reliability Lecture favorites
  13. Atomicity Concepts  Lecture favorites
  14. Recoverability Lecture favorites
  15. Isolation Lecture favorites
  16. Transactions and Consistency Lecture favorites
  17. Multi-site Atomicity Lecture favorites
  18. Security Introduction Lecture favorites
  19. Authentication Lecture favorites
  20. Authorization and Confidentiality Lecture favorites
  21. Advanced Authentication Lecture favorites
  22. Complex, Trusted Systems Lecture favorites
Leave Feedback