The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes. You will learn techniques to:
- How to read and write Java programs
- How to test Java programs with JUnit
- To build larger software systems using abstraction and decomposition
- How to specify, implement, use and test a data abstraction