Turing Programme


The Turing Programme for Bachelor of Computing (Computer Science) programme [TP] is yet another special programme in Computer Science. TP aims to nurture students who aspire to engage in pure research careers in Computing. It is most suitable for students who love to solve technically challenging problems and are able to handle theoretical and practical work. Students will be selected for admission to TP based on their performance in selected courses, including CS2309 and CS3230Students in TP are expected to build sufficient track records by the time they graduate to gain admission into PhD programmes in top schools including School of Computing. Students pursuing the Bachelor of Computing (Computer Science) degree They are admitted after taking CS2309 based on the recommendation of the CS2309 instructor and/or their UROP supervisor.  The programme is by invitation only. Students in this programme will be assigned CS professors as their mentors to help them to build their research track records.

Degree Requirements

Students in the programme must maintain a minimum Grade Point Average (GPA) of 4.00 in every semester of their studies and must complete the requirements of Bachelor of Computing (Computer Science), with the following variations:

  • They will read CS2309 CS Research Methodology (4 units).
  • They will take CP3209 Undergraduate Research in Computing (8 units).
  • They will take CP4101 BComp Dissertation (12 units) with research content to meet the Industrial Experience Requirement.
  • They will have 28 units remaining in the Unrestricted Electives
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 courses approved by the Department of Computer Science.

NUS Overseas Colleges (NOC) – Computer Science – Turing Programme

Students who attended NOC programme may:

  1. count ETP3201L Innovation & Enterprise Internship (12 units) towards Industrial Experience Requirement.
  2. 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.
  3. 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) – Turing Programme


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 DSE11014 
Singapore Studies — GES%4 
Communities and Engagement —  GEN%4 
Computing Ethics4 

IS1108 Digital Ethics and Data Privacy


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.

Computer Science Foundation36 
CS1231S Discrete Structures4 
CS2030S Programming Methodology II4 
CS2040S Data Structures and Algorithms4 
CS2100 Computer Organisation4 
CS2101 Effective Communication for Computing Professionals and CS2103T Software Engineering 28 
CS2106 Introduction to Operating Systems4 
CS2109S Introduction to AI and Machine Learning4 
CS3230 Design and Analysis of Algorithms4 
Computer Science Breadth & Depth44 
CS2309 CS Research Methodology4 

Complete 20 units of CS/CP/IFS-coded courses3 or Industry Experience coursessatisfying the following constraints:

  • Satisfy at least one CS Focus Area 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.
  • At most 12 units of CP-coded courses (including Industry Experience).

The industry experience courses are as follows:

  • 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);
  • 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);
  • Other forms of industry experience approved by the Department of Computer Science.
CP3209 Undergraduate Research in Computing8 
CP4101 B.Comp. Dissertation (with research content)12 
Mathematics and Sciences12 
MA1521 Calculus for Computing 44 
MA1522 Linear Algebra for Computing 44 
ST2334 Probability and Statistics 54 
Grand Total 160


 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.

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

 For students in a double-degree programme, courses specifically listed for inclusion in breadth-and-depth may also be included.

 4 Students pursuing a 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.