Computer System Engineering
This is a course description for Massachusetts Institute of Technology’s (MIT) course 6.033, Computer System Engineering. It covers topics on the engineering of computer software and hardware systems, such as: 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. The page also includes links to video lectures, lectures notes, assignments, exams, additional readings and projects. This course description is part of MIT OpenCourseWare, an initiative of the Massachusetts Institute of Technology to put all of the educational materials from its undergraduate and graduate-level courses online and make them freely accessible.