MIT 6.033 Computer System Engineering, Spring 2005

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. We will also look at case studies of working systems and readings from the current literature provide comparisons and contrasts, and do two design projects. Students engage in extensive written communication exercises. Created by MIT OpenCourseWare.


Average Course Length

35 hours


Skill Level

Intermediate



Pick a lesson


1: Lecture 4
2: Lecture 5
3: Lecture 6
4: Lecture 7
5: Lecture 8
6: Lecture 9
7: Lecture 10
8: Lecture 11
9: Lecture 12
10: Lecture 13
11: Lecture 14
12: Lecture 15
13: Lecture 16
14: Lecture 17
15: Lecture 18
16: Lecture 19
17: Lecture 20
18: Lecture 21
19: Lecture 22
20: Lecture 23
21: Lecture 24
22: Lecture 25