Sei sulla pagina 1di 71

Revised Bsc.

Computer Science Syllabus September 2011

KENYATTA

UNIVERSITY

DEPARTMENT OF COMPUTING AND INFORMATION


TECHNOLOGY
SCHOOL OF ENGINEERING AND TECHNOLOGY

Reviewed
BACHELOR OF SCIENCE IN COMPUTER SCIENCE
CURRICULUM

Submitted to the
Registrar Academic Affairs
Kenyatta University
MAIN CAMPUS
NAIROBI

By
Chairman
CIT Department
Kenyatta University
September 2011

CIT Department

Page 1 of 71

Revised Bsc. Computer Science Syllabus September 2011

Table of Contents
PREAMBLE .......................................................................................................................................4
RATIONALE ......................................................................................................................................5

Mission .............................................................................................................................. 5
ENTRY REQUIREMENTS ...................................................................................................................5
DURATION AND DEGREE PATTERN .................................................................................................6
REGULATIONS ..................................................................................................................................6
EXAMINATIONS ...............................................................................................................................6

UCU 100

COMMUNICATION SKILLS ......................................................................... 10

UCU 105

HIV / AIDS AND DRUGS ............................................................................. 11

SCO100

COMPUTER FUNDAMENTALS ................................................................... 12

SCO102

INTRODUCTION TO PROGRAMMING ......................................................... 13

SCO104

COMPUTER ORGANIZATION AND ARCHITECTURE I .................................. 14

SCO106

ELECTRONICS ............................................................................................. 15

SCO 108

DISCRETE MATHEMATICS ........................................................................ 16

SCO 110

MATHEMATICAL FOUNDATIONS FOR COMPUTER SCIENCE .................. 17

UCU 101

DEVELOPMENT STUDIES .......................................................................... 18

UCU 103

INTRODUCTION TO CREATIVE AND CRITICAL THINKING ...................... 19

SCO101

SYSTEMS ANALYSIS AND DESIGN ............................................................ 20

SCO103

OBJECT-ORIENTED PROGRAMMING I ....................................................... 21

SCO105

DATA COMMUNICATION TECHNOLOGIES ................................................ 22

SCO107

OPERATING SYSTEMS ............................................................................. 23

SCO109

LINEAR ALGEBRA FOR COMPUTER SCIENCE ........................................... 24

SCO111

DIFFERENTIAL CALCULUS FOR COMPUTER SCIENCE ............................. 25

SCO200

OBJECT ORIENTED PROGRAMMING II .................................................... 26

SCO202

EVENT DRIVEN PROGRAMMING ............................................................. 27

SCO204

DATA STRUCTURES AND ALGORITHMS................................................. 28

SCO206

DATABASE SYSTEMS ................................................................................ 29

SCO208

OBJECT ORIENTED ANALYSIS AND DESIGN .......................................... 30

SCO210

INTEGRAL CALCULUS FOR COMPUTER SCIENCE ................................ 31

SCO212

PROBABILITY AND STATISTICS FOR COMPUTER SCIENCE................. 32

SCO201

COMPUTER ORGANIZATION AND ARCHITECTURE II........................... 33

SCO203

SOFTWARE TESTING AND QUALITY ASSURANCE ................................. 34

SCO205

FOUNDATIONS OF ARTIFICIAL INTELLIGENCE ........................................ 35

SCO207

WEB DEVELOPMENT TECHNOLOGIES .................................................... 36

SCO209

MICROPROCESSORS AND ASSEMBLY LANGUAGE ROGRAMMING ..... 37

SCO211

AUTOMATA THEORY ................................................................................. 38

CIT Department

Page 2 of 71

Revised Bsc. Computer Science Syllabus September 2011

SCO213

NUMERICAL ANALYSIS ............................................................................. 39

SCO300

COMPUTER NETWORKS ............................................................................. 40

SCO302

SOFTWARE PROJECT MANAGEMENT........................................................ 41

SCO304

ADVANCED DATABASE SYSTEMS ............................................................ 42

SCO306

PROGRAMMING LANGUAGES ................................................................... 43

SCO308

DESIGN AND ANALYSIS OF ALGORITHMS ............................................. 44

SCO310

COMPONENT PROGRAMMING .................................................................... 45

SCO301

COMPILER CONSTRUCTION......................................................................... 46

SCO303

SIMULATION AND MODELLING ................................................................ 47

SCO305

COMPUTER GRAPHICS ............................................................................... 48

SCO307

HUMAN COMPUTER INTERFACE ............................................................... 49

SCO309

RESEARCH METHODS AND TECHNICAL WRITTING .................................. 50

SCO311

ELECTRONIC COMMERCE ........................................................................... 51

SCO314

INDUSTRIAL ATTACHMENT ...................................................................... 52

SCO400

PROJECT ...................................................................................................... 53

SCO402

LEGAL AND ETHICAL ISSUES IN COMPUTING.......................................... 54

SCO404

ENTREPRENEURSHIP ................................................................................. 55

SCO406

COMPUTER SYSTEMS SECURITY............................................................... 56

SCO408

INFORMATION SYSTEMS MANAGEMENT ................................................. 57

SCO410

DISTRIBUTED SYSTEMS ............................................................................. 58

SCO412

MOBILE COMPUTING AND WIRELESS TECHNOLOGY .............................. 59

SCO401

NETWORK MANAGEMENT ......................................................................... 60

SCO403

NETWORK APPLICATIONS ......................................................................... 61

SCO405

COMPRESSION ............................................................................................ 62

SCO407

MULTIMEDIA TECHNOLOGIES .................................................................. 63

SCO409

NATURAL LANGUAGE PROCESSING ......................................................... 64

SCO411

NEURAL NETWORKS .................................................................................. 65

SCO413

ROBOTICS ................................................................................................... 66

SCO415

DATA WAREHOUSE AND DATA MINING................................................... 67

SCO417

GEOGRAPHIC INFORMATION SYSTEMS .................................................... 68

SCO419

ENTERPRISE RESOURCE PLANNING.......................................................... 69

SCO419

DECISION SUPPORT SYSTEMS ................................................................... 70

SCO423

INFORMATION SYSTEM AUDITING ........................................................... 71

CIT Department

Page 3 of 71

Revised Bsc. Computer Science Syllabus September 2011

PREAMBLE
Computer Science as a generalization of information theory that is concerned not only
with the transmission of information but also with its transformation and interpretation.
Computer science spans a wide range, from its theoretical and algorithmic foundations to
cutting-edge

developments

in

robotics,

computer

vision,

intelligent

systems,

bioinformatics, and other exciting areas. We can think of the work of computer scientists
as falling into three categories. They design and implement software. Computer scientists
take on challenging programming jobs.
They also supervise other programmers, keeping them aware of new approaches. They
devise new ways to use computers. Progress in the CS areas of networking, database, and
human-computer-interface enabled the development of the World Wide Web. Now CS
researchers are working with scientists from other fields to make robots become practical
and intelligent aides, to use databases to create new knowledge, and to use computers to
help decipher the secrets of our DNA. They develop effective ways to solve computing
problems. For example, computer scientists develop the best possible ways to store
information in databases, send data over networks, and display complex images. Their
theoretical background allows them to determine the best performance possible, and their
study of algorithms helps them to develop new approaches that provide better
performance.
Computer science spans the range from theory through programming. Curricula that
reflect this breadth are sometimes criticized for failing to prepare graduates for specific
jobs. While other disciplines may produce graduates with more immediately relevant jobrelated skills, computer science offers a comprehensive foundation that permits graduates
to adapt to new technologies and new ideas.
Just like Information Technology (IT) this is another very dynamic field as it reflects on
the contemporary issue.

This has made the revision necessary so as to keep the

programme up to date, and also teach the students the basics of computer science before
going to the complex aspects of the study. The changes proposed in the revision are
aimed at making the programme more relevant to the needs of society and also to reflect
to recent technological advancements in the field of computer science.

CIT Department

Page 4 of 71

Revised Bsc. Computer Science Syllabus September 2011

The process of reviewing this curriculum looked at the contemporary ICT skills needed in
market place while benchmarking with the Institute of Electrical and Electronic
Engineering (IEEE) and Association of Computing Machinery (ACM) guidelines. Other
research conducted in area of IT were also reviewed. The reviewers also looked at the
Kenyas Commission for Higher Education (CHE) and University Senate guidelines
while drafting final report. Review task looked at The IT body of knowledge

Computer Science knowledge areas include: Discrete Structures (DS); Programming


Fundamentals (PF); Algorithms and Complexity (AL); Architecture and Organization
(AR); Operating Systems (OS); Net-Centric Computing (NC); Programming Languages
(PL); Human-Computer Interaction (HC); Graphics and Visual Computing (GV);
Intelligent Systems (IS); Information Management (IM); Social and Professional Issues
(SP); Software Engineering (SE); Computational Science and Numerical Methods (CN)

RATIONALE
With computer processing power doubling every two years, the field of computing
continues to evolve at an astonishing pace. There is therefore the need to review on a
regular basis the computer science curriculum to reflect the dynamic nature of the
industry.
Vision
To produce computer scientists with up to date knowledge and skills to meet current and
future industry demand.
Mission
Building capacity in up to date computer technologies by producing well-trained
computer scientists who can join the professional ranks, do research or pursue further
studies.

