COS 201: Computer Programming I



Learning Outcomes
At the end of this course, students should be able to:
1. identify different programming paradigms and their approaches 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 Contents

Introduction to computer programming. Functional programming; Declarative programming;
Logic programming; Scripting languages. Introduction to object-orientation as a technique for
modelling computation. Introduction of a typical object-oriented language, such as Java. Basic
data types, variables, expressions, assignment statements and operators. Basic objectoriented concepts: abstraction; objects; classes; methods; parameter passing; encapsulation.
Introduction to Strings and string processing; Simple I/O; control structures; Arrays; Simple
recursive algorithms; inheritance; polymorphism.

Lab work:
Programming assignments involving hands-on practice in the design and
implementation of simple algorithms such as finding the average, standard deviation,
searching and sorting. Practice in developing and tracing simple recursive algorithms.
Developing programmes involving inheritance and polymorphism.