perspective. Topics are drawn from classes and objects, abstraction, encapsulation, data types, calling methods and passing parameters decisions, loops, arrays and collections, documentation, testing and debugging, exceptions, design issues, inheritance and polymorphic variables and methods. The course emphasizes modern software engineering and design. Students are expected to be sufficiently proficient in mathematics such that they are ready to take Precalculus. Students are placed in the course based on the Computer Science Department placement criteria.