ENTRY REQUIREMENTS
A candidate pursuing the B.Sc. degree in Computer Science must meet the minimum
University entry mean grade of C+ in KCSE or any other entry mean grade/qualification
recognized by the university senate. In addition the candidate must have attained the
following minimum grades at KCSE or equivalent qualifications:

CIT Department

Page 5 of 71

Revised Bsc. Computer Science Syllabus September 2011

Mathematics

B+

Physics

B+

English

C+

Or
Accredited Diploma Holders
Candidates with an accredited Diploma in Computer Science or related field with a credit
pass and mean grade of C in KCSE with a C+ in Physic and Mathematics may be admitted
into the first year of study and acquire credit transfer for equivalent courses with credit grade
at diploma level.
DURATION AND DEGREE PATTERN
The common regulations for all undergraduate degree programmes of Kenyatta University
and the School of Engineering and Technology shall apply.

The programme comprises 16 units in the first level, 14 units in the second, 12 units in third
levels, and fourth level.
REGULATIONS
1.

To qualify for the award of a degree, a student shall satisfy all the university
requirements pertaining to the degree.

2.

A student will be required to have completed a minimum of fifty four units (54) as
per the breakdown below:
a. Students shall take all the units offered in the first, second and third levels of
study.
b. At the end of third level, a student will undertake industrial attachment for a
period of not less than 12 weeks. Industrial attachment will not be included for
classification but the student will be required to obtain a pass in order to
graduate.
c. In the fourth level a student shall take seven (7) core units including a project
(equivalent to 2 units) and four (4) electives.

EXAMINATIONS
Common University regulations shall apply.

CIT Department

Page 6 of 71

Revised Bsc. Computer Science Syllabus September 2011

PROGRAM STRUCTURE FOR THE BACHELOR OF SCIENCE IN COMPUTER SCIENCE


DEGREE
LEVEL 100
FIRST SEMESTER
UCU 100

Communication Skills

UCU 105

HIV/AIDS and Drugs

SCO100

Computer Fundamentals

SCO102

Introduction to Programming

SCO104

Computer Organization and Architecture I

SCO106

Electronics

SCO108

Discrete Mathematics

SCO110

Mathematical Foundations for Computer Science

SECOND SEMESTER
UCU 101

Development Studies

UCU 103

Introductions to Creative and Critical Thinking

SCO101

System Analysis and Design

SCO103

Object Oriented Programming I

SCO105

Data Communication Technologies

SCO107

Operating Systems

SCO109

Linear Algebra for Computer Science

SCO111

Differential Calculus for Computer Science

LEVEL 200
FIRST SEMESTER
SCO200

Object Oriented Programming II

SCO202

Event Driven Programming

SCO204

Data Structures and Algorithms

SCO206

Database Systems

SCO208

Object Oriented Analysis and Design

SCO210

Integral Calculus for Computer Science

SCO212

Probability and Statistics for Computer Science

CIT Department

Page 7 of 71

Revised Bsc. Computer Science Syllabus September 2011

SECOND SEMESTER
SCO201

Computer Organization and Architecture II

SCO203

Software Testing and Quality Assurance

SCO205

Foundations of Artificial Intelligence

SCO207

Web Development Technologies

SCO209

Microprocessor and Assembly Language Programming

SCO211

Automata Theory

SCO213

Numerical Analysis for Computer Science

LEVEL 300
FIRST SEMESTER
SCO300

Computer Networks

SCO302

Software Project Management

SCO304

Advanced Database Systems

SCO306

Programming Languages

SCO308

Design and Analysis of Algorithms

SCO310

Component Programming

SECOND SEMESTER
SCO301

Compiler Construction

SCO303

Simulation and Modeling

SCO305

Computer Graphics

SCO307

Human Computer Interface

SCO309

Research Methods and Technical Writing

SCO311

Electronic Commerce

THIRD SEMESTER
SCO312

Industrial Attachment

CIT Department

Page 8 of 71

Revised Bsc. Computer Science Syllabus September 2011

LEVEL 400
FIRST SEMESTER
SCO400

Project

SCO402

Legal and Ethical Issues in Computing

SCO404

Entrepreneurship

SCO406

Computer Systems Security

SCO408

Information Systems Management

SCO410

Distributed Systems

SCO412

Mobile Computing and Wireless Technology

SECOND SEMESTER
SCO400

Project

ELECTIVES
Select all 4 units from one of the following areas of specialization
NET CENTRIC COMPUTING

SCO401

Network Management

SCO403

Networked Applications

SCO405

Compression Techniques

SCO407

Multimedia Technologies

INTELLIGENT SYSTEMS

SCO409

Natural Language Processing

SCO411

Neural Networks

SCO413

Robotics

SCO415

Data Warehouse and Data Mining

INFORMATION SYSTEMS

SCO417

Geographic Information Systems

SCO419

Enterprise Resource Planning (ERP) Systems

SCO421

Decision Support Systems

SCO423

Information System Auditing

CIT Department

Page 9 of 71

Revised Bsc. Computer Science Syllabus September 2011

UNIT DESCRIPTION
Level 100

Unit

UCU 100

Prerequisite

COMMUNICATION SKILLS
None

Purpose
The objective of the course is to equip a student with skills to acquire knowledge and
effectively communicate their views to others, orally and in writing.
Learning Outcomes
Students will be expected to:

Demonstrate capacity to obtain information from listening.

Demonstrate ability to obtain and synthesis information on a subject from various


written sources.

Demonstrate ability to communicate in writing.

Demonstrate ability to make oral presentations.

Description/Content
Reading skills: Listening skills: Library skills: collecting and abstracting information:
Speaking skills: Writing skills: analyzing tasks, panning, drafting and editing various types of
writing skills: Study techniques: Planning work, organizing, storing and retrieving
information.
Delivery of the Unit
Lectures: 2 hours per week; Tutorials: 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 10 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

UCU 105

Prerequisite

HIV / AIDS AND DRUGS


None

Purpose
The objective of the course is to train a student on the transmission of and health issues on
HIV /AIDS, and caring for the affected.
Learning Outcomes
Students will be expected to:

Know what is HIV /AIDS and its social and economic impact.

Understand spreading in Kenya and the world at large.

Create awareness of factors causes HIV / AIDS.

Know and use the HIV /AIDS prevention methods and facilities.

Know how to manage the infected and affected HIV /AIDS persons.

Know about other sexually transmitted diseases (STD), and fertility.

Description/Content
Adolescent development, fertility, pre- marital pregnancies: Adolescent problems; abortions;
STDs; drug use and abuse; hard drugs; sex tourism and trade, child marriage. Definition of
AIDS, demystifying AIDS; nature of AIDS, origin, classification and spread of the virus,
management of AIDS; living with AIDS, impact of AIDS on families, organizations and
institutions. Social and cultural beliefs and practices, HIV/AIDS and the law, confidentiality,
attitudes, poverty and urbanization. Participatory education mode, communication skills,
mass media approach, peer education approach model; preventative counseling and services;
storage and use of condoms; hospitals visits and reports.
Delivery of the Unit
Lectures: 2 hours per week; Tutorials: 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 11 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO100

Prerequisite

COMPUTER FUNDAMENTALS
None

Purpose
The objective of the course is to give basic competencies for application of a computer to
everyday tasks using standard packages.
Learning Outcomes
Students will be expected to:

Explain the History and classifications of computers

Explain the components of the system unit, input , output and storage devices

Explain the basic principles of computer communication through number systems, data
representations.

Learn the basic skills for working with internet and WWW.

Appreciate the important role of the computer in todays business and society.

Troubleshoot basic computer science problems and install operating system.

Assemble and disassemble computers parts.

Be aware of different Computers careers and certifications.

Description/Content
Introduction to Computers: Definitions, History and classification of computers. Introduction to
internet and world wide web: Browsers, Emails and search engines. Components of the system
unit, inputs and output devices, Storage devices. Application Software: Ms Word, Ms Excel, Ms
Access. Operating systems and Utility programs. Basic computer troubleshooting. Assembly and
disassembly of computer systems. Computers and society: Computer security, safety, ethics,
privacy. Computers careers and Certifications.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week;
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 % shall
be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 12 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO102

Prerequisite

INTRODUCTION TO PROGRAMMING
None

Purpose
The objective of the course is to enable the student apply high level language for solution of
simple scientific problems, and for this purpose to manipulate the inputs/outputs of a computer
program
Learning Outcomes
Students will be expected to:

Understand the basic principles in programming

Understand the problem-solving strategies

understand the process of creation of computer program, and the different approaches;

use high level language to code write, compile, link, and execute a program with
emphasis, on scientific applications

Description/Content
Introduction to programming methodology and problem-solving strategies: the role of
algorithms in the problem-solving process; implementation strategies for algorithms; debugging
strategies; the concept and properties of algorithms. Simple data types. Constants and variable
declaration. Arithmetic and logical operators. Use of arrays. Program development using a
higher level programming language such as C. Use of control structures. Functions and
procedures. Working with text files. Programming techniques: top down methodology, design,
code, debug, & program documentation.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week;
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 % shall
be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 13 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO104

Prerequisite

COMPUTER ORGANIZATION AND ARCHITECTURE I


None

Purpose
To equip the learner with the basic knowledge in computer organization and architecture of a
digital computer system.
Learning Outcomes
Students will be expected to:

