Turing Programme (TP) for BComp (CS)

Preparing students for a research career in Computer Science

This four year programme is named after Alan M. Turing to commemorate this outstanding pioneer of computer science.

Alan M. Turing is an excellent role model for students of the Turing Programme, inspiring them to pursue fundamental work, to take bold new direction, and to make concrete contributions to the world. This special programme therefore aims to nurture students who aspire to engage in a pure research career in computing.

The Turing Programme is most suitable for students who love to solve technically challenging problems and are able to handle both theoretical and practical work. Students will be selected for admission into TP based on their performance in selected modules such as CS2309 and CS3230. Students in TP are expected to build a sufficient track record by the time they graduate to gain admission into the Ph.D. programmes in top schools including SoC. So, students admitted into TP will be assigned CS professors as their mentors to help them to build their track records. They must maintain a minimum CAP of 4.0 throughout their study.


Degree Requirements

Students admitted into the Turing Programme will complete the BComp(CS) degree program requirements, with the following variations:

  • They will read CS2309 CS Research Methodology (4 MCs).
  • They will take CP3209 Undergraduate Research in Computing (8 MCs) to meet the Software Engineering Team Project requirement.
  • They will take CP4101 BComp Dissertation (12 MCs) with research content to meet the Industrial Experience Requirement.


Student Exchange Programme (SEP)

Students in this programme have the opportunity to go for exchange or internship to approved universities and laboratories overseas. The exchange or internship may include coursework or research component that can be mapped to the CS modules approved by the Department of Computer Science.

University Scholars Programme (Computer Science)

Students in the University Scholars Programme who choose the Bachelor of Computing (Computer Science) major will follow the Computer Science programme, but with the following variations:

  • They will not be required to read CS2101 Effective Communication for Computing Professionals. It is replaced by USP Foundation module: Writing and Critical Thinking.
  • They have module exemption via directly recognising up to 8 MCs of SoC prescribed modules towards USP Inquiry cum ISM requirement. 

Summary of degree requirements for Bachelor of Computing (Computer Science) – Turing Programme

Modules MCsSubtotals







Computer Science Foundation



CS1101S    Programming Methodology



CS1231S    Discrete Structures



CS2030S      Programming Methodology II


CS2040S    Data Structures and Algorithms 4  

CS2100      Computer Organisation



CS2103T    Software Engineering 2



CS2106      Introduction to Operating Systems



CS3230      Design and Analysis of Algorithms



Computer Science Breadth & Depth



CS2309      CS Research Methodology



Complete 28 MCs of CS/CP/IFS-coded modules by satisfying the following conditions:

  • Satisfy at least one CS Focus Area for BComp(CS) by completing 3 modules in the Area Primaries, with at least one module at level-4000 or above. Computer Science Foundation modules that appear in Area Primaries can be counted as one of the 3 modules towards satisfying a Focus Area.
  • At least 12 MCs are at level-4000 or above.
  • CP-coded modules must come from the following independent project modules:
    • CP3106 Independent Project (4 MCs)
    • CP4106 Computing Project (8 MCs)
    • other suitable modules approved by the Department of Computer Science
  • At most 12 MCs of CP-coded independent project modules.



CP3209      Undergraduate Research in Computing



CP4101      BComp Dissertation (with research content)



IT Professionalism



IS1103        Ethics in Computing



CS2101       Effective Communication for Computing Professionals


ES2660        Communicating in the Information Age 4  

Mathematics and Sciences



MA1521      Calculus for Computing3



MA2001      Linear Algebra I



ST2334       Probability and Statistics4 and one Science module 5






Grand Total 




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).
2 : Students taking CS2103T Software Engineering must take CS2101 Effective Communication for Computing Professionals in the same semester.

3 : Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA2002 Calculus.

4 :  Students pursuing a double degree in Computer Science and Mathematics/Applied Mathematics or Second Major in Mathematics/Statistics will take ST2131 Probability and ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics. If a student has already taken ST2131 and later quits from the second major in Statistics Programme, he/she will have to take ST2132 to fulfil the BComp(CS) degree requirements. 

5 Students pursuing Second Major in Mathematics can count ST2132 towards UE requirements for CS degree due to the limit on double counting between CS programme requirements and second major in Mathematics. For other students: Students may take either a Physics, Chemistry or Life-Science as a Science module.  Please refer to Appendix A at this link

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