About Alan M. Turing

Alan M. Turing (1912-1954) was a mathematician, logician, cryptanalyst, and computer scientist. He was influential in the development of computer science, providing the first model of algorithm and computation-the Universal Turing Machine-that allowed us to analyse what a computer can and cannot do. His result on the limit of computability holds true even on today's modern computer systems. Turing was a forerunner and founder of many modern computer science topics. For example, he gave the first feasible detailed design of a stored-program computer, which is an important contribution to computer architecture. He proposed an experiment-the Turing Test-that has become a standard for a machine to be considered "intelligent", which is a provocative contribution to artificial intelligence. He was also famous for his cryptanalysis work during World War II that combined logic, statistics, and algorithm into breaking the German's Enigma and the Lorenz SZ 40/42, which established information security as part of computer science. Towards the end of his life, he even wrote a paper on the chemical basis of morphogenesis and predicted certain chemical reactions that were observed some ten years after his death, which could be considered an early contribution to computational systems biology.

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 CS1101S Programming Methodology (5 MCs) instead of CS1010.
  • They will read CS2309 CS Research Methodology (4 MCs).
  • They will take CP3208 and CP3209 Undergraduate Research in Computing I and II (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.

 * : The revised curriculum is currently in the process of approval.

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 read GER1000 Quantitative Reasoning (4 MCs) as compulsory module for the University Level Requirements (ULR). The remaining 16 MCs in ULR are replaced by the 3 USP Inquiry Modules and 1 USP Foundation module ( i.e. University Scholars Seminar).
  • 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 will not be required to read one Science Module (4 MCs). It is replaced by one USP Inquiry module in Sciences and Technologies basket.
  • They will read CP3208 and CP3209 as independent study modules (ISMs) which will also be counted as 2 USP Inquiry modules in Sciences and Technologies basket.


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

* The following programme requirements are currently in the process of approval.

Modules MCsSubtotals







Computer Science Foundation





CS1010     Programming Methodology 2


CS1231     Discrete Structures


CS2030     Programming Methodology II


CS2040      Data Structures and Algorithms 4

CS2100      Computer Organisation


CS2103T     Software Engineering 2


CS2105      Introduction to Computer Networks


CS2106      Introduction to Operating Systems


CS3230 & CS3230R Design and Analysis of Algorithms


Computer Science Breadth & Depth4


CS2309      CS Research Methodology


Satisfy 1 CS Focus Area,
with 3 CS modules at level-4000 or above 4


CS3208      Undergraduate Research in Computing I


CS3209      Undergraduate Research in Computing II


CP4101      BComp Dissertation (with research content)


IT Professionalism


IS1103/X     IS Innovations in Organisations and Society


CS2101       Effective Communication for Computing Professionals


ES2660        Communicating in the Information Age 4

Mathematics and Sciences


MA1521      Calculus for Computing5


MA1101R   Linear Algebra I


ST2334       Probability and Statistics6


One Science Module7





Grand Total 




1 : Students can refer to: http://www.nus.edu.sg/registrar/gem/home for the requirements for ULR.

2 : CS1010 can be replaced by CS1101S Programming Methodology.

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

4 : The 24 MCs of CS modules refer to CS-coded modules listed in the 10 CS Focus Areas and IFS4101 Legal Aspects of Information Security. The listing of IS-coded modules in the CS focus areas provide a guide to students should they be interested in taking more related modules in the respective areas for depth. These IS modules, if taken, will be used to fulfill unrestricted electives.

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

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

7 : Students who have not taken ‘A’-level / H2 Physics must take either PC1221/X or PC1222/X to meet the Science module requirement.  Students who have not taken ‘O’-level Physics may take a Life-Science module.  Otherwise, students (who have taken ‘A’-level / H2 Physics) may take either a Physics, Chemistry or Life-Science or Mathematics module as a Science module.  The Science module must be a module from List S1 (recommended) or List S2.  Please refer to:
http://www.comp.nus.edu.sg/undergraduates/documents/Sciencemodules_S1_S2.pdf for details

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