Understand the different number systems and data representation in computers

Perform different Computer arithmetics

Explain the VonNeuman Architecture design of a computer

Understand the computer components and the different Interconnection Structures

Explain the memory structure of a computer.

Explain the I/O Modules.

Description/Content
Introduction: Organization and Architecture. Number system and data representation.
Computer Arithmetic. VonNeuman Architecture. Computer function and interconnection
Structures: computer components and function, Bus Interconnection, PCI. Memory
Organization: Memory Hierarchy, Internal Memory and External Memory. Internal Memory:
Main Memory Technology, RAM and ROM chips, Associative Memory, Cache Memory,
Virtual

memory,

Memory

Management

Hardware,

Error

Correction. Input/output

organization: External Devices, Device Interfacing, I/O Modules, I/O Methods: Programmed,
interrupt driven, DMA and I/O processors.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 15%
shall be continuous assessment tests and 15 % shall be assignments ,

CIT Department

Page 14 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO106

Prerequisite

ELECTRONICS
None

Purpose
The course provides the students with the basic knowledge in electronics in relation to the
computer components and functioning of the computer.
Learning Outcomes
Students will be expected to:

Understand the electronic components and circuits in a computer

Understand how the logic gates work.

Understand the memory components.

Understand the synchronous and asynchronous circuits.

Description/Content
Electronic Components and Circuits: Resistors, capacitors, diodes, transistors, TTL, NMOS,
CMOS. Logic gates (NOT, OR, AND, NOR, NAND) & application. Combinational logic
circuits: adders, comparators, decoders, encoders, multiplexers, demultiplexers & error
control circuits. Sequential circuits: latches and flip-flops. Memory components: counters,
decoders, shift-registers, BCD counters, data registers. Introduction to data transmission:
synchronous and asynchronous transfer. Finite state machines (FSMs), clocked and
unclocked ;Mealy vs. Analysis of synchronous and asynchronous circuits; Design of
synchronous sequential circuits: State minimization, state assignment, next state and output
equation realization ;Sequential functional units:
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs. The
students must complete and pass all the labs before they can be allowed to proceed to the next
class.

CIT Department

Page 15 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO 108

Prerequisite

DISCRETE MATHEMATICS
None

Purpose
The purpose of the course is to equip the learner with the mathematics related to the field of
digital electronics.
Learning Outcomes
Students will be expected to:

Be able to design simple logic circuits and describe digital logic elements

Understand Fundamental structures

Understand basic Boolean algebra

Understand Propositional logic, Predicate Logic and elementary number theory

Understand graphs and trees including their applications

Description/Content
Introduction to Mathematical logic: Statements and notations, connectives, truth tables,
tautology, implications, propositional logic. Predicate logic: Universal and existential
quantification; modus ponens and modus tollens. Set Theory: Subsets, pigeonhole principle;
cardinality and countability. Boolean algebra: Boolean values; standard operations on
Boolean values; de Morgans laws, digital logic. Mathematical Proofs: direct, indirect,
contradiction, mathematical induction. Graphs and trees.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 15 %
shall be continuous assessment tests, 15 % shall be assignments.

CIT Department

Page 16 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO 110

MATHEMATICAL FOUNDATIONS FOR COMPUTER

SCIENCE
Prerequisite

None

Purpose
To introduce fundamental mathematical concepts which are applicable in computer science
field.
Learning Outcomes
Students will be expected to:

To perform basic arithmetic operations with different numbers.

Understand basic operations on functions, relations and trigonometric functions.

Solve quadratic equations, polynomials and permutations

Description/Content
Numbers: Integers, Rational Numbers, Irrational numbers and real numbers.: Arithmetic
Functions: domain, co-domain, image, range, pre-image and types of functions (surjections,
injections, inverses, composition), Relations: symmetric, anti operations -symmetric,
reflexive and transitive Trigonometric functions: Trigonometric functions of compound
angles, Double angle formulae, half angle formulae, inverse trigonometric functions, General
trigonometric solutions. Complex numbers, Geometric representations, polar forms and
Demoivers theorem. Relation. Indices and algorithms. Quadratic equations and polynomials,
factor theorem remainder theorem; Partial fractions. Basics of counting: combinations and
permutations and Binomial theorem.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 15%
shall be continuous assessment tests and 15 % shall be assignments

CIT Department

Page 17 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

UCU 101

Prerequisite

DEVELOPMENT STUDIES
None

Purpose
The purpose of the course is to equip a student with conceptual tools for analysis of national
development.
Learning Outcomes
Students will be expected to:
Explain concepts of development and apply them in the context of African country.
Discuss the gender issues in the context of development.
Discuss factors which affect development.
Description/Content
Concepts

of

development,

underdevelopment,

Theories

of

development

and

underdevelopment. Historical roots of African development and underdevelopment, Concept


of Gender and rationale for mainstreaming gender, Approaches to development.
Development strategies, indicators, problems and regional integration, population, resources
and development, agriculture and rural development, urbanization, industrialization and
development, science, technology and development, law, justice, politics and development,
ethics, morality and development.
Delivery of the Unit
Lectures: 2 hours per week; Tutorials: 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 18 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

UCU 103

Prerequisite

INTRODUCTION TO CREATIVE AND CRITICAL THINKING


None

Purpose
The purpose of the course is to inculcate in a student a critical attitude and impart an
understanding of creative thinking.
Learning Outcomes
Students will be expected to:
Effectively discuss morality, the individual and the society.
Discuss goals of education.
Participate in intellectual discourse.
Description/Content
Topics such as self-examination, individually, collectively, morality. Meaning of education,
critically and creativity, intellectual standards, (accuracy, clarity, precision, relevance),
intellectual dispositions, elements of reasoning, assumptions, evidence, inferences, deduction,
induction, validity, soundness, fallaciousness and their consequences.
Delivery of the Unit
Lectures: 2 hours per week; Tutorials: 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 19 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO101

Prerequisite

SYSTEMS ANALYSIS AND DESIGN


SCO100

Purpose
The purpose of the course is to provide basic conceptual framework for development of
software systems
Learning Outcomes
Students will be expected to:

state the goals of system analysis and design

explain the system development life-cycle

understand the analysis stage and design stage of software

be able to carry out the analysis and design of software given a case study

be able to design user interfaces based on HCL best practices

Description/Content
Fundamental concepts of systems analysis and design. Systems development life cycle.
Systems development methodologies. Feasibility study and Requirement analysis. Structured
System analysis and Design using SSADM: flowcharts, ERDs, Logical and Physical DFDs,
Decision tables and trees, Pseudo codes. Input, output and interface design.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 15%
shall be continuous assessment tests and 15 % shall be assignments

CIT Department

Page 20 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO103

Prerequisite

OBJECT-ORIENTED PROGRAMMING I
SCO100, SCO102

Purpose
The objective of the course is to enable the student apply a high level language for solution of
simple scientific problems, and for this purpose to manipulate the inputs/outputs of a
computer Programme using Object Oriented Programming Techniques.
Learning Outcomes
Students will be expected to:

understand the OOP concepts

effectively use the different data types and variables, numbers, character, and logical
variables and effectively use different operation

Use loops, subprograms, sub functions and techniques for Programme optimization.

Description/Content
Object oriented programming fundamentals. Essentials of Java programming: classes,
methods, data types, input and output, control statements. Exceptions: handling exceptions,
throwing and defining own exceptions. Writing object oriented programs: Coding a class that
define an object, create object from a class. Inheritance and interfaces. Operators and dates.
Arrays, strings and vectors: one and multi dimensional arrays, using string class. Developing
simple Application programs.

Delivery of the Unit


Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 % , Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 21 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO105

Prerequisite

DATA COMMUNICATION TECHNOLOGIES


SCO100

Purpose
The purpose of the course is to introduce the concepts and technologies used in modern days
data communication in computers systems.
Learning Outcomes
Students will be expected to:

describe the OSI reference model

describe the TCP /IP protocol stack

explain the role of OS and TCP / IP in data communication

describe various local area network (LAN) technologies

differentiate between LAN and WAN technologies

describe various routing protocols

Description/Content
Data communications basics. Transmission media. Types of transmission. The ISO 7-layer
model. The TCP/IP Protocol Architecture. LAN technologies: Ethernet, Token Ring, WAN
technologies: B-ISDN, FR, xDSL, ATM; New Network technologies; Voice over IP; ELAN,
LEC, LECS, LES; TCP/IP over ATM; Firewall security systems; VPN; vLAN; Intranet and
Extranet; Structural Cabling; IP routing: Protocols and Algorithms. Introduction to wireless
technology.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 15 %
shall be continuous assessment tests, 15 % shall be assignments.

CIT Department

Page 22 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO107

Prerequisite

OPERATING SYSTEMS
SCO100, SCO104

Purpose
The objective of the course is for students to understand the functions of operating system
components and their interactions, to be able to exploit operating system facilities to improve
the functionality and efficiency of programs, and be able to evaluate the suitability of a given
operating system for a given task.
Learning Outcomes
Students will be expected to:

Have an overview of different types of operating systems.

Describe the components of an operating system.

Understand the working of an operating system, in particular process control,


synchronization and scheduling.

