Software Construction | MIT Online Courses | Programming Fundamentals
MIT
Dive into the fundamental principles and techniques of software development at MIT. Learn to write high-quality, maintainable code through topics like testing, state machines, and concurrent programming.
University CoursesObject-Oriented ProgrammingProgramming
Introduction
This course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change.
Highlights
Specifications and invariants
Testing, test-case generation, and coverage
State machines
Abstract data types and representation independence
Design patterns for object-oriented programming
Concurrent programming, including message passing and shared concurrency, and defending against races and deadlock
Functional programming with immutable data and higher-order functions
Recommendation
This course is recommended for students interested in learning fundamental principles and techniques of software development, including how to write high-quality, maintainable code.
How GetVM Works
Learn by Doing from Your Browser Sidebar
Access from Browser Sidebar
Simply install the browser extension and click to launch GetVM directly from your sidebar.
Select Your Playground
Choose your OS, IDE, or app from our playground library and launch it instantly.
Learn and Practice Side-by-Side
Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.