Computer System Engineering
MIT OpenCourseWare's Computer System Engineering covers the design principles behind large software and hardware systems. Topics include techniques for controlling complexity, strong modularity through client-server design, operating systems, networks, naming, performance, security and privacy, fault-tolerant systems, atomicity, coordination of concurrent activities, and recovery. The course also considers the broader impact of computer systems on society. Materials include lecture notes, assignments, and readings drawn from MIT's electrical engineering and computer science curriculum. It suits students who already have some programming and systems background and want a rigorous look at how large-scale computing infrastructure is engineered to be reliable and secure. As with other MIT OCW offerings, all materials are free to access under a Creative Commons license, with no certificate offered.