Bachelor of Computing (Honours) in Computer Science

Overview

The Bachelor of Computing (Honours) in Computer Science or BComp (CS) programme aims to nurture students for a rewarding computing career in various industry sectors. Suitable for those who love hands-on work and keen to apply computing technologies to solve real-world problems, the programme will equip students with the critical knowledge and capacity to take on the world with confidence.

At the time of graduation, students are expected to demonstrate:

  • Strong knowledge of computer science foundations and fundamentals, including (a) familiarity with common computer science themes and principles, (b) high-level understanding of systems as a whole, (c) understanding of the theoretical underpinnings of computer science and their influences in practice.
  • In-depth knowledge in one or more computer science specialisations.
  • Individual competence in applying sound principles and rigorous thinking to (a) analyse an application problem, (b) understand user’s requirement, (c) formulate the problem in terms of computation requirements, (c) conceive novel solution ideas, (e) design appropriate solutions that meet the requirements, (f) implement the solution, (g) evaluate the effectiveness of the solution.
  • Strong communication skills and ability to work with, and contribute to, a team to bring a range of technologies together to develop computer systems and solutions.
  • Ability to engage in continuous professional development.
  • Understanding of the responsibilities of an IT professional and the ethical, social, and legal issues related to computing.

Within 3-5 years from graduation, a graduate from the programme is expected to be able to:

  • Have a career as IT professional engaging in research and/or development in one or more specialisation of computer science;
  • Engage in a supportive or leadership role in a multi-disciplinary, collaborative, team environment;
  • Engage in continuous learning of state-of-the-art advances in computer science (including graduate studies);
  • Function as an ethical, legal and socially responsible member of the society;
  • Apply computing knowledge and skills to contribute positively to the betterment of society.

For a well-rounded education, students pursuing this programme will also acquire knowledge in science and mathematics.

Degree Requirements

The Bachelor of Computing (Computer Science) programme, BComp(CS), requires at least 160 units.

(1) Common Curriculum Requirements1 (40 units)


(2) Unrestricted Electives (40 units)

Students without A-level or H2 Mathematics or equivalent are required to complete the bridging course MA1301/X or equivalent as part of the Unrestricted Electives.


(3) Programme Requirements (80 units)

Computer Science Foundation

  • CS1231S Discrete Structures
  • CS2030S Programming Methodology II
  • CS2040S Data Structures and Algorithms
  • CS2100 Computer Organisation
  • CS2101 Effective Communication for Computing Professionals2
  • CS2103T Software Engineering 2
  • CS2106 Introduction to Operating Systems
  • CS2109S Introduction to AI and Machine Learning
  • CS3230 Design and Analysis of Algorithms

Computer Science Breadth & Depth3 

Complete 32 units of computing courses satisfying the following constraints:

  • Satisfy at least one CS Focus Area by completing 3 courses in the Area Primaries with at least one course at Level-4000 or above for that focus area.
  • Complete at least 12 units at level-4000 or above
  • Complete at least 6 units and at most 12 units of Industry Experience courses
  • Students with Grade Point Average (GPA) of 4.00 or higher may opt to replace the Industry Experience courses with the programme’s dissertation course (i.e. CP4101).
  • Students who aim for Honours (Highest Distinction) must pass the programme’s dissertation course (i.e. CP4101).
  • All courses except Industry Experience must be CS/IFS/CP-coded
  • At most 12 units of CP-coded courses (aside from Industry Experience).

Industry Experience Requirement

The industry experience courses are as follows:

  1. A 6-month internship through CP3880 Advanced Technology Attachment Programme (12 units), IS4010 Industry Internship Programme (12 units), or ETP3201L Innovation & Enterprise Internship (12 units);
  2. A 3-month internships through one of the followings: CP3200 Internship (6 units), CP3202 Internship II (6 units), CP3107 Computing for Voluntary Welfare Organisations (6 units), CP3110 Computing for Voluntary Welfare Organisations II (6 units), ETP3205 Innovation & Enterprise Internship ( 6 units);
  3. Other forms of industry experience approved by the Department of Computer Science. Certain NOC internships are not CP-coded, but also can be used to satisfy Breadth-and-Depth requirements as if they were CP-coded.

Students who aim for Honours (Highest Distinction) must pass the CP4101 BComp Dissertation. Students with GPA of 4.00 or higher after completing at least 70% (i.e. 112 units) of the total unit requirement for the degree programme may opt to replace the Industry Experience Requirement by CP4101 B.Comp Dissertation (12 units). Note that the CP4101 project selection process takes place one semester ahead of the semester in which the students commence CP4101. Thus the students can tentatively select CP4101 projects; but the condition “GPA of 4.00 or higher after completing at least 70% (112 units) of the total unit requirement for the degree programme” must be satisfied before they can commence CP4101 in lieu of Industry Experience Requirement.


Mathematics & Sciences

  • MA1521 Calculus for Computing4
  • MA1522 Linear Algebra for Computing
  • ST2334 Probability and Statistics 5


Footnotes
:

1 Students can refer to: https://www.nus.edu.sg/registrar/academic-information-policies/undergraduate-students/general-education/for-students-admitted-from-AY2021-22 for the University Level Requirements (ULR). ES2660 will satisfy the Critique and Expression pillar and CS1101S will satisfy the Digital Literacy pillar.
2 Students taking CS2103T Software Engineering must take CS2101 Effective Communication for Computing Professionals in the same semester.
3 For students in a double-degree programme, courses specifically listed for inclusion in breadth-and-depth may also be included.  Please refer to the respective DDP websites.
4 Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA2002 Calculus.
5 Students pursuing a double degree in Computer Science and Mathematics/Applied Mathematics will take ST2131 Probability and ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics. If a student has already taken ST2131/MA2116/MA2216 that precludes ST2334, he/she will have to take ST2132 to fulfil the BComp(CS) degree requirements.

