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