Bachelor of Science (Computer Science)

Programme Structure

Entry Requirements

Subject to the General Academic Regulation 00.5, the following departmental programme entry requirements shall apply for the programmes:

  1. For entry into 100-level, candidates must have a minimum grade of C in Mathematics and two other science subjects with computer studies recognized as a science subject and with a minimum grade of D in English.
  2. For entry into the programme at higher level, the following shall apply.
    1. Transfer student from a Computer Science or Information Systems or equivalent programme from a higher institution considered equivalent to the University of Botswana, subject to General Academic Regulation 00.313.
    2. Candidates holding a post-Secondary qualification which is considered by the department as being at least equivalent to the 100- level of the programme and so deemed to earn the candidate an exemption from the 100-level of the programmes.
    3. Candidates holding a post-Secondary qualification who do not meet criteria (ii) above may be required to take some 100-level courses


Semester I, Core courses

  • CSI131 Discrete Structures I
  • CSI141 Programming Principles
  • CSI161 Introduction to Computing
  • MAT111 Introductory Mathematics I
  • COM141 Communication and Academic Literacy skills (Science)

Semester II , Core Courses

  • CSI132 Discrete Structures II
  • CSI142 Object-Oriented Programming
  • MAT122 Introductory Mathematics II
  • STA122 Introductory Concepts of Probability
  • COM142 Academic and Professional Communication (Science)

Semester III , Core Courses

  • CSI247 Data Structures
  • CSI243 Functional Programming
  • CSI213 Discrete Structures III
  • MAT221 Calculus I

Elective *(3 Credits)

  • *- students are advised to take MGT202 which is a pre-requisite to MGT303

Semester IV, Core Courses

  • CSI262 Database Concepts
  • CSI223 Systems Programming
  • CSI251 Computer Architecture & Organization
  • MAT212 Introductory Linear Algebra

      Elective (3 Credits)

Semester V, Core courses

  • CSI323 Algorithms
  • CSI354 Operating Systems
  • CSI374 Computer Networks
  • CSI342 Systems Analysis & Design

      Elective (3 Credits)

Semester VI, Core Courses

  • CSI315 Web Technology and Applications
  • CSI332 Programming Languages
  • CSI341 Introduction to Software Engineering

     Optional Courses, (Min 6 credits from)

  • CSI344 Artificial Intelligence
  • CSI392 Human Computer Interaction
  • MGT303 Entrepreneurship and New Business Formation

Winter Semester

  • CSI352 Industrial Attachment

For semester VII and VIII, students choose from the following areas of specialization:

  • Software Engineering
  • Systems & Networks

Semester VII, Core courses (All Streams)

  • CSI413 Theory of Computation
  • CSI475 Social Informatics
  • CSI481 Database Systems

Semester VII, Software Engineering stream

     Optional Courses (minimum 6 credits)

  • CSI473 Software Design
  • CSI443 Requirements Engineering
  • CSI435 Intelligent Systems

Semester VII, Systems & Networks stream

     Optional Courses (minimum 6 credits)

  • CSI462 Distributed Computing
  • CSI453 Sensors Networks
  • CSI493 Computer Graphics

Semester VIII, Core courses (All Streams)

  • CSI408 Project
  • CSI428 Programming Language Translation
  • CSI468 Computer Networks & Security

Semester VIII, Software Engineering stream

     Optional Courses (minimum 6 credits)

  • CSI444 Software Project Management
  • CSI392 Human Computer Interaction
  • CSI345 Integrative Programming

Semester VIII, Systems & Networks stream

     Optional Courses (minimum 6 credits)

  • CSI464 Mobile Computing
  • CSI424 Network Algorithms

In pursuit of academic excellence