" 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. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Two design projects are required, and students engage in extensive written communication exercises."
This course is a core electrical engineering computer science subject at MIT. It introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing. Several programming projects of varying size undertaken by students working individually and in groups.
No restrictions on your remixing, redistributing, or making derivative works.
Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some
restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make
derivative works.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based
educators, or other custom arrangements. Go to the resource provider to see
their individual restrictions.