Includes problem analysis; designing algorithms and implementing solution to these problems. Programming topics include object-oriented design; data types and abstraction; classes; method design; interfaces; inheritance; polymorphism; exception handling; user interfaces and recursion. Prerequisite: ITEC 150