Description/Content
Operating system principles: structuring methods, processes and resources, concepts of API,
interrupts. Concurrency: state diagrams, dispatching & context switching. Mutual exclusion:
deadlocks, models & mechanisms. Synchronization. Multiprocessors. Scheduling processes
& threads. Memory management: overlays, swapping, & partitions, paging and segmentation,
working sets and thrashing, caching. Device management: serial & parallel devices, DMA,
recovery from failures. File systems. Backup strategies. Security & protection. Example of a
typical multi-user operating system such as UNIX
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 15%
shall be continuous assessment tests and 15 % shall be assignments

CIT Department

Page 23 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO109

Prerequisite

LINEAR ALGEBRA FOR COMPUTER SCIENCE


SCO 108, SCO 110

Purpose
The purpose of the course is to equip a computer science student with basic knowledge in
linear algebra and apply it to solve computer science problems.
Learning Outcomes
Students will be expected to:

Understand linear equations

Understand matrices and their applications

Demonstrate the application of linear programming and linear regression in computer


science problems

Description/Content
Linear equations: Solutions of systems of linear equations. Matrices: matrix multiplication,
determinant, Cramer's rule, Matrix Inverse, Matrix Representation of Linear Maps, linear
Dependence, Linear Independence and Bases, Eigenvalues and Eigenvectors. Vectors and
subspaces. Simple algorithms. Traversal strategies. Computer applications: wavelets,
transformations in computer graphics, computer vision, Google's PageRank algorithm, linear
programming, linear regression, Markov chains, linear and nonlinear optimization, control
theory, combinatorial optimization, and analysis of electrical networks. Use of MatLabs.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 24 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO111

Prerequisite

DIFFERENTIAL CALCULUS FOR COMPUTER SCIENCE


SCO 110

Purpose
To introduce fundamental mathematical concepts and properties in calculus which are
applicable to computer scientist
Learning Outcomes
Students will be expected to:
1. Resolve the problems involving trigonometric functions
2. Apply properties of functions and equation
3. Apply basic manipulations to functions such as differentiation.

Apply properties of differentiation in solving computer science problems

Description/Content
Functions and Models: Exponential Functions, Inverse Functions and Logarithms. Limits and
Derivatives: The Tangent and Velocity Problems, The Limit
of a Function, Calculating Limits: Using the Limit Laws, Continuity, Limits at Infinity;
Horizontal Asymptotes, Derivatives and Rates of Change, the Derivative of a Function.
Differentiation Rules: Derivatives of Polynomials and Exponential Functions, the Product
and Quotient Rules, derivatives of Trigonometric Functions, The Chain Rule, Implicit
Differentiation,

Derivatives

of

Logarithmic

Functions,

Related

Rates,

Linear

Approximations and Differentials , Hyperbolic Functions . Computer Applications:


Maximum and Minimum Values, The Mean Value Theorem, How Derivatives Affect the
Shape of a Graph, Indeterminate Forms and L'Hospital's Rule, Curve Sketching,
Optimization Problems.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 25 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO200

Prerequisite

OBJECT ORIENTED PROGRAMMING II


SCO103

Purpose
The purpose of this course is to ground students to advanced concepts in object-oriented
programming and in writing more difficult/complex programs.
Learning Outcomes
Students will be expected to:
1. Demonstrate knowledge of use of important features of an object-oriented language
such as exception handling, polymorphism, operator overloading and inheritances.
2. Gain a working knowledge of the Standard Libraries.
3. Develop multi-thread applications
Description/Content
Coding Graphical user interface: introduction to swing classes, frames, panels, buttons and
events, layout managers, labels and text fields, events handling, controls. Menus. Fonts,
colors, images and shapes. Applets: swing and AWT applets. Advanced Java skills: using
JDBC to work with databases. Writing real application programs using Java.

Delivery of the Unit


Lectures: 2 Hours per week; Lab Work: 3 hours per week.
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 26 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO202

Prerequisite

EVENT DRIVEN PROGRAMMING

SCO102

Purpose
To provide skills in programming desktop applications using event driven programming
languages like Visual Studio.NET.
Learning Outcomes
Students will be expected to:

design and program Windows applications using Microsoft .NET and Visual Studio

write object-oriented code using Visual Studio language syntax

analyze user requirements and design classes, user interfaces and databases

build SQL Server databases and access them using ADO.NET

Description/Content
Programming Fundamentals in .NET. Working with data types, identifiers, variables,
constants, expressions and conversions. Control Structures. Arrays. Exception handling and
debugging. Documentation. Constructing Windows Applications: Windows application
basics, Creating forms and positioning controls, Navigating with menus, Automating code
with the Toolbox and Properties window. Windows forms: Event Handling, property values
and dialog forms. Database manipulation and database controls: including use of dynamic
link libraries (DLLs); dynamic data exchanges (DDEs); object linking and embedding
(OLEs); and programming applications to display, edit, and update databases by use of the
data access object (ADO) and Language Integrated Query (LINQ).
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 27 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO204

Prerequisite

DATA STRUCTURES AND ALGORITHMS


SCO100, SCO102

Purpose
The purpose of the course is to impart knowledge of manipulation and handling of data and
application to algorithms
Learning Outcomes
Students will be expected to:

demonstrate knowledge in basic data structures such as arrays, lists, trees, stacks,
queues, binary search trees, and harsh tables

state the characteristics of arrays, lists, trees, stacks, queues, binary search trees,
harsh tables

create the data structures in an object oriented language

implement various searching and sorting algorithms

create and use data structures

determine which algorithm or data structure to use in different scenarios

Description/Content
Fundamental data structures: Stacks; queues; linked lists; hash tables; trees; graphs. Objectoriented design: encapsulation and information hiding, classes, separation of behavior, class
hierarchies, inheritance, polymorphism. Computing algorithms: O (N log N) sorting
algorithms, hash tables, including collision-avoidance strategies, binary search trees,
representations of graphs, depth- and breadth-first traversals. Recursion: recursive
mathematical functions, simple recursive procedures, divide-and-conquer strategies, recursive
backtracking. The basics of algorithmic analysis. Overview of programming languages:
Programming paradigms.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 28 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO206

Prerequisite

DATABASE SYSTEMS
SCO100, SCO102

Purpose
The objective of the course is to equip students with the basic knowledge underlying
databases systems.
Learning Outcomes
Students will be expected to:

Identify various types of database models.

Describe the relational database model.

Identify entities, relationships and attributes.

Perform normalization up to the third normal form.

Use structured query language to access database records.

Description/Content
Introduction to databases database environment. Relational database theory: relational model,
entity relationship modeling, normalization, structured query language. Database design
concepts. Concurrency control. Database recovery. Distributed database systems. Object
databases. Use of report writers. Database transactions and management. Data security and
integrity. Current trend in database systems.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work 3 hours per week;
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 29 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO208

Prerequisite

OBJECT ORIENTED ANALYSIS AND DESIGN


SCO101

Purpose
The objective of the course is to equip the learner with the knowledge of analyzing and
designing software using object oriented approach.
Learning Outcomes
Students will be expected to:

differentiate between structured system analysis and object system analysis

list the advantages offered by object oriented analysis

write an effective requirements specification document in object oriented


nomenclature

specify functional requirements of a system using cases

Identify system objects, their data and methods

use UML to develop a complete system design specification

perform verification, validation and testing of the system models against requirements
using standardized procedures

Description/Content
Fundamental concepts: Systems, requirements, events, and objects. Requirements
specification: Problem analysis, use cases, usage scenarios, interaction diagrams, and event
identification. Requirements analysis: Event stimuli, business rules, event responses, system
context models, domain object models, and state transition diagrams. Preliminary design:
Mapping essential events into practical events and mapping domain object models into design
object models. Verification, validation and testing. The various models are based on the
Unified Modeling Language (UML).
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 10 %
shall be continuous assessment tests, 20 % shall be assignments.

CIT Department

Page 30 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO210

Prerequisite

INTEGRAL CALCULUS FOR COMPUTER SCIENCE

SCO110, SCO111

Purpose
To equip the learner with the necessary integral properties.
Learning Outcomes
Students will be expected to:

understand the properties of definite and indefinite integrals

perform integration by using the appropriate method of integration

apply the integral properties to solve computer science problems

Description/Content
Integration: Antiderivatives and the indefinite integral, The general formula for integration,
Area and the fundamental theorem of calculus, The area of a region between two curves, The
definite integral as the limit of a sum. Exponential and logarithmic functions: Integration of
Exponential Functions, Integration of Logarithmic Functions. Techniques of intergration:
Integration by Substitution, Integration by Parts, Partial functions, Improper Integrals.
Functions of several variables:The Three-Dimensional Coordinate System, Surfaces in Space,
Partial Derivatives, Double Integrals and Area in the Plane. Computer Applications: Signal
processing, audio editing or video editing programs.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 31 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO212

PROBABILITY AND STATISTICS FOR COMPUTER SCIENCE

Prerequisite
Purpose
This course is an introduction to probability and statistics. Students will be introduced to
organizing data, descriptive statistics, and inferential statistics while incorporating problem
solving and critical thinking skills to real life situations
Learning Outcomes
Students will be expected to:

Interpret and construct statistical charts and tables.

Perform a wide variety of probability calculations and derivations,

communicate the results of statistical analyses graphically and verbally,

Accurately compute numerical summaries used to describe the central tendency,


