Course Description
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.
Basic Information
|
Useful Links
Upcoming Class Meetings
Full class schedule... »
Upcoming Projects
All projects... »
|