Computer Science Focus Areas for BComp (CS)

CS courses are organised into Focus Areas of coherent courses according to technical areas of study. A CS Focus Area is satisfied by completing 3 courses from the Area Primaries, with at least one course at 4000-level or above. CS Foundation Courses (CFC) that appear in the Area Primaries can be counted as one of the 3 courses towards satisfying a Focus Area. In this case, a student has to read just two other courses in the Area Primaries to satisfy the Focus Area. Elective courses are grouped into the Focus Areas as a guide for indicating their related areas of study. The ten focus areas are listed below. Please click here for details about these focus areas.

  1. Algorithms & Theory
  2. Artificial Intelligence
  3. Computer Graphics and Games
  4. Computer Security
  5. Database Systems
  6. Multimedia Information Retrieval
  7. Networking and Distributed Systems
  8. Parallel Computing
  9. Programming Languages
  10. Software Engineering
NUS Overseas Colleges (NOC) – Computer Science

Students who attended NOC programme may:

  • count ETP3201L Innovation & Enterprise Internship (12 units) towards Industrial Experience Requirement.
  • count ETP3202L Innovation & Enterprise Case Study and Analysis towards Unrestricted Electives. Students working on computer systems term projects for ETP3202L may seek approval to instead take ETP3202P, which counts towards CS3203 Software Engineering Project or equivalent pairs.  Alternatively, ETP3202L can be mapped to ETP3202E in which 8 units of CS-coded electives at level-3000 can be considered for the fulfilment of CS Breadth and Depth Requirements.
  • count ETP3203L Innovation & Enterprise Internship Practicum (8 units) towards CS3882 Breakthrough Ideas for Digital Markets (4 units) and one unrestricted elective course (4 units). 
Summary of degree requirements for Bachelor of Computing (Computer Science)
CoursesUnitsSubtotals
COMMON CURRICULUM REQUIREMENTS  1 40
University Level Requirements: 6 University Pillars24 
Digital Literacy — CS1101S Programming Methodology4 
Critique and Expression — ES2660 Communicating in the Information Age4 
Cultures and Connections — GEC%4 
Data Literacy —  Either GEA1000, BT1101, ST1131 or DSA11014 
Singapore Studies — GES%4 
Communities and Engagement —  GEN%4 
Computing Ethics4 
IS1108 Digital Ethics and Data Privacy4 

Interdisciplinary & Cross-Disciplinary Education 

Comprises of Interdisciplinary (ID) Courses and Cross-disciplinary (CD) Courses

Students are required to take 12 units from the above courses with at least two ID courses and no more than one CD course to satisfy the 12 units required in this group.

12 
PROGRAMME REQUIREMENTS 80
Computer Science Foundation
36
 
CS1231S Discrete Structures4
CS2030S Programming Methodology II
4
CS2040S Data Structures and Algorithms
4
CS2100 Computer Organisation
4
CS2101 Effective Communication for Computing Professionals 2
4
CS2103T Software Engineering 24
CS2106 Introduction to Operating Systems4
CS2109S Introduction to AI and Machine Learning
4
CS3230 Design and Analysis of Algorithms
4
Computer Science Breadth and Depth 3
32

Complete 32 units of computing courses satisfying the following constraints:

  • Satisfy at least one CS Focus Area by completing 3 courses in the Area Primaries with at least one course at Level-4000 or above for that focus area.
  • Complete at least 12 units at level-4000 or above
  • Complete at least 6 units and at most 12 units of Industry Experience courses
  • Students with GPA of 4.00 or higher may opt to replace the Industry Experience courses with the programme’s dissertation course (i.e. CP4101).
  • Students who aim for Honours (Highest Distinction) must pass the programme’s dissertation course (i.e. CP4101).
  • All courses except Industry Experience must be CS/IFS/CP-coded
  • At most 12 units of CP-coded courses (aside from Industry Experience).
 
Mathematics and Sciences
12
MA1521 Calculus for Computing 4
4
MA1522 Linear Algebra for Computing4
4
ST2334 Probability and Statistics 5
4
UNRESTRICTED ELECTIVES 6 40
Grand Total 160

Footnotes:

1 Students can refer to: https://www.nus.edu.sg/registrar/academic-information-policies/undergraduate-students/general-education/for-students-admitted-from-AY2021-22 for the University Level Requirements (ULR). ES2660 will satisfy the Critique and Expression pillar and CS1101S will satisfy the Digital Literacy pillar.

2 Students taking CS2103T Software Engineering must take CS2101 Effective Communication for Computing Professionals in the same semester.

3 For students in a double-degree programme, courses specifically listed for inclusion in breadth-and-depth may also be included.  Please refer to the respective DDP websites.

4 Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing and MA1522 Linear Algebra for Computing by MA2002 Calculus and MA2001 Linear Algebra I respectively.

5 Students pursuing a double degree in Computer Science and Mathematics/Applied Mathematics will take ST2131 Probability and ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics. If a student has already taken ST2131/MA2116/MA2216 that precludes ST2334, he/she will have to take ST2132 to fulfil the BComp(CS) degree requirements.

6 Students without A-level or H2 Mathematics or equivalent are required to complete the bridging course MA1301/X or equivalent as part of the Unrestricted Electives

Student Statistics

The number of students enrolled in the School of Computing can be found here.