spread and shape in the distribution of numerical data sets,

Demonstrate understanding of application of correlation, regression and hypothesis


testing.

Apply probability and statistical analysis to solve computer science problems

Description/Content
Introduction to statistics and statistical thinking; fundamental elements of statistical analysis;
introduction to the use of computers in statistical analysis; describing and exploring data:
distributions of data, measures of location, measures of variation, basic elements of
probability; random variables; moments and moment generating functions, linear
combination of random variables; Bernouli trials and the binomial distribution, the geometric
and negative binomial distributions; sampling without replacement; the Poison distribution;
conditional probability; the normal distribution; the central limit theorem; confidence
intervals and sample sizes. Basic concepts of inference, correlation, regression and hypothesis
testing
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 20%
shall be continuous assessment tests and 10% shall be assignments.

CIT Department

Page 32 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO201

Prerequisite

COMPUTER ORGANIZATION AND ARCHITECTURE II


SCO104, SCO106

Purpose
The purpose of the course is to provide an overview of the architecture and organization of a
computer hardware system and how it is built.
Learners Outcomes
Students will be expected to:

Understand the characteristics of an Instruction set and function

Explain the different addressing modes and formats

compare and contrast the RISC and CISC architecture

Explain the theory behind pipeline and vector processing

Discuss the different processors architectures

Description/Content
Instruction Sets: Machine Instruction Characteristics, Types of Operands, Types of
Operations, Addressing Modes and Formats. Processor Structure and Function: Processor
Organization, Register Organization, The Instruction Cycle, Instruction Pipelining. Reduced
Instruction Set Computers (RISCO). RISC versus CISC. Control Unit Operation: Microoperations, Microprogrammed Control and Hardwired Implementation. Pipeline and Vector
Processing. Superscalar Processors. Multiprocessors: Characteristics of Multiprocessors and
Parallel Processing. Processor architectures e.g. Intel family
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 10 %
shall be continuous assessment tests, 20 % shall be assignments.

CIT Department

Page 33 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO203

Prerequisite

SOFTWARE TESTING AND QUALITY ASSURANCE

SCO101

Purpose
This course examines the theory and practice behind software testing and quality assurance.
Emphasis is placed on understanding the software testing process, planning, strategy, criteria, and
testing methods, as well as software quality assurance concepts & control process.
Learning Outcomes
Students will be expected to:

Understand practices that support the production of quality software

Understand Software testing techniques

Understand life-cycle models for requirements, defects, test cases, and test results

Understand Process models for units, integration, system, and acceptance testing

Demonstrate proficiency in managing a software project to customer requirements.

Description/Content
Introduction to software testing. Unit Testing. Control Flow Testing. Data Flow Testing. System
Integration Testing. System Test Categories. Functional Testing. System Test Design. System Test
Planning And Automation. System Test Execution, Acceptance Testing. Software Inspection.
Software Quality Assurance. Software Quality Standards.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.

Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 % shall be
continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 34 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO205

Prerequisite

FOUNDATIONS OF ARTIFICIAL INTELLIGENCE


SCO102, SCO100,SCO204

Purpose
To explore the idea that computers can be programmed to emulate human-like intelligence.
Learning Outcomes
Students will be expected to:

Understand artificial intelligence concept

Understand problem solving techniques using intelligent computer systems

Apply knowledge presentation techniques and Artificial intelligence tools to create


intelligent computer systems

Description/Content
Techniques of artificial intelligence.; Historical perspective of AI: Problems: problem spaces
and search; knowledge representation: knowledge based and experimental systems;
intelligence agents; game playing; planning; robotics; natural language understanding and
speech recognition; expert systems; machine learning; adaptive systems; vision. Artificial
intelligence tools: Introduction to Prolog, LISP.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 35 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO207

Prerequisite

WEB DEVELOPMENT TECHNOLOGIES

SCO200, SCO202

Purpose
The purpose of the course is to introduce students to software tools used in internet
programming
Learning Outcomes
Students will be expected to:

operate in a Java development environment

use client / Server protocols ( the HTTP protocol)

design and implement Web sites ( using HTML and CSS)

use scripting language for animations, images and sounds

Description/Content
Web Page Design. Programming for the Internet using Scripting languages. Dynamic
websites using scripting languages. File transfer (ftp). Search Engines. Unified and multiple
search engines. Database programming on the Internet. E-Commerce. Emerging trends such
as XML. Multimedia data technologies. Description and writing of several applets in detail.
Using Applets in Web Pages. Security issues and firewalls.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 36 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO209

Prerequisite

MICROPROCESSORS AND ASSEMBLY LANGUAGE ROGRAMMING


SCO104, SCO102

Purpose
To enable students to gain knowledge in PC hardware, and in using assembly language,
including what is needed to write, link and execute a program written in assembly language.
Learning Outcomes
Students will be expected to:

Learn basic concepts of Microprocessor organization and data representation.

Learn the basics of assembly language style programming.

Study a particular machine assembly language in depth

Description/Content
Introduction to machine and assembly language, machine programming model i.e. register
sets and memory structure concepts and instruction formats and data word definition. It
addresses

techniques

including

absolute,

relative,

indexed

and

indirect

modes.

Implementation of high-level language operations and constructs in assembly language, Stack


operations; Procedures and parameter passing. I/O instructions and device handling,
operating system interfaces and multi-module programs and their linkage linkers loaders,
relocating loaders and interfacing assembly language programs with high-level language
programs. Instruction set of Intel processors Experiments using assembly language of Intel
family of microprocessors.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Ordinary Examination at end of Semester: 60% Continuous Assessment: 40% where 20%
shall be continuous assessment tests and 20 % shall be assignments , which include lab work

CIT Department

Page 37 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO211

Prerequisite

AUTOMATA THEORY
SCO102, SCO104

Purpose
To provide insight into the intrinsic nature of computational problems as well as possible
solution techniques independent of programming language, programming paradigm,
computer hardware, or any other implementation aspects.
Learning Outcomes
Students will be expected to:
1. Determine a languages location in the Chomsky hierarchy (regular sets, context-free,
context-sensitive, and recursively enumerable languages).
2. Prove that a language is in a specified class and that it is not in the next lower class.
3. Convert among equivalently powerful notations for a language, including among
DFAs, NFAs, and regular expressions, and between PDAs and CFGs.
4. Explain the Church-Turing thesis and its significance.
Description/Content
Deterministic finite automata (DFAs): Nondeterministic finite automata (NFAs), Equivalence
of DFAs and NFAs. Regular expressions: The pumping lemma for regular expressions, Pushdown automata (PDAs), Relationship of PDAs and context-free grammars. Properties of
context-free grammars. Turing machines: Nondeterministic Turing machines, Sets and
languages, Chomsky hierarchy.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 38 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO213

Prerequisite

NUMERICAL ANALYSIS
SCO109, SCO 111, SCO210

Purpose
The objective of the course is to equip the student with basic numerical techniques and
procedures for obtaining appropriate solution to engineering problems
Learning Outcomes
Students will be expected to:

Use numerical tools, including write simple computer programmes, to obtain


approximate solutions to different equations.

Perform interpolation and numerical differentiation using various techniques.

Perform numerical integration using various techniques.

Apply numerical analysis techniques to solve computer science problems.

Description/Content
Introduction to error analysis: sources of errors, types of errors, statistical treatment of errors,
Lemper synthetic division. Non Linear Equations: Bisection method, Linear Iterative method,
Aitkens acceleration, Newton-Ralphson method. Finite Difference: Finite differences, Finite
differences operators, Finite difference tables, Location of errors. Interpolation: Linear
Interpolation, Interpolation based on finite differences, Lagranges interpolation. Numerical
Integration: Formulae derived from Taylor series, Mid ordinate rule, Trapezoidal rule,
Simpsons rules, Gaussian quadrature. Computer science applications.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 39 of 71

Revised Bsc. Computer Science Syllabus September 2011

Level 300
Unit

SCO300

Prerequisite

COMPUTER NETWORKS
SCO105, SCO107

Purpose
At the end of the course students should be able to demonstrate knowledge of design and
implementation of computer networks.
Learning Outcomes
Students will be expected to:

Familiar with various types of computer networks and related devices;

Familiar various types of communication protocols;

Exposed to the TCP/IP protocol suite.

Able to demonstrate an understanding of IP address.

Description/Content
Introduction to Computer networks History. Network topologies. Network architecture;
protocols, interfaces. Internetworking hardware: e.g. bridges, routers and gateways, Circuit
switching vs. Packet switching, Factors to consider during network design. Wireless
networking Protocols: OSI, TCP/IP Internet protocols and routing. Local area networks.
Wireless communications and networking: Performance analysis, congestion control,
network address translation, multimedia over IP, Switching and routing, mobile IP. Peer-topeer networking. Network security and other current research topics.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 40 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO302

Prerequisite

SOFTWARE PROJECT MANAGEMENT


SCO101

Purpose
Gain knowledge, understanding, and deep appreciation of the nature, purposes, and
significance of project management in dealing with various Information Systems.
Learning Outcomes
Students will be expected to:

Acquire knowledge and understanding of various techniques in managing projects and


team members.

Develop skills on managing change, risks, clients, teams and suppliers brought about
by any IS project.

Appreciate the importance of planning, monitoring, controlling, and reporting an IS


