88 shaares
16 private links
16 private links
This course will teach the art of software design: how to decompose large complex systems into classes that can be implemented and maintained easily. Topics include information hiding, deep classes, API design, managing complexity, error handling, and how to write in-code documentation. The class will involve significant system software implementation and will use an iterative approach consisting of implementation, review, and revision. The course will be taught in a studio format consisting mostly of in-class discussions and code reviews. Course enrollment is limited; you must apply for admission.