6.033: Computer Systems Engineering
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. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Two design projects. Students engage in extensive written communication exercises. Enrollment may be limited. 4 Engineering Design Points.