Double Degree CS Maths Cohort 2021/2022

Double Degree Programme (DDP) Structure

  1. Bachelor of Computing – Honours in Computer Science (136 units)
    BComp students normally take 160 units to fulfil the University Level Requirements (ULR) (24 units), Programme requirements (108 units), and Unrestricted Electives (4 units). Under this programme, except for ST2132 Mathematical Statistics, other UEs would be waived under double degree rules.
  2. Bachelor of Science – Honours in Mathematics (112 units)
    BSc students in the four-year BSc degree programme normally take 160 units to fulfil the College of Humanities and Social Sciences (Including General Education Requirements and Computational Thinking requirement), Maths Major Requirements, and Unrestricted Electives. Under this programme, Unrestricted Electives would be waived under double degree rules.
  3. The total unit requirement of the DDP is at least 200 units for which students can accomplish within 5 years.
  4. There are two specialisations offered under this DDP, namely: Algorithms and Computation and Multimedia Modelling


Students in this DDP may choose to pursue one of the following two specialisations:

Algorithms and Computation: Graduates with this specialisation will be at the forefront of solving myriad complex computational problems, in both industry and research. They will apply their advanced learning in the theory of computation, a fundamental area that influences every field of computing, to tackle industry needs in complex scheduling, network optimisation, physical simulation, software reliability, etc. Their advanced knowledge in algorithmic design will also enable them to adapt to a wide variety of computing fields. The specialisation covers areas such as: computational complexity, cryptography, algorithmic graph theory and combinatorics, randomness in computing, parallel and distributed computation, machine learning, applications of logic, algorithmic algebra, coding theory, etc.

Multimedia Modelling: Recent advances in computing, networking and multimedia technologies have facilitated the construction of large and complex multimedia systems. To fully comprehend the complexity of such undertakings, proper modelling of multimedia information and systems must be carried out. The objective of this specialisation is to produce graduates with in-depth mathematical knowledge and advanced computing skills to contribute to the construction of multimedia models and modelling tools. Graduates with this specialisation will form the vanguard in the advancement of interactive digital media (IDM) technology. They will apply their mathematical logic and learning in networking and multimedia technologies to develop more realistic animation, better special effects, and generate a more immersive experience in virtual reality that engages the various human senses more fully. Graduates with this specialisation will find their niche in high-end technology companies in the IDM sector, as well as in the field of research.  The specialisation covers areas such as: Numerical PDE, 3D Differential Geometry, Computational Geometry, Game Development, etc.

Requirement for completion of specialisation:

Students must read at least 32 units (for the double honours programme) or 28 units (for single honours programme) from courses offered in one of the two specialisation lists, with the following requirements:

  • Students must read at least 12 units of courses offered by each department.
  • Students in the double honours programme must undertake an Integrated Honours Project.

Courses offered in each specialisation are listed here.

(A) BComp (Hons) (CS) – BSc (Hons) (Mathematics) Double Honours Programmes

The double honours programme requires students to take the following requirements:

RequirementsUnitsTotal Units
College of Humanities and Sciences Common Curriculum
(fulfil all GE requirements and CS1101S for CT requirement)
Maths Major Requirements 60

Maths Level 1000 Courses

MA1100 Basic Discrete Mathematics / MA1100T Basic Discrete Mathematics (T) (in place of CS1231S)*


Maths Level 2000 Courses

MA2001 Linear Algebra I 
MA2002 Calculus (in place of MA1521)
MA2101/MA2101S Linear Algebra II
MA2104 Multivariable Calculus
MA2108/MA2108S Mathematical Analysis I
MA2116/MA2216/ST2131 Probability (replacing ST2334 partially)
Pass any two additional courses coded MA22XX/MA32XX/MA42XX (except MAx288/MAx289)

Maths Level 3000
Pass five courses coded MA32XX/MA42XX/MA52XX/MA62XX (except MAx288/MAx289) or ST3236/ST4238

Maths Level 4000

MA4198 Mathematics Capstone Project

BComp (CS) Programme Requirements 116
CS Foundation32 

CS1101S Programming Methodology

CS1231S Discrete Structures (replaced by MA1100/MA1100T Basic Discrete Mathematics (non T or T) for double counting)

CS2030S Programming Methodology II

CS2040S Data Structures and Algorithms

CS2100 Computer Organisation

CS2103T Software Engineering (twinned with CS2101 in same semester)

CS2106 Introduction to Operating Systems

CS3230 Design and Analysis of Algorithms

CS Breadth and Depth48 
(A) Complete 28 units of CS/CP/IFS-coded courses by satisfying the following conditions:

Satisfy at least one CS Focus Area for BComp(CS) by completing 3 courses in the Area Primaries, with at least one course at level-4000 or above. Computer Science Foundation courses that appear in Area Primaries can be counted as one of the 3 courses towards satisfying a Focus Area.  Courses listed in the CS focus areas can be found here.

– At least 12 units are at level-4000 or above.

CP-coded courses must come from the following independent project courses:

CP3106 Independent Project (4 units)
CP3209 Undergraduate Research in Computing (8 units)
CP4101 BComp Dissertation (12 units)
CP4106 Computing Project (8 units)
Or other suitable courses approved by the Department of Computer Science

– At most 12 units of CP-coded independent project courses.


(B) Complete at least 8 units of Computer Systems Team Project courses from the following pairs, or courses approved by the Department of Computer Science:

  • CS3203 Software Engineering Project (8 units), or
  • CS3216 Software Product Engineering for Digital Markets (5 units) and CS3217 Software Engineering on Modern Application Platforms (5 units), or
  • CS3281Thematic Systems Project I (4 units) and CS3282 Thematic Systems Project II (4 units).

(C) Industrial Experience Requirement ##


Students will be required to satisfy 12 units of Industrial Experience Requirement by doing:

  • A 6-month internship through CP3880 Advanced Technology Attachment Programme (12 units);
  • Two 3-month internships through two 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).
  • IS4010 Industry Internship Programme (12 units) from the Department of Information Systems and Analytics;
  • TR3202 Start-up Internship Programme (12 units) from NUS Overseas Colleges;
  • Other forms of industry experience approved by the Department of Computer Science.
CS IT Professionalism
IS1103  Ethics in Computing
CS2101 Effective Communication for Computing Professionals
ES2660 Communicating in the Information Age (replaced by SP1541 Exploring Science Communication through Popular Science for double counting)


4 units each

CS Mathematics and Sciences
ST2334 Probability and Statistics (replaced by MA2116 Probability for double counting)
MA2001 Linear Algebra I
MA1521 Calculus for Computing ( replaced by MA2002 Calculus for double counting)
ST2132 Mathematical Statistics (replacing ST2334 partially)%
Science Elective 


4 units each


Common Courses between the 2 programmes

CS1101S Programming Methodology
MA1100 Basic Discrete Mathematics / MA1100T Basic Discrete Mathematics (T)
MA2001 Linear Algebra I
MA2002 Calculus
MA2116/MA2216/ST2131 Probability
SP1541 Exploring Science Communication through Popular Science

4 units each24
Total Units 200-206

##: 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.

%:  DDP students will read ST2131 and ST2132 in place of ST2334.  In the event that a CS student exits the DDP with primary degree in CS, the student must complete both ST2131 and ST2132 in place of ST2334.  ST2132 will be counted as unrestricted elective.

: Students may take either a Physics, Chemistry or Life-Science course as a Science course. The Science course must be a course from List S1 (recommended) or List S2. Please click here for the lists.