The von Neumann Programme for Bachelor of Computing (Computer Science) programme, [vNP] is one of the two special programmes in Computer Science. vNP aims to nurture students who aspire to engage in industry careers emphasising the design of complex computing systems. It is most suitable for students who love to solve complex real-world problems and develop complex computer-based systems for real-world applications. Students pursuing Bachelor of Computing (Computer Science) degree will be invited for admission into vNP based on the performances in selected modules (including CS3281/CS3282 and CS3216/CS3217). Students in this programme will be assigned CS professors and industry partners as their mentors, who will help them to blend academic knowledge and industrial experience into their studies.

Degree Requirements

Students in the programme must maintain a minimum CAP of 4.00 in every semester of their studies and must complete the requirements of Bachelor of Computing in Computer Science, with the following variations:

  • They will read CS3219 Software Engineering Principles and Patterns (4 MCs) as an additional Breadth and Depth requirement. They will have 28 MCs remaining in the Unrestricted Electives.
  • They will take either:
    • CS3281 and CS3282 Thematic Systems Project I and II (8 MCs) with large-scale complex systems development, or
    • CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platforms
    • to meet the Software Engineering Team Project requirement
  • They must satisfy at least one focus area requirements from the following focus areas: Networks and Distributed Systems, Database Systems, Parallel Computing, Programming Languages, Software Engineering, and Computer Security.Both CS3216 and CS3217 are 5-MC modules. Students who choose to take CS3216 and CS3217 will count 8-MC towards the Computer Systems Team Project requirement and 2- MC towards Unrestricted Electives. Students must take both CS3216 and CS3217 to complete the Software Engineering Team Project requirement. If a student completed only one of CS3216 and CS3217, he or she has to take another pair of modules to meet the Computer Systems Team Project requirement.

NUS Overseas Colleges (NOC) – Computer Science – von Neumann Programme

Students who attended NOC programme may:

  1. count TR3201 Entrepreneurship Practicum (8 MCs) towards CS3882 Breakthrough Ideas for Digital Markets (4 MCs) and one bridging module at 4 MCs. The mapping to bridging module (MA1301/PC1221/PC1222) applies to CS students with A-level or equivalent qualifications in either Mathematics or Physics. These students replace the missing MCs for the bridging modules with unrestricted electives. Dummy CS codes CSX3741 and CSX3742 will be issued in place of MA1301 and PC1221/PC1222 respectively.
  2. count TR3202 Start-up Internship Programme (12 MCs) towards Industrial Experience Requirement.
  3. count TR3203 Start-up Case Study and Analysis towards Unrestricted Electives. Students working on computer systems term projects for TR3203 may seek approval to instead take TR3203P, which counts towards CS3281/2 Thematic Systems Project I/II or equivalent pairs. Alternatively, TR3203 can be mapped to TR3203E in which 8 MCs of CS electives at level-3000 can be considered for the fulfilment of CS Breadth and Depth Requirements.

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:

  1. 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).
  2. They will not be required to read CS2101 Effective Communication for Computing Professionals. It is replaced by USP Foundation module: Writing and Critical Thinking
  3. 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.
  4. They will read CS3281 and CS3282 as independent study modules (ISMs) which will be counted as two USP Inquiry modules in Sciences and Technologies basket.

Table 3: Summary of degree requirements for Bachelor of Computing (Computer Science) – von Neumann Programme (vNP)

Computer Science Foundation 32  


CS1101S Programming Methodology 4
CS1231S Discrete Structures 4
CS2030S Programming Methodology II 4
CS2040S Data Structures and Algorithms 4
CS2100 Computer Organisation 4
CS2103T Software Engineering2 4
CS2106 Introduction to Operating Systems 4
CS3230 Design and Analysis of Algorithms 4
Computer Science Breadth & Depth 52
CS3219 Software Engineering Principles and Patterns 4
Complete at least 8 MCs of Computer Systems Team Project modules from one of the following pairs:
CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platform, or
CS3281 Thematic Systems Project I and CS3282 Thematic Systems Project II (with large-scale complex system development)
Complete 28 MCs of CS/CP/IFS-coded modules by satisfying the following conditions:
  • Satisfy at least one vNP 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. After satisfying a vNP Focus area, a student may choose to satisfy other CS Focus Areas:
  • 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)
    • CP3209 Undergraduate Research in Computing (8 MCs)
    • CP4101 BComp Dissertation (12 MCs)
    • CP4106 Computing Project (8 MCs)
  • At most 12 MCs of CP-coded independent project modules.

vNP Focus areas are:

- Computer Security
- Database Systems
- Networking and Distributed Systems
- Parallel Computing
- Programming Languages
- Software Engineering

Industrial Experience Requirement3 12
IT Professionalism 12
IS1103  Ethics in Computing 4
CS2101 Effective Communication for Computing Professionals 4
ES2660 Communicating in the Information Age 4
Mathematics and Sciences 16
MA1521 Calculus for Computing 4  4
MA1101R Linear Algebra I 4
ST2334 Probability and Statistics 5  4
One Science Module 6 4
Grand Total   160


1: Students can refer to: http://nus.edu.sg/registrar/academic-information-policies/undergraduate-students/general-education/five-pillars 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 in the Department of Computer Science who aim for Honours (Highest Distinction) must pass the CP4101 B.Comp. Dissertation. Students with CAP of 4.00 or higher at the end of their fifth semester of undergraduate study may opt to replace the Industry Experience Requirement by B.Comp Dissertation (12 MCs).
4 Students pursuing a double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA1102R Calculus.
5 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.
6 Students pursuing Second Major in Mathematics can count ST2132 towards Science Module requirements. Students cannot use ST2132 to meet the requirements of Second Major in Mathematics and have to choose another elective from List II of the Mathematics major. 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. For all other students: Students may take either a Physics, Chemistry or Life-Science module as a Science module. The Science module must be a module from List S1 (recommended) or List S2. Please click here for the lists.
7 Students without A-level or H2 Mathematics are required to complete the bridging module MA1301/X as part of the Unrestricted Electives.