The first semester of this program emphasizes problem solving, algorithms, and program design. Use of structured programming, lists, control structures, recursion, objects, and files in Python. Introduction to graphical interface programming. Coding, testing, and debugging using a modern development environment. Second semester, this course emphasizes problem solving and programming using classes and objects. Algorithm efficiency, abstract data types, searching and sorting, templates, pointers, links lists, stacks and queues implemented in C++.