1. Read and understand a problem, description, purpose, and goals.
2. Apply data abstraction and encapsulation.
3. Read and understand class specifications and relationships among the classes('is-a,' 'has-a' relationships).
4. Understand and implement a given class hierarchy.
5. Identify reusable components from existing code using classes and class libraries. |
1. Specify the purpose and goals for a problem.
3. Decompose a problem into classes: define relationships and responsibilities of those classes. |
1. Design and implement a class.
3. Choose appropriate date representation and algorithms.
4. Apply functional decomposition.
5. Extend a given class using inheritance. |
1. Design and implement a set of interacting classes.
2. Design an interface.
3. Choose appropriate advanced data structures and algorithms. |