CpSc 20y: Object-Oriented Programming Lab
Focus on programming well.
Use simple algorithms.
Leave the teaching of cool algorithms for CpSc 320.
Basics of classes and objects.
The principles of encapsulation:
Applying the idea of data invariants (from CpSc 20a).
Why data should "always" be private.
Why methods must maintain the object invariants.
Separate compilation:
Breaking programs into multiple classes
Using existing APIs.
Inheritance:
Examples of use of inheritance to write code more systematically
and to simplify code.
Using inheritance to extend classes from an API.
When inheritance doesn't make sense:
using interfaces instead of inheritance.