6.102: Software Construction
We learned how to write code that is Safe From Bugs (SFB), Easy to Understand (ETU), and Ready for Change (RFC).
Specifically from the course website, things like interfaces, representation independence, specifications, invariants, abstract data types, design patterns, and unit testing. We coded everything in TypeScript.
The course website from my semester is archived here.