This course is a supplemental component of Designing Embedded Software for Change and Abstractions and Interfaces. We walk through (and expand upon) a process that David Parnas has described in many of his works.
Designing New Modules and Systems for Change
We share a design approach for creating new systems and modules that is based on the principles of information hiding and separation of concerns.