Main Menu
Home
Mission & Vision
Our Facilities
Search
Map
Contact Us
People
Academic Staff
Non-Academic Staff
Honours Students
Masters Students
Phd Students
Courses
Undergraduate
Honours
Masters and PhD
Networking/CISCO
Research
BANG
SASL
E-learning
Login Form





Lost Password?
Undergraduate Courses

Undergraduate Courses 

 

FIRST YEAR MODULES

 

A first year student will have 3 contact periods per week per subject. In addition there will be 1 tutorial period per week and one practical session of 3 hours.


Core Modules:

COS101

Problem Solving, Algorithms and Programming

MAT105

1st year mainstream Mathematics

COS114

Computer Literacy module

EED127

English for Educational Development module

 


Electives:

Applied Mathematics I, Statistics I, Physics I, Geology I, Information Systems I, etc.

 

SECOND YEAR MODULES


Second year students will have 3 contact periods per week per subject and 2 practical session of 3 hours each.


Core Modules:

There are two Computer Science 2nd year modules:

COS211

Algorithms and Data structures

COS212

Algorithms and Architecture


Electives:

Mathematics II ,Physics II, Statistics II, Geology II, etc.

Second year Information Systems modules II in the faculty of Economic and Management Sciences may also be taken.



THIRD YEAR MODULES


Third year students will have 3 contact periods per week per subject and 2 practical sessions of 3 hours each.



Core Modules:

There are 2 Computer Science 3rd year modules:

(30 credits  per module)

 

CSC311

Operating Systems, Computer Networks and Theory of Computation

CSC312

Human Computer Interaction, Software Engineering and Database Systems


Electives:

Mathematics III , Physics III, Statistics III) or modules from other programmes / faculties.

Third Year Information Systems modules III in the faculty of Economic and Management Sciences may also be taken.


Core modules:

1st Year Level: COS101 and MAM I and COS114, EED127

2nd Year Level: CSC211 and CSC212

3rd Year Level: CSC311 and CSC312



FIRST YEAR MODULES


Restrictions on Computer Literacy Modules COS114 and COS124:

Number of students allowed in each group is dependent on the space in laboratories (currently 50 machines in laboratory)


COS 114 (1st Semester) or COS124 (2nd Semester)

 

(15 credits)


Computer Literacy


Main Content:

Practical Concepts:

  • Introduction to an operating system, e-mail and the Internet;

  • Applications software including word processing and spreadsheets;

  • Introduction to database management;

  • Introduction to presentation graphics and;

  • The integration of the above mentioned application programs.

Theoretical Concepts:

  • System programs;

  • Data and data organization;

  • Files and records, file management;

  • Principles and usage of basic software;

  • Systems programs;

  • Data and data organisation;

  • Computer architecture;

  • The computer marketplace;

  • Local area networks and e-mail;

  • The Internet, data security and control.


Main Outcomes:

At the successful completion of this course the student should have:

  • The ability to use computers (including e-mail and Internet), software and multimedia to create and edit documents;

  • The skilful use of worksheets and databases;

  • Ability to integrate different application software packages;

  • An understanding of programs, data, files and file organization on a computer system, computer architecture, the computer marketplace; local area networks and e-mail; the Internet, data security and control.


To top

 

FIRST YEAR MAIN STREAM MODULES


Restrictions on Computer Science COS101:

Number of students allowed in each group is dependent on the space in laboratories (currently 50 machines in laboratory)



COS 101 Problem Solving, Algorithms and Programming

 

(30 credits)

[Co-requisites: Computer Literacy module (COS114 or COS124) and 1st Year Mathematics, EED]


Main Content:

  • Problem solving, algorithm design, trace tables, constructs;

  • Abstraction;

  • Pseudocode;

  • Structured diagramming techniques (top-down design);

  • Arrays and data structures;

  • Development and application of simple algorithms;

  • High level programming language fundamentals;

  • Basic data types and methods;

  • The Software Development Life Cycle

  • Design tools and object oriented design

  • Inter-modular communication: Parameter passing and variable scope;

  • Objects as parameters;

  • Introduction to inheritance;

  • Data modeling, File I/O and recursion.


Main Outcomes:

At the successful completion of this course the student should have:

  • The ability to read, understand and solve problems;

  • Problem solving techniques and improved analytical thinking;

  • An understanding of sequence, selection and repetition control structures;

  • Ability to design an algorithm to solve a given problem;

  • Express an algorithm in pseudocode / structured diagram;

  • Implementation of algorithms in a high-level programming language (e.g.Java);

  • An understanding of the Software Development Cycle;

  • Parameter passing and the use of arrays;

  • Understand and implement the Object Oriented (OO) paradigm and inheritance;

  • Design and present a team project.


To top

 


CSC211 Algorithms and Data Structures

 

(20 credits)

