This course features videos and lecture notes for most sessions in the lecture notes with video
section. In addition an extensive bibliography of assigned and recommended readings is provided in the readings
Extensive project information, including student submissions, are also provided in the projects section.
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. Enrollment may be limited. This course is worth 4 Engineering Design Points.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5501 (Computer System Engineering).
*Some translations represent previous versions of courses.