COS 201
Computer Programming I
3
Course Description
At the end of the course, students should be able to:
1. identify different programming paradigms and their approach to programming;
2. write programmes using basic data types and strings;
3. design and implement programming problems using selection;
4. design and implement programming problems using loops;
5. use and implement classes as data abstractions in an object-oriented approach;
6. implement simple exception handling in programmes;
7. develop programmes with input/output from text files; and
8. design and implement programming problems involving arrays.
Course Outline
Introduction to computer programming. Functional programming. Declarative programming.
Logic programming. Scripting languages. Introduction to object-orientation as a technique for
modelling computation. structured and functional programming principles. Introduction of a
typical object-oriented language such as Java. Basic data types, variables, expressions,
assignment statements, and operators. Basic object-oriented concepts: abstraction, objects,
classes, methods, parameter passing, and encapsulation. Class hierarchies and programme
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. Introduction to Strings and
string processing. Simple I/O. Control structures. Arrays. Simple recursive algorithms.
inheritance. polymorphism.
Lab work: Programming assignments. design and implementation of simple algorithms e.g.
average, standard deviation, searching and sorting. Developing and tracing simple recursive
algorithms. Inheritance and polymorphism.