what will students learn from the lesson/topic
- understands different interface styles
- (e.g. synchronous/asynchronous, document/rpc)
- knows how to describe interface behavior, e.g. with pre/post conditions (interfaces as contracts)
- understands re-entrance in component interfaces (callbacks and contracts)
- knows about the process of evolving APIs (breaking and non-breaking changes)
- understands typical problems of specialization interfaces (fragile base class problem) and their solutions
how to exercise the topic
- study/quality analysis of existing interfaces
books we expects teachers to know or use for preparation
books / web resources students should read for self study
- definition of expected prerequisites per topic/lesson
- potential guides for students to prepare