COS 202: Computer Programming II



Learning Outcomes
At the end of this course, students should be able to:
1. demonstrate the principles of good programming and structured programming concepts;
2. demonstrate string processing, internal searching, sorting, and recursion;
3. demonstrate the basic use of OOP concepts: classes, objects, inheritance, polymorphism, data abstraction;
4. apply the tools for developing, compiling, interpreting and debugging programs; and
5. demonstrate the use of syntax and data objects, operators. Central flow constructs, objects and classes programming, Arrays, methods, Exceptions, Applets and the Abstract, OLE, Persistence, Window Toolkit.

Course Contents
Review and coverage of advanced object-oriented programming – polymorphism, abstract classes and interfaces; Class hierarchies and program organisation using packages/namespaces; Use of API – use of iterators/enumerators, List, Stack, Queue from API; Searching; sorting; Recursive algorithms; Event-driven programming: event-handling methods; event propagation; exception handling. Applications in Graphical User Interface (GUI) programming.

Lab work: Programming assignments leading to extensive practice in problem solving and program development with emphasis on object-orientation. Solving basic problems using static and dynamic data structures. Solving various searching and sorting algorithms using iterative and recursive approaches. GUI programming.