Bachelors in Computer Science

HOD


Richard Ssembatya, PhD

RESEARCH INTEREST:
Information and Communications Technologies for Development (ICT4D)

The BSc. CS Degree programme

The Bachelor of Science in Computer Science degree is a three year programme with each year having two semesters. It will provide graduates with durable knowledge needed to become leaders in the rapidly evolving discipline of Computer Science as well as in other computer-related fields. The programme exposes students to a solid foundation in both Computer Science theory and programming practice, and to prepare each graduate for further advanced study in Computer Science and related fields.

Programme Objectives

The objectives of the Bachelor of Science in Computer Science degree programme are for graduates to: 1. have successful careers in the field of computer science. 2. have a strong foundation in computing and mathematical theoretical concepts and can apply these concepts to problems requiring computer solutions 3. be effective communicators, team members and leaders that add value to employers and businesses regionally and globally 4. stay current in emerging technologies through training, self-learning and/or graduate studies 3 5. understand, and be proficient in the use of, system design notations and system design engineering process to develop software systems and solve problems in computer science 6. be engaged in the ethical, legal and social issues faced in their workplace and contribute positively to the community

Programme Learning Outcomes

Upon completion of a Bachelor of Science in Computer Science programme, students will:
• be competent in theoretical and mathematical foundations of computer science and be able to: – apply fundamental concepts of discrete mathematics such as logic, proofs, set theory, relations, functions, and combinatorics to model computational problems, – demonstrate the application of abstract structures such as graphs, finite state machines, and recurrence relations to the solution of computer science problems, – analyze and evaluate comparative performance of algorithms and data structures appropriate to solving computer science problems, – apply concepts related to data structures such as lists, stacks, queues, arrays, graphs, trees, heaps, and hashing to design and create algorithms.
• be proficient in one programming language and have a basic knowledge of several others and be able to: – write programs in a procedural programming language. – write efficient solutions to specific problems using an object-oriented programming language, – write programs in a scripting language, – write programs for a mobile based platform.
• understand the hardware and software architecture of computer systems and be able to: – explain the function and interaction of computer processing units, memories, and input/output devices, – define and explain elements of operating systems such as memory management, process scheduling, synchronization and interaction, and input/output devices, – distinguish computer network elements and understand issues related to computer security
• demonstrate the ability to participate in professional practices related to software engineering and be able to: – negotiate, clarify, and document user requirements – apply knowledge of fundamental algorithms, programming language concepts, and design patterns to determine an overall design for a software system, – implement a fully specified system, 4 – test a fully specified system, – plan and monitor the progress of software projects to ensure on time delivery of a high quality system.
• be able to communicate effectively about computer science-related topics and be able to – deliver an audience-sensitive oral technical presentation, – write an audience-sensitive technical document, – contribute effectively on software-based system development teams
• demonstrate the ability to be responsible practitioners of computer science and understand the social and ethical implications of computing and be able to: – demonstrate ways in which computers pose new ethical questions or pose new versions of standards, moral problems and dilemmas, – recognize and, when appropriate, to resolve ethical problems or dilemmas related to the computing profession.

Modules under BSc.CS

Course Code Course Name LH TH PH CH CU
Year I: Semester I (7 core courses)
CSC 1101 Introduction to Computing 45 15 15 60 4
CSC 1102 Introduction to Computer

Programming

45 15 15 60 4
CSC 1103 Digital Logic 30 30 45 3
DVS 1101 Development Studies I 30 30 2
BIT 1101 Communication and

Writing Skills

30 30 45 3
MTH 1101 Discrete Mathematics 30 30 45 3
MTH 1102 Calculus 1 30 30 45 3
Total Credit  Units 22
Year I: Semester II (8 core courses)
CSC 1201 Systems Analysis and Design 30 30 45 3
CSC 1202 Object Oriented

Programming I

45 15 15 60 4
CSC 1203 Database Management

Systems

45 15 15 60 4
CSC 1204 Web Technologies 45 15 15 60 4
MTH 1201 Calculus II 45 30 60 4
MTH 1202 Linear Algebra 45 45 3
MTH 1203 Probability and Statistics 45 30 60 4
DVS 1201 Development Studies II 30 30 2
Total Credit  Units 28
Year II: Semester I (8 core courses)
CSC 2101 Data Structures 45 45 3
CSC 2102 Operating Systems 45 30 60 4
CSC 2103 Scripting Languages 45 15 15 60 4
CSC 2104 Operations Research 45 45 3
CSC 2105 Database Programming 45 15 15 60 4
CSC 2106 Object Oriented

Programming II

45 15 15 60 4
MTH 2101 Numerical Analysis

Computation

30 30 45 3
MTH 2102 Differential Equations 30 30 45 3
Total Credit  Units 28
Year II: Semester II (7 core courses)
CSC 2201 Logic Programming 30 30 60 3
CSC 2202 Design and Analysis

of Algorithms

45 15 15 60 4
CSC 2203 Software Engineering 45 30 60 4
CSC 2204 User Interface Design

and Development

45 15 15 60 4
CSC 2205 Computer Organization

and Architecture

45 45 3
CSC 2206 Systems Administration 45 15 15 60 4
BIT 2204 Research Methods in

Computing

45 45 3
2 Optional Courses
CSC 2207 Computer Graphics 45 15 15 60 4
CSC 2208 Modeling and Simulation 45 15 15 60 4
Total Credit  Units 29
Recess Semester
CSC 2301 Industrial Training 120 60 4
Year III: Semester I (5 core courses)
CSC 3101 Artificial  Intelligence 30 30 45 3
CSC 3102 Data Communications

and Networks

45 15 15 60 4
CSC 3103 Automata, Complexity

and Computability

45 45 3
CSC 3104 Computer and Network

Security

45 30 60 4
BIT 3105 Entrepreneurship 45 45 3
2 Optional Courses
CSC 3105 Data Mining 45 30 60 4
CSC 3106 Mobile Programming 45 30 60 4
Total Credit  Units 21
Year III: Semester II (5 core courses)
CSC 3201 Distributed Computing 45 45 3
CSC 3202 Compiler Construction 30 30 45 4
CSC 3203 Emerging Trends in

Computer Science

45 45 3
CSC 3204 Final Year Research Project 120 60 4
BIT 3201 Legal and Ethical Issues

in Computing

45 45 3
Total Credit  Units 17

BSc. CS Fees Structure

Privately sponsored students shall pay all the required fees to the University as determined by the senate and approved by council periodically. Ugandan students will pay tuition fees totaling to Two Million and Five Hundred and fifty two thousand shillings (2,552,000 Ug. shs.) per year. Foreign students will pay tuition fees of 3,120 US Dollars per year.

Fees In Ug. Shillings In Dollars
 Application fees  Shs. 27,500  $50
 Tuition fees  Shs. 2,000,000= p.a.  $1,260 p.a.
 Registration/Examination fee  Shs. 500,000= p.a.   $500 p.a.
 Guild fee/Sports fee  Shs. 32,000= p.a.  $50 p.a.
 NCHE  Shs. 20,000= p.a  $50 p.a.