Close Menu

BSc. General - Computer Science Major

What is Computer Science?

There are many definitions of Computer Science. However, there is a consensus in Computer Science that the central concept is of an algorithm. An algorithm is a set of step-by-step instructions that can be performed by a computer to solve some problem. Computer Science can then be defined as the science of:

  • the design of algorithms,
  • the study of their properties and
  • the study of their mechanical and linguistic realisation.

Thus, Computer Science involves carefully analysing the problems that organisations or individuals face in order to arrive at an algorithmic solution to the problem. This solution then has to be linguistically realised, i.e., turned into a program, which can then be executed on a computer system. Clearly, this also means that the design of computer systems to execute programs is an important sub-area of Computer Science.

Finally, many problems allow for more than one algorithmic solution and the final important aspect of Computer Science concern techniques for comparing different algorithms. These techniques include both theoretical tools, and require a good understanding of some Mathematics, as well as empirical comparisons between different algorithms for the same task.


The Computer Science undergraduate programme aims to:

  • Provide students with the educational experiences that will enable them to cope with the rapidly changing subject of Computer Science.
  • Provide students with up-to-date training in the discipline so as to prepare them to take on entry-level positions in the local Information Technology sector, (with the exception of hardware engineer and technician) and to grow into other positions with one or two years of working experience.
  • Provide students with a sufficiently broad range of courses to enable them to be successful in postgraduate programmes anywhere in the world.
  • Employ a range of assessment methods and techniques and to enable students to demonstrate the depth of their understanding and their capacity for independent thought.
  • Give students support and guidance in what, for most students, is a new discipline.

Programme Structure

Faculty B.Sc. Programme Structure

The undergraduate programme in the Faculty of Science and Technology is divided into two parts each having 2 levels of courses. These are shown in the table below along with the Computer Science course codes for each level.

Part Course Type Course Level CS Course Codes
I Preliminary 0 Computing has no preliminary courses
  Introductory I COMP1*
II Advanced II COMP2*
  Advanced III COMP3*

Students will not be allowed to proceed to Part II of the programme unless they have passed COMP1126COMP1127COMP1161COMP1210, and COMP1220.

Computer Science Programme Structure


The B.Sc. in Computer Science is a full-time programme which normally takes three (3) years. There are no part-time programmes in the department. Most classes are being offered during the regular hours of 8:00 a.m to 5:00 p.m. However, first-year courses are being offered in the evenings between 5:00 p.m. and 9:00 p.m. Some labs may also be offered on Saturdays.


For students who began the programme on or after Semester I 2011, a major in Computer Science requires thirty-nine (39) credits from Level 2 and 3 Computer Science courses. These must include the following:

Level Code Credits Title
I COMP1126 3 Introduction to Computing I
  COMP1127 3 Introduction to Computing II
  COMP1161 3 Object-Oriented Programming
  COMP1210 3 Mathematics for Computing
  COMP1220 3 Computing and Society
  A major in Computer Science requires a minimum of thirty-nine (39) credits from Computing courses at Levels 2 and 3 and must include:
II COMP2140 3 Software Engineering
  COMP2171 3 Object Oriented Design and Implementation
  COMP2190 3 Net-Centric Computing
  COMP2201 3 Discrete Mathematics for Computer Science
  COMP2211 3 Analysis of Algorithms
  COMP2340 3 Computer Systems Organization
III COMP3101 3 Operating Systems
  COMP3161 3 Database Management Systems
  COMP3220 3 Principles of Artificial Intelligence
  COMP3901 3 Capstone Project
  AND nine (9) credits from Level 2 or 3 courses offered by the Department of Computing.

For students who began the Computer Science programme between 2008 and 2010, please click here for degree requirements.

A minor in Computer Science requires fifteen (15) credits from Level 2 and 3 Computer Science courses. 


The intended learning outcomes can be divided into two classes, namely intended learning of any undergraduate programme in a science subject, and intended learning outcomes specific to Computer Science. The general intended learning outcomes are that students will:

  • Understand the nature of scientific enquiry and research.
  • Be able to analyse a problem, construct alternate approaches to its solution and evaluate the merits and demerits of each.
  • Be able to communicate effectively, both orally and in writing.
  • Recognise the need for life-long learning and development.
  • Be able to work in teams.

Specific learning outcomes are that students will:

  • Be aware of the history of the discipline of Computer Science and understand the conceptual underpinnings of the subject.
  • Understand the nature of the software development process, including the need to provide appropriate documentation.
  • Be able to program fluently in one or two programming languages.
  • Understand the major programming paradigms and be able to learn a new programming language in a fairly short time (2 to 4 weeks).
  • Understand standard techniques for solving a problem on a computer, including programming techniques and techniques for the representation of information.
  • Be able to recommend a technique for a specific problem to meet a particular objective.
  • Understand the basic theory of computer architectures, including computer hardware and networking.
  • Understand the importance and the nature of operating systems and compilers.
  • Understand how information technology affects society, business and the individual, both from a technical and from an ethical and legal point of view.
  • Be able to effectively communicate with persons who are not technically versed in the subject.
Top of Page