project.

Description/Content
Definitions, Managing Change; Business Strategy and Information Systems. The
Organizational Framework; The Profile of a Project - Justifying the Project; Project Planning
Understanding the Work; Project Planning Estimating; Project Planning Scheduling and
Resourcing; Monitoring Progress; Exercising Control; Reporting Progress; Quality
Management; Risk Management; Value Management; Selling the Project;

Client

Management Issues; Managing Suppliers; Leadership; Performance Management; Project


Teams; The Working Environment; The Project Manager
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 41 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO304

Prerequisite

ADVANCED DATABASE SYSTEMS


SCO206

Purpose
To equip the learner with the knowledge of advanced database management techniques in
computerized systems.
Learning Outcomes
Students will be expected to:

Design a database in a relational model

Create a database using DDL commands in a Relational DBMS

Manipulate the database using DML commands

Understand the current trends in DBMS

Description/Content
DBMS architecture. Mapping ERDs to relational databases. SQL programming: Database
creation using DDL Commands, Database manipulation using DML Commands, Views and
Reports. Indexing, query evaluation, and query optimization techniques. Transaction
management and concurrency control. Database security. Multi-user database architectures:
Client-server databases and Distributed database systems. Trends in database technology:
Multimedia databases, data mining and data warehouse. A case study using Oracle or SQL
server.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 42 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO306

Prerequisite

PROGRAMMING LANGUAGES
SCO200, SCO202,SCO204

Purpose
The course provides a comparative study of programming languages, syntax and semantics of
programming languages.
Learning Outcomes
Students will be expected to:

To analyze a programming language based on generic characteristics.

Explain the importance of formal semantics, differentiate between formal and


informal semantics, describe the different approaches to formal semantics, and
evaluate the different approaches to formal semantics.

Evaluate the impact of different typing regimes on language design, language usage,
and the translation process.

Explain the role of different abstraction mechanisms in the creation of user-defined


facilities.

Description/Content
Programming Language Semantics: Informal semantics, Overview of formal semantics,
Denotational semantics, Axiomatic semantics, and Operational semantics. Programming
Language Design: General principles of language design, Design goals, Typing regimes, Data
structure models, Control structure models, Abstraction mechanisms.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 43 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO308

DESIGN AND ANALYSIS OF ALGORITHMS

Prerequisite SCO 213, SCO 204


Purpose
To introduce the students to Algorithms Analysis and Design Techniques.
Learning Outcomes
Students will be expected to:

Understand the techniques used to Analyze and Design Algorithms,

Be able to compare the performance of Algorithms

Description/Content
Introduction to Algorithms, Complexity theory, worst and Average case, best case, Big O.
Recurrence relations: Fibonacci, GCD, Factorial, Power search Algorithms; sequential Binary
search, Sorting Algorithms, shell, insertion, Binary sort tree, Merge sort, External Sorting,
Internal sorting. Design of Algorithms: Divide and Conquer, Dynamic programming, Greedy
Algorithm, Back tracking. Applications: Tower of Hanoi, Number Multiplication, Knapsack
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 44 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO310

Prerequisite

COMPONENT PROGRAMMING
SCO200, SCO204,SCO202

Purpose
The student be able to build a program from existing components, write components that can
be used by others and extend a component development environment to support new features
of components.
Learning Outcomes
Students will be expected to:

Introduce the concept of software component, including its relationship to the objectoriented programming paradigm.

Describe the basic issues present in component frameworks, including events,


properties, introspection and reflection, persistence, and packaging.

Introduce different component frameworks, including Java Beans, COM, and


CORBA.

Description/Content
Introduction to Component Oriented Programming (COP): Theory of Components:
Principles of COP, Infrastructures of COP, Component Models, Connection Models and
Deployment Models. COP with JavaBeans; CORBA Components; NET Components: .NET
Framework, Component Model of .NET, Connection Model of .NET, .NET Component
Deployments, Visual Studio .NET. COP with OSGi Components: Overview of OSGi
Technology; Web Services Components: Web Services Framework, Component Model of
Web Services, Connection Model of Web Services, Web Services Component Deployment.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 45 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO301

Prerequisite

COMPILER CONSTRUCTION
SCO200, SCO204,SCO202, SCO209

Purpose
This course aims at teaching students about compiler development methodology and its
associated technology to modern applications. The course contents include formal aspects,
lexical analysis, syntax analysis, syntax-directed translation, run-time environments,
intermediate code generation, code generation and code optimization.
Learning Outcomes
Students will be expected to:

represent language tokens using regular expressions and finite automata

write a lexical analyzer for a language and generate a lexical analyzer using Flex

implement type checking for a block-structured language using a symbol table

generate target code for a stack-based runtime environment

Understand how source programs are mapped to target platforms via the compilation
process, and write better source programs based on this understanding.

Description/Content
Compilers and Interpreters. Main phases of compilation: lexical analysis, syntax analysis,
semantic analysis, code generation. Issues in compiler design: symbol tables, program
compilation, loading and execution. One-pass and two-pass techniques. Storage allocation.
Object code for subscripted variables. A simple complete compiler: organization, subroutine
and function compilation, bootstrapping techniques, multi-pass compilation. Optimization:
techniques, local, expressions, loops and global optimization.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 46 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO303

Prerequisite

SIMULATION AND MODELLING


SCO200, SCO204,SCO202

Purpose
The objective of the course is to induct students into the field of developing mathematical
models of real events and subsequently obtaining computer simulation.
Learning Outcomes
Students will be expected to:

Define simulation and modeling in relation to real world situations.

Highlight the role of simulation in system modeling.

Describe the principles and practice of continuous and discrete event simulation..

Apply simulation software to run models in sample manufacturing, service or


transport systems.

Description/Content
Modeling: various types of models. Properties of linear models. Model building techniques.
The black box approach. Role of models in a study. Financial modeling. Inter linked models.
Corporate modeling. Simulation: Simulation methodology. Use of simulation methodology.
Use of simulation languages. Generation of random variables. Pseudo-random number
generators. Transformation of random numbers. Test of randomness. Parameter estimation.
Maximum likelihood. Least mean square error. Use of Mat Lab Software in simulation.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 47 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO305

Prerequisite

COMPUTER GRAPHICS
SCO109,SCO213,SCO 210,SCO204

Purpose
The course is designed to teach the students theoretical and applied aspects of computer
graphics.
Learning Outcomes
Students will be expected to:

Produce computer graphics using two and three dimensional raster graphics.

Description/Content
Theory and practice of computer graphics programming. Line and point plotting systems;
vector, pixel and point plotters. Ray tracing. Continual refresh and displays. Coordinate
systems. Screen co-ordinates, user co-ordinates. Graphical data structures. The viewing
algorithm. Transformations. Practical concepts in computer graphics modeling, rendering,
and animation. Interactive graphics: Interactive graphical techniques e.g. positioning, elastic
lines, windowing, zooming, rotation, and clipping routines. Rasterization algorithms;
illumination and color models; hidden surface elimination problem; geometrical modeling;
fractal representation; concepts of motion. 3D graphics.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 48 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO307

Prerequisite

HUMAN COMPUTER INTERFACE


SCO 107

Purpose
To introduce the students to concepts in human computer interfaces and the various
techniques used to build interactive computer systems.
Learning Outcomes
Students will be expected to:

Demonstrate knowledge in Human computer interface development.

Description/Content
Introduction; History of HCI. The Human; Input/output channels, Human memory and
Thinking. Usability Paradigms and principles. Design process; identifying users and usability
requirement; Task analysis; user object modeling; Style guides; Dialog Notations and design.
Prototyping. Evaluation. Help and documentation. High level theories. Groupware; multiuser interfaces architecture, cooperative application scenarios, students to develop interface
using an appropriate GUI Programming Language.
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 49 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO309

Prerequisite

RESEARCH METHODS AND TECHNICAL WRITTING


SCO 101

Purpose
Introduces the basics of research practices which are deemed useful in various disciplines.
Learning Outcomes
Students will be expected to:

Specify a problem statement of their research work.

Recite and reference materials used in their documentation.

Design, select, and analyze experimental data of their research work.

Present their research work in more elaborate structured way.

Describe the benefits and limitations of their structure.

Description/Content
Specifying a Problem Statement. Variables. Hypothesis. Research Question. Literature
Review: Location and review of relevant information, References and Bibliographies, Issues
of Plagiarism. Validity Concerns. Research Design. Data collection methods: Interviews,
Survey, Focus groups, Case studies, Observation, Archival method, Content analysis. Data
analysis: Qualitative and Quantitative approaches, Descriptive statistics. Effective
presentation skills.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 10 %
shall be continuous assessment tests, 20 % shall be assignments.

CIT Department

Page 50 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO311

Prerequisite

ELECTRONIC COMMERCE
SCO207, SCO 300

Purpose
To introduce the theory and practice of doing business over the internet and the World Wide
Web.
Learning Outcomes
Students will be expected to:

Demonstrate an understanding of E commerce and its infrastructure.

Describe the technologies used in E- Commerce.

Understand the strategies of doing business using the Web.

