Bachelor of science in Computer Science
Objectives/Goal Of The Programme
The BSc in CS aims to provide computer science graduates with the skills and knowledge to take on appropriate professional positions in computer science upon graduation and grow into leadership positions or pursue research or graduate studies in the field. The curriculum encourages the student to acquire the important skills of self-directed learning, problem solving and effective communication. The graduate is expected to be proficient in a variety of settings, which shall include management of computer information or systems, apply computer technology in day to day life activities, teaching and undertaking research activities.
Expected Learning Outcomes
The graduate of this programme should be able to:
- Apply knowledge of essential facts, concepts, principles, and theories of computer science and software applications to the real world.
- Model, specify, design and implement computer-based systems.
- Make decisions that are guided by the social, professional, legal, ethical and cultural aspects in product development.
- Effectively apply the principles of information management, organization, and retrieval.
- Apply the process of critical reasoning in managing computer systems and information
Be a team player and communicate clearly to a range of audiences about technical problems and their solutions.
Programme Admission Requirements
A candidate must satisfy any of the following minimum requirements:
- KSCE Mean Grade of C+, with at least a C+ in Mathematics and Physics/Physical Science, OR
- KACE with at least 2 Principles passes in Mathematics and Physics and 1 subsidiary pass, OR
- Accredited Diploma in Computer Science /IT/ or related field with at least a credit pass from Commission for Higher Education accredited and validated institution.
- KNEC Diploma holders in Computer studies with at least a credit pass and a mean grade of C at KCSE.
DETAILED COURSE DESTRIBUTION PER ACADEMIC
FIRST ACADEMIC YEAR OF STUDY
SN |
SEMESTER I |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 110 |
Fundamentals of computing |
3 |
42 |
2. |
BCS 111 |
Introduction to programming |
3 |
42 |
3. |
BCS 112 |
Discrete Structures I |
3 |
42 |
4. |
BCS 113 |
Electronics |
3 |
42 |
5. |
MAT 110 |
Basic Calculus |
3 |
42 |
6. |
COS 100 |
Communication skills |
3 |
42 |
7. |
BCS 116 |
Electrical Principles |
3 |
42 |
8. |
ESM 101 |
Quantitative skills I |
3 |
42 |
TOTAL |
24 |
|
SN |
SEMESTER II |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 120 |
Object Oriented programming I |
3 |
42 |
2. |
BCS 121 |
Discrete Structures II |
3 |
42 |
3. |
BCS 122 |
Digital Electronics |
3 |
42 |
4. |
BCS 123 |
Introduction to Internet Technologies |
3 |
42 |
5. |
MAT 104 |
Linear algebra |
3 |
42 |
6. |
BCS 125 |
Programming Languages |
3 |
42 |
7. |
ESM 104 |
Quantitative skills II |
3 |
42 |
8. |
MAT 102 |
Analytic Geometry |
3 |
42 |
TOTAL |
24 |
|
SECOND ACADEMIC YEAR OF STUDY
SN |
SEMESTER I |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 210 |
Object Oriented programming II |
3 |
42 |
2. |
BCS 212 |
Computer Organization and Architecture |
3 |
42 |
3. |
BCS 213 |
Application Development for the Internet |
3 |
42 |
4. |
STA 205 |
Probability and statistics |
3 |
42 |
5. |
BCS 215 |
Systems Analysis and Design |
3 |
42 |
6. |
BCS 216 |
Communication Systems |
3 |
42 |
7. |
BCS 217 |
Introduction to Artificial Intelligence |
3 |
42 |
TOTAL |
21 |
|
SN |
SEMESTER II |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 220 |
Automata Theory |
3 |
42 |
2. |
BCS 221 |
Database systems I |
3 |
42 |
3. |
BCS 222 |
Research Methods and Technical writing |
3 |
42 |
4. |
BCS 224 |
Principles of Operating systems |
3 |
42 |
5. |
BCS 225 |
Data Structures |
3 |
42 |
6. |
BCS 226 |
Client/Server Computing |
3 |
42 |
7. |
BCS 227 |
Logic Programming |
3 |
42 |
TOTAL |
21 |
|
SN |
SEMESTER III |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 228- Industrial Training Workshop |
6 |
84 |
TOTAL |
6 |
|
THIRD ACADEMIC YEAR OF STUDY
SN |
SEMESTER I |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 310 |
Compiler Construction and design |
3 |
42 |
2. |
BCS 311 |
Software Engineering |
3 |
42 |
3. |
BCS 312 |
Design and Analysis of Algorithms |
3 |
42 |
4. |
BCS 313 |
Computer networks |
3 |
42 |
5. |
BCS 314 |
Database systems II |
3 |
42 |
6. |
BCS3xx (X-track serial number) |
Elective 1 |
3 |
42 |
7. |
BCS3xx (X-track serial number) |
Elective 2 |
3 |
42 |
TOTAL |
21 |
|
SN |
SEMESTER II |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 320 |
Computer Graphics |
3 |
42 |
2. |
BCS 321 |
Computer Systems Security |
3 |
42 |
3. |
BCS 322 |
Microprocessor systems |
3 |
42 |
4. |
BCS 323 |
Human Computer Interaction |
3 |
42 |
5. |
BCS 326 |
Computer Science Project I |
3 |
42 |
6. |
BCS3xx |
Elective 1 |
3 |
42 |
7. |
BCS3xx |
Elective 2 |
3 |
42 |
TOTAL |
21 |
|
SN |
SEMESTER III |
UNIT/CREDIT HOURS |
LECTURE HOURS |
2. |
BCS 339- Field/Industrial Attachment |
6 |
84 |
TOTAL |
6 |
|
Level Three Electives (Select any TWO Electives based on Area of Specialization)
Electives: For Year 3 a candidate takes 2 courses per semester from his/her track.
Electives |
Year 3 |
||
Semester I |
Network And Security |
BCS 370 |
Network Programming |
BCS 371 |
Web design |
||
BCS 362 |
Generic Programming in C++ |
||
BCS 378 |
Real Time Systems |
||
BCS 364 |
Information Systems |
||
BCS 314 E |
Mobile Computing |
||
Software Development |
BCS 350 |
Web design |
|
BCS 361 |
Data Analysis techniques |
||
BCS 362 |
Generic Programming in C++ |
||
BCS 363 |
Intelligent systems |
||
BCS 364 |
Information Systems |
||
Computer Engineering |
BCS 350 |
Microprocessor System Design |
|
BCS 351 |
Signals and Systems |
||
BCS 352 |
Digital Signal Processing I |
||
BCS 378 |
Real Time Systems |
||
Semester II |
Network and Security |
BCS 375 |
Applied Cryptography |
BCS 366 |
Advanced Java programming |
||
BCS 325E |
Mobile Applications Programming |
||
BCS 377 |
Parallel computer Architecture |
||
BCS 378 |
Real Time Systems |
||
BCS 379 |
Network Management |
||
Software Engineering |
BCS 365 |
Object oriented analysis and design |
|
BCS 366 |
Expert Systems |
||
BCS 367 |
Software development |
||
BCS 368 |
Data ware housing and mining |
||
Computer Engineering |
BCS 353 |
Digital System Design |
|
BCS 354 |
Signals and system II |
||
BCS 355 |
Parallel computer Architecture |
||
BCS 356 |
Measurement and instrumentation |
FOUTH ACADEMIC YEAR OF STUDY
SN |
SEMESTER I |
|
|
|
||
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
||
1. |
BCS 410 |
Distributed systems |
3 |
42 |
||
2. |
BCS 411 |
Management information systems |
3 |
42 |
||
3. |
BCS 412 |
Software Project management |
3 |
42 |
||
4. |
BCS 4xx |
Elective 1 |
3 |
42 |
||
5. |
BCS 4xx |
Elective 2 |
3 |
42 |
||
6. |
BCS 4xx |
Elective 3 |
3 |
42 |
||
TOTAL |
18 |
|
42 |
SN |
SEMESTER II |
|
|
|
|
COURSE CODE |
COURSE TITLE |
UNIT/CREDIT HOURS |
LECTURE HOURS |
1. |
BCS 421 |
IT Entrepreneurship |
3 |
42 |
2. |
BIT 423 |
Legal and Ethical issues in Computing |
3 |
42 |
3. |
BCS 4xx |
Elective 1 |
3 |
42 |
4. |
BCS 4xx |
Elective 2 |
3 |
42 |
5. |
BCS4xx |
Elective 3 |
3 |
42 |
6. |
BCS 417 |
Computer Science Project II |
6 |
42 |
TOTAL |
21 |
|
Level Four Electives (If any. Include instructions and course details)
Electives: For Year 4 a candidate takes 3 courses per semester from his/her track. Each track has one compulsory course unit.
Electives |
Year 4 |
||
Semester I |
Network And Security |
BCS 470 |
Database Administration and Programming |
BCS 471 |
Network Protocol and standards |
||
BCS 472 |
Programming With C# |
||
BCS 473 |
Computer Forensic |
||
BCS 474 |
Machine Learning |
||
BCS 475 |
High Speed Networks |
||
BCS 476 |
Wireless Sensor Networks |
||
Software Development |
BCS 460 |
Expert System |
|
BCS 461 |
Programming With C# |
||
BCS 462 |
Software measurements and metrics |
||
BCS 470 |
Database Administration and Programming |
||
BCS 478 |
UNIX Systems Programming |
||
Computer Engineering |
BCS 450 |
Computer System Engineering |
|
BCS 451 |
Digital Signal Processing II |
||
BCS 452 |
Network Protocols and Standards |
||
BCS 478 |
UNIX Systems Programming |
||
Semester II |
Network and Security |
BCS 47 |
Advanced Wireless and Mobile Networks |
BCS 476 |
Parallel and Cluster Computing |
||
BCS 474 |
Disaster recovery |
||
BCS 477 |
Security In networks |
||
BCS 479 |
Multimedia Technology |
||
BCS 47 |
Network Performance and Optimization |
||
BCS 480 |
Web Applications Security |
||
Software Engineering |
BCS 465 |
Neural networks |
|
BCS 466 |
Mobile Application programming |
||
BCS 467 |
Database Administration and Programming |
||
BCS 468 |
Expert Systems |
||
Computer Engineering |
BCS 453 |
Advanced Microprocessor Architecture |
|
BCS 454 |
Digital Audio Technology |
||
BCS 459 |
Semiconductor Devices |
||
BCS 456 |
Wireless Systems and Protocols |