Introduction to Computer Science I
The course lays the conceptual foundation of object-oriented programming.
It covers delegation and contracts, encapsulation and API programming,
aggregation and the collections framework, inheritance and polymorphism, all
from the client's perspective. It also covers language-specific topics
like types, control structures, and exception handling. The coverage is
done within the framework of the software development process and emphasizes
software engineering throughout.
A pdf version of the course outline can be found