[Pre-requisites: COS101, COS114 or COS124, 1st Year Mathematics]


Main Content:

  • Data structures;

  • Implementation of algorithms for manipulation;

  • The time and space complexity of the algorithms;

  • Efficiency of algorithms;

  • Correctness of algorithms by induction proofs;

  • Loop invariants;

  • Asymptotic bounds for algorithms.


Main Outcomes:

At the successful completion of this course the student:

  • Can implement many algorithms that run correctly on computing machinery;

  • Can derive and explain the time and space complexity of algorithms;

  • Is able to tackle software problems from a procedural, object-oriented approach;

  • Construct models and produce working products from tools that the student has produced ab inito.


 To top 

 

 

CSC212  Algorithms and Architecture

 

(20 credits)

[Co-requisite modules: CSC211 or equivalent]


Main Content:

  • Recursion, searches and traversal, divide and conquer, greedy algorithms, dynamic programming;

  • program correctness, primitive recursive functions, mu-recursive functions, partial functions, Church-Turing thesis, time complexity of algorithms, average case complexity;

  • Classes P and NP, reducibility, NP-completeness, decidability, certificates;

  • Probabilistic algorithms.


Main Outcomes:

At the successful completion of this course the student should:

  • Familiarity with standard algorithmic methods and ability to apply them;

  • Understand the importance of efficiency of algorithms and evaluate their complexity;

  • Understand the nature of computationally intractable problems and the role of heuristics;

  • Improved analytical thinking and problem solving skills.

 

To top 


CSC213 Capitta Selecta II

 

(20 credits each)

[Prerequisites: COS101, 1st Year Mathematics]


Main Content:

  • Special topics as determined by the lecturer, visiting academic or industrial partner.


Main Outcomes:

At the successful completion of this course the student should have:

  • The knowledge and skills pertaining to a topic in Computer Science that is not covered by or that is an extension to an existing Computer Science level 6 module


To top



THIRD YEAR MODULES

 

COS311 Operating Systems, Computer Networks and Theory of Computation

(30 credits)

 

Prior knowledge:  Second year level Computer Science modules (CSC211, CSC212) and Mathematics modules (MAT105) or equivalent outcome skills

 

Main Content:

Operating Systems:
  • History of operating systems.
  • Operating system concepts and structure.
  • Emphasis on processes (communication and scheduling).
  • Basic Input/Output.
  • Some memory management, file systems and device drivers.
Computer Networks:
  • Communications media.
  • Network standards and layers.
  • Communications protocols.
  • Network architectures.
  • Client/server and peer-to-peer networks, Network design.
  • Network operations and operating systems.
  • Network administration.
  • Construction and installation of networks.
Theory of Computation:
  • Automata and languages.
  • Finite automata.
  • Regular sets.
  • Regular expressions.
  • The pumping lemma.
  • Context free grammars.
  • Push down automata.
  • Turing machines and Decidability.

Main Outcomes:   Students should
Operating Systems:
  • Explain the fundamental tasks performed by a modern operating system.
  • Ability to implement fundamental operating systems tasks and algorithms.
Computer Networks:
  • Be able to transform network needs to network design and implementation.
  • Be able to build networks with current network topologies, protocols, operating systems, and applications.
  • Be able to diagram a network with a design tool.
  • Develop an appreciation of standards and protocols.
Theory of Computation:
  • Explain basic concepts of the theory of computation.
  • Be able to solve problems involving automata and regular expressions.

 

To top

COS312 Human Computer Interaction, Software Engineering and Databases

(30 credits)

 

Prior knowledge:  Second year level Computer Science modules (CSC211, CSC212) and Mathematics modules (MAT105) or equivalent outcome skills

 

Main Content:
  • Definition of software engineering, principles, goals, process, methods and tools.
  • The evolving role of software.
  • SE paradigms / process models.
  • Object-oriented analysis & design.
  • Introduction to formal specification.
  • Verification and validation.
  • Software quality assurance / reliability.
  • Unified Modeling Language (UML).
  • File systems and databases.
  • Modeling.
  • Database design principles.
  • Database models.
  • Normalization.
  • Structured Query Language.
  • Human factors of interactive software.
  • Theories, principles and guidelines of HCI design including command line interface (CLI), graphical user interface (GUI) and application programmatic interface (API).
  • Event-driven application design and development.
  • Direct manipulation.
  • Interaction devices.
  • System and feedback messages.

Main Outcomes:   Students should

  • Interpret and implement principles, processes, methods and tools for quality software development.
  • Use UML to specify, visualize, construct and document a software system.
  • Explain the Relational Model Concepts & Principles.
  • Represent the Architecture for a Database System.
  • Design a Relational Database.
  • Implement a Relational Database.
  • Analyse interface needs for interactive applications.
  • Design and implement effective user interfaces with CLI, GUI, and API.
  • Understand the importance of feedback and help systems.