Description/Content
Fundamentals of Electronic Commerce (E-Commerce). Infrastructure of ECommerce. Web
Based Tools for ECommerce. Software used in ECommerce. Ecommerce Security:
Threats and Implementation. Electronic Payment Systems. Strategies for Marketing, Sales,
Promotion and Purchasing. Web Auctions, Virtual Communities, and Web Portals. E
commerce and its operation environment.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 10 %
shall be continuous assessment tests, 20 % shall be assignments.

CIT Department

Page 51 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO314

INDUSTRIAL ATTACHMENT

Prerequisite
Purpose
The objective of the course is to provide a student with exposure to actual practices and
processes in the software industry whose operations are relevant to the programme of study.
Learning Outcomes
Students will be expected to:

Describe the process of problem identification and solution of software systems in the
industry.

Describe the maintenance of equipment and software he/she is exposed to in the


industry.

Describe the business processes, including responsibilities of different cadres, for the
activities he / she is involved in a plant.

Description/Content
The three-month Industrial Attachment aims to extend the knowledge gained throughout the
academic course, and to develop skills needed to work in an industrial environment. The
student should develop the social, technical and communication skills needed to work
effectively in a team.
Assessments
Assessment will be based on a written industrial attachment report, student logbook, and
recommendation from the supervisor.

CIT Department

Page 52 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO400

PROJECT

Prerequisite

All SCO units in level 100, 200 and 300.

Purpose
A substantial project carried out throughout the fourth year, culminating in a written report,
project demonstration, and presentation of findings of research.
Learning Outcomes
Students will be expected to:

Do develop a software using the acquired knowledge and programming skills

Write a report which entails the documentation of their project

Description/Content
Research in the relevant area that concerns the topic of the project
Delivery of the Unit
Practical work will cover

Do research in the relevant area that concerns the topic of the project.

capturing the requirements from sample scenarios using analysis tools like data flow
diagrams, ERDs

Development of system design models using various techniques like system flow
charts.

implement the system design using an appropriate programming language

Write a project proposal and dissertation

Assessments
Project proposal: 20%, Presentation: 40 %, Report : 40 %

CIT Department

Page 53 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO402

Prerequisite

LEGAL AND ETHICAL ISSUES IN COMPUTING


SCO 100

Purpose
To critically review of the issues relating to computing as a professional discipline.
Learning Outcomes
Students will be expected to:

Explain the relevance of a code of conduct to professional practice in computing.

Describe the legal issues related to information systems development and operation..

Description/Content
Societal and environmental obligations. Role of professional organizations. The nature and
sources of contract. The law of tort, intellectual property laws. Fundamental principles of
engineering practice and ethics. Professional obligation. Contractual obligation. Contractual
disputes. Risks and liabilities of computer-based systems: Historical examples of software
risks; implications of software complexity; risk assessment and management. Cyber crimes
and counter measures. e-waste and its environmental effect.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 54 of 71

Revised Bsc. Computer Science Syllabus September 2011

Code

SCO404

Prerequisite

ENTREPRENEURSHIP
None

Purpose
This course is designed to provide students with the knowledge and skills leading to the
development of a business plan for SECS business ownership. An important part of the
course will be the incorporation of marketing, staffing, and financial considerations.
Learning Outcomes
Students will be expected to:

understand the creation and sustenance of a market (as defined above)

construct their own definition of success and plot your path towards it

develop a profound conceptual understanding of key ideas in entrepreneurship,


with particular emphasis on effectuation

foster in themselves the courage for independent thinking, reasoned


communication and authentic behavior

Description/Content
Types of entrepreneurs, characteristics of Entrepreneurs. Role of entrepreneurs in economic
development. Various sources of business opportunities. Identification of commercially
viable business propositions. Business plan formulation. Starting new business ventures;
Business planning, Resource managements, organization development and management
financial management and planning. Marketing, selling and negotiation techniques. Exit
Options
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Ordinary Examination at end of Semester: 70% Continuous Assessment: 30% where 15%
shall be continuous assessment tests and 15 % shall be assignments , which include a
business plan or business case study

CIT Department

Page 55 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO406

Prerequisite

COMPUTER SYSTEMS SECURITY


SCO 200,SCO202

Purpose
To introduce students to security of information systems and related issues.
Learning Outcomes
Students will be expected to:

Explain, design and implement security measures in Information systems.

Description/Content
Definition of information systems security, security threats, breaches, threat analysis and
counter measures. Definition and classification of programmed threats alongside preventive
measures. Security in operating systems, Database security, and Web security. Firewall
design and implementations and related issues. Cryptography techniques: data encryption and
decryption, private keys and public Keys. Security in e-payments. Case studies.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 56 of 71

Revised Bsc. Computer Science Syllabus September 2011

Code

SCO408

Prerequisite

INFORMATION SYSTEMS MANAGEMENT


SCO 302

Purpose
Management of Information systems skills are passed to the student.
Learning Outcomes
Students will be expected to:

Be able to apply management skills in the development, implementation, maintenance


and operations of information systems.

Description/Content
Information Systems concepts: classification of information systems. Information system
infrastructure, managing information resources. Application of MIS in organizations.
Strategic advantage of information technology. Transaction processing and management
reporting. Information systems and decision making. Decision support and executive support
system (DSS, ESS). Information systems development. The planning issues: IT planning; the
evolution of IT planning, Information Technology Economic: Evaluating IT benefits, Cost
and Performance. Managing Information systems resources: Control and Security. IT impact:
effects, ethical issues, impact on organization, impact on individual at work, social ethical
impact and the Internet.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 57 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO410

Prerequisite

DISTRIBUTED SYSTEMS
SCO 107, SCO 300

Purpose
In this course we aim to provide students with a deeper understanding of distributed systems.
In particular we focus on the principles, techniques, and practices relevant to the design and
implementation of distributed systems.
Learning Outcomes
Students will be expected to:

Explain what a distributed system is, why you would design a system as a distributed
system, and what the desired properties of such systems are.

Explain the basic principles in regard distributed system

Understand process communication and transactions in distributed system

Description/Content
The characteristics and objectives of distributed systems. Separation of logical design from
implementation. Impact on the design of high-level languages. Distribution of data,
management, control; maintenance and administration. Process communication and resource
sharing. Communication primitives. Application oriented services; Virtual processors, virtual
file service, virtual terminal service, job transfer, their design and implementation. Operating
systems and programming languages for concurrent and distributed systems.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 58 of 71

Revised Bsc. Computer Science Syllabus September 2011

Code

SCO412

Prerequisite

MOBILE COMPUTING AND WIRELESS TECHNOLOGY


SCO 207, SCO 300

Purpose
The objective of the course is to give basic competencies on Mobile Computing
Learning Outcomes
Students will be expected to:

Describe the main characteristics of mobile IP and explain how differs from IP with
regard to mobility management and location management as well as performance.

Illustrate (with home agents and foreign agents) how e-mail and other traffic is routed
using mobile IP

Implement a simple application that relies on mobile and wireless data communications.

Describe areas of current and emerging interest in wireless and mobile computing,

Description/Content
Overview of the history, evolution, and compatibility of wireless standards, The special
problems of wireless and mobile computing, Wireless local area networks and satellite-based
networks, Wireless local loops, Mobile Internet protocol, Mobile aware adaption, Extending
the client-server model to accommodate mobility, Mobile data access: server data
dissemination and client cache management, Software package support for mobile and
wireless computing, The role of middleware and support tools, Performance issues, Emerging
technologies
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 59 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO401

Prerequisite

NETWORK MANAGEMENT
All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to give learners competencies in Network Management
Learning Outcomes
Students will be expected to:

Explain the issues for network management arising from a range of security threats,
including viruses, worms, Trojan horses, and denial-of-service attacks

Develop a strategy for ensuring appropriate levels of security in a system designed for
a particular purpose.

Implement a network firewall

Demonstrate skills for managing a network using appropriate software e.g. Linux

Description/Content
Overview of the issues of network management, Network administration: Use of passwords
and access control mechanisms, Domain names and name services. Issues for Internet service
providers (ISPs). Security issues and firewalls. Quality of service issues: performance and
failure recovery in networks. Case studies on network management using an OS like Linux
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.
Lectures: 2 Hours per week; Lab Work 3 hours per week

CIT Department

Page 60 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO403

Prerequisite

NETWORK APPLICATIONS
All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to give learners competencies in the area of network
application
Learning Outcomes
Students will be expected to:

How interactive client-server web applications work

Demonstrate how to implement a database-driven web site,

Implement an application that invokes the API of a web-based application.

Implement a distributed system using any two distributed object frameworks and
compare them with regard to performance and security issues.

Discuss security issues and strategies in an enterprise-wide web-based application.

Description/Content
Protocols at the application layer, Web interfaces: Browsers and APIs, Web Search
Technologies, Principles of web engineering, Database-driven web sites, Remote procedure
calls (RPC), Lightweight distributed objects, The role of middleware, Support tools, Security
issues in distributed object systems, Enterprise-wide web-based applications (Serviceoriented Architectures)
Delivery of the Unit
Lectures: 2 Hours per week; Lab Work 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 61 of 71

Revised Bsc. Computer Science Syllabus September 2011

Code

SCO405

Prerequisite

COMPRESSION
All SCO 100, 200 and 300 levels

Purpose
This course takes learners through the principles of compression and explores the rich body
of exciting ideas and solutions.
Learning Outcomes
Students will be expected to:

Summarize the basic characteristics of sampling and quantization for digital


representation.

