The curriculum is developed to address the following needs:
Employers: the need for professionals that can conceive, design, implement innovative computing problem solutions and applications.
Government: The need for Kenya to harness computing and IT for increased productivity and effectiveness in all sectors of the economy for national prosperity. The need for widespread socio-economic awareness in Kenya of the purpose and capabilities of information systems. The need for Kenya to participate effectively in and reap maximum benefits from the global information economy.
Students: The need to address the increasing demand for quality computer science education that prepares the learner to fit into the job market and be capable of life-long learning.
Academia/Professionals: the need for professionals with a firm and broad grounding in computer science, and that are able to pursue research and teaching in the discipline.
Society: the need for skilled professionals who will effectively participate in the development of computing knowledge and systems that benefit society at large and promote the social, economical and technological advancement
Program Objectives
The objectives of the programme are to:
Facilitate the acquisition, adoption and adaptation of computer science knowledge, techniques and tools.
Develop graduates with the ability to apply computer science knowledge, skills, techniques and tools to create best-possible solutions to practical problems of varying complexity, in a wide range of contexts.
Develop graduates who are innovative and creative, who possess good problem-solving skills and are capable of life-long learning.
Develop all-rounded graduates with demonstrable ethical and professional behaviour, and who possess effective communication, management, entrepreneurial and interpersonal skills.
Entry Requirements
Candidates must satisfy the University's general admission criteria for undergraduate programmes.
Eligibility for consideration for admission into the degree of Bachelor of Science in Computer Science at the School of Computing & Informatics shall be governed by the following minimum admission requirements or an equivalent qualification recognized by Senate:
KCSE: A holder of Kenya Certificate of Secondary Education (KCSE) with a minimum aggregate performance of C+. In addition candidates must have obtained a minimum grade of C+ in four subjects as shown below:
Alternative A: Mathematics, Physics, A 2nd Group II subject or Any from Group III, Any Group II or Group III or Group IV or Group V.
Alternative B: Mathematics, Physical Sciences, A 2nd Group III subject or Any from Group III, Any Group II or Group III or Group IV or Group V.
A-Level: A holder of Kenya Advanced Certificate of Education (KACE) with 2 principal passes, one of which must be in Mathematics or Physics, and a subsidiary pass with a Credit pass in Physics at ’O’ level.
Diploma in Computer Studies: A holder of an ordinary diploma in computer studies or equivalent with, a minimum pass at credit level, from an institution recognized by Senate.
Higher Diploma in Computer Studies: A holder of a Higher Diploma in Computer Studies or equivalent, from an institution recognized by Senate.
Bachelor’s Degree: A holder of a Bachelor’s degree from an institution recognized by senate.
Credit Transfer and Exemptions
The point of entry into the programme for candidates other than direct KCSE shall be approved by Senate on recommendations of Board of the School of Computing & Informatics and shall be based on the qualification of the candidate.
Exemptions
Where a candidate wishes to be exempted from any course unit(s), the candidate shall send an application to the Academic Registrar justifying the request and provide evidence of the credentials which support such a request. Such a candidate may be required to sit and pass an ordinary university examination in that course unit.
Regulation above notwithstanding, all course units, which contribute towards the final award of the
Course Structure and Duration
The course shall extend over a minimum period of 8 semesters and a maximum period of 16 semesters.
Each academic year shall have at least two semesters.
A course unit shall be defined as 45 contact hours of lectures, tutorials and practicals; including common undergraduate courses.
Taught courses, lab-based courses and projects shall be evaluated in terms of course units.
The Second Year Projects shall be equivalent to two course units.
The Industrial Attachment shall be equivalent to two course units.
The Fourth Year Project shall be equivalent to four course units.
The course is organised into Knowledge Areas as outlined in Appendix A.
Year II Project
A project in this context shall mean computer systems development work undertaken by a candidate or a group of candidates, in accordance to the School’s guidelines on Undergraduate Projects.
The project shall be equivalent to one (1) course unit.
The project shall be graded independently out of a maximum of 100 marks and the pass mark shall be 40%.
A pass obtained in any resubmitted project will be recorded as 40%.
A candidate who fails to satisfy the examiners in the project may, on the recommendation of the Board of Examiners and approval by Senate, be allowed to resubmit the project within a period of 3 months.
A candidate who fails to satisfy the examiners in the first re-submission of the project may, on the recommendation of the Board of Examiners and approval by Senate, be allowed to redo the same or do another project during a subsequent academic year.
A candidate who fails on the fourth attempt shall, on the recommendation of the Board of Examiners and approval by Senate, be discontinued from the programme.
Year IV Project
A project in this context shall mean computer systems development work undertaken by a candidate or a group of candidates, in accordance to the School’s guidelines on Undergraduate Projects.
The project shall be equivalent to four (4) course units.
The project shall be graded independently out of a maximum of 100 marks and the pass mark shall be 40%.
A pass obtained in any resubmitted project will be recorded as 40%.
A candidate who fails to satisfy the examiners in the project may, on the recommendation of the Board of Examiners and approval by Senate, be allowed to resubmit the project within a period of 3 months.
A candidate who fails to satisfy the examiners in the first re-submission of the project may, on the recommendation of the Board of Examiners and approval by Senate, be allowed to redo the same or do another project during a subsequent academic year.
A candidate who fails on the fourth attempt shall, on the recommendation of the Board of Examiners and approval by Senate, be discontinued from the programme.
Industrial Attachment
The Student will undertake Industrial Attachment for a period of 8 weeks between semester 2 of year three and semester 1 of year four, in accordance to the School’s guidelines on Industrial Attachment.
The Industrial Attachment shall be equivalent to 2 course units.
The Industrial Attachment report shall be graded independently out of a maximum of 100 marks and the pass mark shall be 40%.
A pass obtained in any resubmitted Industrial Attachment report will be recorded as 40%.
A candidate who fails to satisfy the examiners in the Industrial Attachment may, on the recommendation of the Board of Examiners and approval by Senate, be allowed to repeat the Industrial Attachment not more than once.
A candidate who fails in a repeated Industrial Attachment shall, on the recommendation of the Board of Examiners and approval by Senate, be discontinued from the programme.
Classification and Degree Award
The degree to be awarded shall be Bachelor of Science in Computer Science.
A candidate who qualifies for the award of the degree shall be classified as First, Second (Upper Division or Lower Division) or Pass. Honours degrees shall only apply to the First Class and Second Class (Upper Division or Lower Division) degrees.
The classification of the final award, based on the aggregate computed, shall be as follows:
First Class Honours 70% - 100%
Second Class Honours (Upper Division) 60% - 69%
Second Class Honours (Lower Division) 50% - 59%
Pass 40% - 49%
Course Outline
Year I (Compulsory Units)
Semester I
Course Code |
Course Title |
Hours |
CSC111 |
Introduction to Computer Systems |
45 |
CSC112 |
Introduction to Programming |
45 |
CSC113 |
Discrete Mathematics |
45 |
CSC114 |
Differential and Integral Calculus |
45 |
CCS001 |
Communication Skills |
45 |
CCS009 |
Economics |
45 |
Semester II
Course Code |
Course Title |
Hours |
CSC121 |
Programming and Problem-solving |
45 |
CSC122 |
Database Systems |
45 |
CSC123 |
Data Communications |
45 |
CSC124 |
Probability and Statistics |
45 |
CSC125 |
Linear Algebra |
45 |
CSC126 |
Physics for Computing Systems |
45 |
CCS010 |
HIV/AIDS |
45 |
Year II (Compulsory Units)
Semester I
Course Code |
Course Title |
Hours |
CSC211 |
Data Structures and Algorithms |
45 |
CSC212 |
Systems Analysis and Design |
45 |
CSC213 |
Computer Architecture |
45 |
CSC214 |
Digital Electronics |
45 |
CSC215 |
Introduction to Artificial Intelligence |
45 |
CSC216 |
Assembly Language Programming |
45 |
CSC217 |
Web Programming and Applications |
45 |
Semester II
Course Code |
Course Title |
Hours |
CSC221 |
Object-oriented Analysis Design and Programming |
45 |
CSC222 |
Automata Theory |
45 |
CSC223 |
Operating Systems |
45 |
CSC224 |
Software Engineering |
45 |
CSC225 |
Computer Networks |
45 |
CSC226 |
Computer Systems and Networking Lab |
45 |
CSC227 |
Programming Project |
45 |
Year III (Compulsory Units)
Semester I
Course Code |
Course Title |
Hours |
CSC311 |
Analysis and Design of Algorithms |
45 |
CSC312 |
Artificial Intelligence Programming |
45 |
CSC313 |
Foundations of Human Computer Interaction |
45 |
CSC314 |
Computer Graphics |
45 |
CSC315 |
Distributed Systems |
45 |
CSC316 |
Introduction to Organizations and Management |
45 |
Semester II
Course Code |
Course Title |
Hours |
CSC321 |
ICT Project Management |
45 |
CSC322 |
Network and Distributed Programming |
45 |
CSC323 |
Machine Learning |
45 |
CSC324 |
User-centred Development and Evaluation |
45 |
CSC325 |
Management Information Systems |
45 |
CSC326 |
Compiler Construction |
45 |
Year IV
Semester I
Course Code |
Course Title |
Hours |
CSC411 |
Computer Network Security |
45 |
CSC412 |
Knowledge-based Systems |
45 |
CSC413 |
Principles of Business Management and Entrepreneurship |
45 |
CSC414 |
ICTs and Society |
45 |
CSC416 |
Computer Systems Project |
45 |
|
Elective 1 (from group I Electives) |
45 |
Semester II
Course Code |
Course Title |
Hours |
CSC416 |
Computer Systems Project |
135 |
|
Elective 2 (from group II Electives) |
45 |
|
Elective 3 (from group II Electives) |
45 |
|
Elective 4 (from group II Electives) |
45 |
Electives
Group I Electives
Course Code |
Course Title |
Hours |
CSC421 |
Introduction to Language Technologies |
45 |
CSC422 |
Design Thinking |
45 |
CSC423 |
Wireless Networks and Mobile Computing |
45 |
Group II Electives
Net-centric Computing
Course Code |
Course Title |
Hours |
CSC431 |
Network Management |
45 |
CSC432 |
Service-oriented Computing |
45 |
CSC433 |
Multimedia Technologies |
45 |
Intelligent Systems
Course Code |
Course Title |
Hours |
CSC441 |
Knowledge Engineering and Society |
45 |
CSC442 |
Knowledge Discovery and Data Mining |
45 |
CSC443 |
Advanced Language Technologies |
45 |
CSC444 |
Multi-agent Systems |
45 |
Information Systems
Course Code |
Course Title |
Hours |
CSC451 |
Distributed Databases |
45 |
CSC452 |
Information Systems Control and Audit |
45 |
CSC453 |
Social Network Computing |
45 |
CSC454 |
Strategic Information Systems |
45 |
Computer Architecture
Course Code |
Course Title |
Hours |
CSC461 |
Performance Modelling |
45 |
CSC462 |
Advanced Computer Architecture |
45 |
CSC463 |
Embedded Systems |
45 |
Human Computer Interaction
Course Code |
Course Title |
Hours |
CSC471 |
Interaction Design for Collaboration and Communication |
45 |
Graphics and Visual Computing
Course Code |
Course Title |
Hours |
CSC481 |
Computer Games Programming |
45 |