Double Degree with Computer Science

Double Degree with Computer Science

Computer Science and Mathematics share a synergistic relationship in many ways – foundations of computer science have its roots in mathematics starting from the notion of computation (the Turing machine); discrete mathematics is an indispensable tool in understanding structures and systems in computer science. On the other hand, inventions and advances in computer science have generated new frontiers for research in mathematics. As a result, many fundamental areas in Computer Science such as computability and computational complexity are very much part of Mathematics and vice versa.

This double degree programme, which is a “specially-designed or structured DDP” for students reading major in Mathematics or Applied Mathematics*, is jointly offered by the School of Computing and the Department of Mathematics. It provides a standardized structure for students who are keen to pursue both disciplines and offers two specializations (optional) for students with special interest in either Algorithms and Computation or Multimedia Modeling.

‎‏

Students reading major in Quantitative Finance and Data Science & Analytics should instead follow the guidelines for “student-designed DDP“, which may have different rules on course overlap.

General FAQs on Double Degree Programme can be found at the Registrar’s Office website.

*Applied Mathematics Major is only available to cohorts AY2020/2021 and earlier

Applicants must satisfy one of the following two criteria:

    1. Grade A in either H2 Mathematics or H2 Further Mathematics, and a good grade in either H2 Computing or H2 Physics or H2 Chemistry or H2 Biology or H2 Physical Science.
    2. Demonstrated special talents in Mathematics and/or Computing (e.g., Mathematics and/or Informatics Olympiad awards, etc.).
    3. If the candidate meets criterion 1, no interviews will be required.

Closing Date and Application Procedure

Refer to information at Office of Admission.

Candidates will be assessed on the merits of their first-year results. Year 1 maths students who are interested in applying for this programme may do so after the Semester 2 results have been released. Students from School of Computing should apply to their home faculty.

Closing Date

30 June every year (application site will open from 1 June every year).

Application Procedure

    1. Save the following documents in one PDF file (using your name as the file name, e.g. John_Nash and with max file size at 2MB):
        • Transcript or past semesters’ results; and
        • DDP study plan for all semesters until graduation (download template). Your plan must include courses in NUS that you have passed up to the last semester; and
        • A short write-up (max one A4 page) to explain why you wish to apply for the DDP and what you expect to gain from it.
    2. Click here to apply online and upload the supporting documents.

Updated 24 Sep 2021

Updated 18 Mar 2022

Requirements Course Units
CHS Common Curriculum
  • Common Curriculum
    (fulfil all GE requirements and CS1101S for CT requirement)
52
Math Level 1000
  • MA1100 Basic Discrete Mathematics / MA1100T Basic Discrete Mathematics (T) (double count CS1231S)*
4
Math Level 2000
  • MA2001 Linear Algebra I (double count towards  Mathematics and Sciences)
  • MA2002 Calculus (double count towards Mathematics and Sciences)
  • MA2101/MA2101S Linear Algebra II
  • MA2104 Multivariable Calculus
  • MA2108/MA2108S Mathematical Analysis I
  • MA2116/MA2216/ST2131 Probability (double count towards Mathematics and Sciences)
  • Pass any two additional courses coded MA22XX/MA32XX/MA42XX (except MAx288/MAx289)
32-36
Math Level 3000
  • Pass five courses coded MA32XX/MA42XX/MA52XX/MA62XX (except MAx288/MAx289/MA4288x/MA5232/MA5266) or ST3236/ST4238
20-23
Math Level 4000
  • MA4198 Mathematics Capstone Project
4
CS Foundation
  • CS2030S Programming Methodology II
  • CS2040S Data Structures and Algorithms
  • CS2100 Computer Organisation
  • CS2103T Software Engineering
  • CS2106 Introduction to Operating Systems
  • CS2109S Introduction to Artificial Intelligence and Machine Learning 
  • CS3230 Design and Analysis of Algorithms
36
CS Breadth and Depth

(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.
      • 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) Industrial Experience Requirement (12 units)

‎Refer to SOC website for more details

40
CS IT Professionalism
  • IS1103 Ethics in Computing
  • CS2101 Effective Communication for Computing Professionals
  • SP1541 Exploring Science Communication through Popular Science / ES2660 Communicating in the Information Age
12
CS Mathematics and Sciences
  • MA2001 Linear Algebra I (to double count towards Math level 2000 requirement)
  • MA2002 Calculus (to double count towards Math level 2000 requirement)
  • ST2131 Probability (to double count with MA2116)
  • ST2132 Mathematical Statistics (to count for UE)
  • One elective from PC/LSM/CM coded courses
20
Common Courses for double counting
  • MA1100/MA1100T 
  • MA2001
  • MA2002 
  • ST2131 
  • CS1101S
  • SP1541
24
  Total Units 196-202

* Students are advised to take MA1100/MA1100T to fulfil both the MA and CS requirements

Updated 24 Sep 2021

‏(Each course carries 4 units unless otherwise indicated)‏

    • MA3205‏‏   Set Theory
    • MA3218   Applied Algebra
    • MA3233   Combinatorics and Graphs II
    • MA3252   Linear and Network Optimization
    • MA4207   Mathematical Logic
    • MA4235   Topics in Graph Theory
    • MA4254   Discrete Optimization
    • MA4261   Coding and Cryptology
    • MA4270   Data Modelling and Computation
    • MA5219   Logic and Foundation of Mathematics I
    • MA5220   Logic and Foundation of Mathematics II
    • CS3234   Logic and Formal Systems
    • CS3236   Introduction to Information Theory
    • CS4212   Compiler Design
    • CS4231   Parallel and Distributed Algorithm
    • CS3231   Theory of Computation
    • CS4234   Optimisation Algorithms
    • CS4236   Cryptography Theory and Practice
    • CS5215   Constraint Processing
    • CS5230   Computational Complexity
    • CS5232   Formal Specification and Design Techniques
    • CS5234   Algorithms at Scale
    • CS5236   Advanced Automata Theory
    • CS5237   Computational Geometry and Applications
    • CS5238   Advanced Combinatorial Methods in Bioinformatics
    • CS5330   Randomized Algorithms

(Each course carries 4 units unless otherwise indicated)‎

    • MA3220   Ordinary Differential Equations
    • MA3227   Numerical Analysis II
    • MA3236   Nonlinear Programming
    • MA3264   Mathematical Modelling
    • MA4221   Partial Differential Equations
    • MA4230   Matrix Computation
    • MA4255   Numerical Methods in Differential Equations
    • MA4268   Mathematics for Visual Data Processing
    • MA4270   Data Modelling and Computation
    • MA4271   Differential Geometry of Curves and Surfaces
    • MA5233   Computational Mathematics
    • CS3218    Multimodal Processing in Mobile Platforms
    • CS3241    Computer Graphics
    • CS3242   3D Modeling and Animation
    • CS3247   Game Development
    • CS4242   Social Media Computing
    • CS4243   Computer Vision and Pattern Recognition
    • CS4247   Graphics Rendering Techniques
    • CS4248   Natural Language Processing
    • CS4347   Sound and Music Computing
    • CS4350   Game Development Project
    • CS5237   Computational Geometry and Applications
    • CS5240   Theoretical Foundations in Multimedia
    • CS5241   Speech Processing
    • CS5246   Text Processing on the Web
    • CS5249   Audio in Multimedia Systems
    • CS5342   Multimedia Computing and Applications
    • CS5343    Advanced Computer Animation

Programme structure – for more information, click here.