Select, giving reasons that are sensitive to the specific application and particular
circumstances, the most appropriate compression techniques for text, audio, image, and
video information and

Explain the asymmetric property of compression and decompression algorithms.

Illustrate the concept of run-length encoding.

Illustrate how a program like the UNIX compress utility, which uses Huffman coding and
the Ziv-Lempel algorithm, would compress a typical text file.

Description/Content
Analog and digital representations. Encoding and decoding algorithms. Lossless and lossy
compression. Data compression: Huffman coding and the Ziv-Lempel algorithm, Audio
compression and decompression, Image compression and decompression, Video compression
and decompression. Performance issues: timing, compression factor, suitability for real-time
use.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 62 of 71

Revised Bsc. Computer Science Syllabus September 2011

Code

SCO407

Prerequisite

MULTIMEDIA TECHNOLOGIES
All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to equip learners with knowledge on multimedia technologies
Learning Outcomes
Students will be expected to:

Understand each of several media or multimedia standards, describe in non-technical


language what the standard calls for, and explain how aspects of human perception might
be sensitive to the limitations of that standard.

Describe the characteristics of a computer system (including identification of support


tools and appropriate standards) that has to host the implementation of one of a range of
possible multimedia applications.

Implement a multimedia application of modest size.

Description/Content
Sound and audio. Image and graphics. Animation and video. Multimedia standards (audio,
music, graphics, image, telephony, video, TV). Capacity planning and performance issues.
Input and output devices (scanners, digital camera, touch-screens, voice-activated). MIDI:
keyboards, synthesizers. Storage standards (Magneto Optical disk, CD-ROM, DVD).
Multimedia servers and file systems. Tools to support multimedia development.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 63 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO409

Prerequisite

NATURAL LANGUAGE PROCESSING


All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to give competencies for application of natural language
processing
Learning Outcomes
Students will be expected to:

Define and contrast deterministic and stochastic grammars, providing examples to


show the adequacy of each.

Identify the classic parsing algorithms for parsing natural language.

Defend the need for an established corpus.

Give examples of catalog and look up procedures in a corpus-based approach.

Articulate the distinction between techniques for information retrieval, language


translation, and speech recognition.

Description/Content
Deterministic and stochastic grammar. Parsing algorithms. Corpus-based methods.
Information retrieval and information extraction. Language translation. Speech recognition
and synthesis. Designing and coding programs for natural language processing. Applications
for natural language processing. Case studies.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 64 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO411

Prerequisite

NEURAL NETWORKS
All SCO 100, 200 and 300 levels

Purpose
This unit introduces the student to the major classes of neural network models in use today.
Learning Outcomes
Students will be expected to:

Understand how machine learns using the neural network model

Understand the different neural network models

Demonstrate practical knowledge of how to use neural network in developing


intelligent systems

Description/Content
About the brain and brain-like models. Single neuron models. Sensory processing and
filtering. Linear feed forward pattern associators. Recurrent pattern associators: Hopfield
networks. Nearest neighbor models, and sparse coding in the human brain. The Perceptron
and LMS learning algorithms. The back-propagation learning algorithm. Representations and
data preprocessing. Applications of neural network models. Case studies.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 65 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO413

Prerequisite

ROBOTICS
All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to give basic competencies on Robotics
Learning Outcomes
Students will be expected to:

Outline the potential and limitations of todays state-of-the-art robot systems.

Implement configuration space algorithms for a 2D robot and complex polygons.

Implement simple motion planning algorithms.

Explain the uncertainties associated with sensors and how to deal with those
uncertainties.

Design simple control architecture.

Describe various strategies for navigation in unknown environments, including the


strengths and shortcomings of each.

Describe various strategies for navigation with the aid of landmarks, including the
strengths and shortcomings of each.

Description/Content
Overview of robotics. State-of-the-art robot systems. Planning vs. reactive control.
Uncertainty in control. World models: Configuration space, Planning, Sensing Robot
programming. Navigation and control. Robotic software and its architecture. Applications in
the robotics field. Case studies.
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 66 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO415

Prerequisite

DATA WAREHOUSE AND DATA MINING

All SCO 100, 200 and 300 levels

Purpose
The objective of the course is to equip the leaner with fundamental concepts in data
warehousing and application of data mining techniques
Learning Outcomes
Students will be expected to:

Understand the fundamental concepts in data warehouse

Understand the different data mining techniques

Demonstrate with real life applications the use of data miming

Description/Content
Introduction: Fundamentals of data mining, Data Mining Functionalities, Classification of
Data Mining systems, Major issues in Data Mining, Data Warehouse and OLAP Technology
for Data Mining Data Warehouse, Multidimensional Data Model, Data Warehouse
Architecture, Data Warehouse Implementation. Data Preparation Techniques: outlier and
missing data analysis, Data Reduction Techniques, learning methods in Data mining,
Statistical Methods in Data Mining, Cluster Analysis, hierarchal, agglomerative and Nave
Bayesian methods, Decision Trees and Decision Rules, Association Rules, Other Soft
Computing Approaches in Data Mining, Artificial Neural Networks, Fuzzy Logic and Fuzzy
Set Theory, Genetic Algorithm, evolutionary algorithms..
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 67 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO417

Prerequisite

GEOGRAPHIC INFORMATION SYSTEMS


All SCO 100, 200 and 300 levels

Purpose
Geographic Information Systems prepares the student for the rapidly growing career trucks in
pure and applied sciences, socio-economic, political, cultural, business areas etc. GIS uses
computer software to store and present data and information about resources, water, land and
land use, development patterns, utilities and other mapping related functions of planning and
management of scarce resources.
Learning Outcomes
Students will be expected to:

Understand application of GIS Software and the Concept of Geographic Information


System.

Design/Create a GIS project and Acquire field related skills/knowledge in GIS field.

Thematic approaches to spatial data analysis

Description/Content
Concept and functions of GIS; features and layers of data frames, features and attribute
relationships; Exploring GIS databases; projections; Geodatabases: Raster and Vector data;
Understanding location: Acquiring Geographic data: Data formats; Methods of creating
Geographic data using ArcView, ArcCatalog, ArcInfo; Querying data; Analyzing spatial
relationships; Solving problems with/using GIS applying GIS inquiry process; Using GIS
tools and creating a map to prove results.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 68 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO419

Prerequisite

ENTERPRISE RESOURCE PLANNING


All SCO 100, 200 and 300 levels

Purpose
This course provides a technical overview of Enterprise Resource Planning Systems and their
impact on organizations.
Learning Outcomes
Students will be expected to:

Understand the fundamentals of an ERP system

Understand the design and implementation of ERP systems

Be able to demonstrate the design and implementation of ERP systems using SAP.

Description/Content
Fundamentals of enterprise resource planning (ERP) systems. The importance of integrated
information systems in an organization. Procurement, production, and sales business
processes using ERP software. ERP Design and Implementation: concepts, fundamentals,
framework, general information technology context, the technological infrastructure, and
integration of business enterprise-wide applications. ERP Systems Configuration and
Integration. Use of SAP as an example of ERP system.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 69 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO419

Prerequisite

DECISION SUPPORT SYSTEMS


All SCO 100, 200 and 300 levels

Purpose
To Provide the students with techniques which can be used in Intranets and Internets to
analyze various aspects about the performance and predict the future.
Learning Outcomes
Students will be expected to:

Development of support system

Understand techniques of managing knowledge

Know how to design and implement Intelligent decision system

Description/Content
Decision making: Systems, Modeling, and support. Decision Support System Development.
Enterprise systems: Comparing and Integrating EIS and DSS EIS data access. Data
Warehouse. OLAP. Multidimensional analysis. Presentation and the web Including soft
information enterprise on systems. Organizational DSS supply and value chains and decision
support supply chain problems and solutions. Computerized systems: MRP, ERP, SCM
frontline decision support systems. Knowledge management system. Intelligent System
Development. Management Support Systems.
Delivery of the Unit
Lectures: 2 Hours per week; Lab work: 3 hours per week
Assessments
Regular Examination at end of semester; 60 %, Continuous Assessment: 40 % where 10 %
shall be continuous assessment tests, 10 % shall be assignments, and 20 % shall be labs.

CIT Department

Page 70 of 71

Revised Bsc. Computer Science Syllabus September 2011

Unit

SCO423

Prerequisite

INFORMATION SYSTEM AUDITING


All SCO 100, 200 and 300 levels

Purpose
To provide basic concept of information system audit and control, policies and procedures.
Learning Outcomes
Students will be expected to:

Know basic concept of information system audit and control, policies and procedures

Understand how to review and evaluate or conduct IS audits of an organization

Description/Content
IS Audit charter, Polices, Procedures, Audit computer networks and communication, Auditing software
development, Acquisition, Maintenance, Auditing IT infrastructure, Auditing Management and Organization,
Business process re engineering: IS audit proposal, report, evidence and follow-up, complaint to standard,
Enterprise service agreement, IP pro count policies and process, Backup and procedures .
Delivery of the Unit
Lectures: 3 Hours per week; Tutorials 2 hours per week.
Assessments
Regular Examination at end of semester; 70 %, Continuous Assessment: 30 % where 20 %
shall be continuous assessment tests, 10 % shall be assignments.

CIT Department

Page 71 of 71

Potrebbero piacerti anche