The Bachelor of Computing (Computer Science) programme, BComp(CS), requires at least 160 MCs. This programme is accredited by the Computing Accreditation Commission (CAC) of ABET, http://www.abet.org.
(i) PROGRAMME REQUIREMENTS (Total of 120 MCs)
Computer Science Foundation
CS1010 Programming Methodology ^{2}
CS1020 Data Structures and Algorithms I ^{3}
CS1231 Discrete Structures
CS2010 Data Structures and Algorithms II ^{3}
CS2100 Computer Organisation
CS2103T Software Engineering ^{4}
CS2105 Introduction to Computer Networks
CS2106 Introduction to Operating Systems
CS3230 Design and Analysis of Algorithms
Computer Science Breadth & Depth
Complete 24 MCs of CS modules by satisfying the following conditions:^{5}
 Satisfy at least one CS Focus Area for BComp(CS) by completing 3 modules in the Area Primaries, with at least one module at level4000 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 level4000 or above.
Complete at least 8 MCs of Computer Systems Team Project modules from the following pairs, or modules approved by the Department of Computer Science:
 CS3201 Software Engineering Project I and CS3202 Software Engineering Project II, or
 CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platforms
 CS3281 Thematic Systems Project I and CS3282 Thematic Systems Project II, or
 CS3283 Media Technology Project I and CS3284 Media Technology Project II
Both CS3216 and CS3217 are 5MC modules. Students who choose to take CS3216 and CS3217 will count 8MC 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.
Complete 12 MCs of Industrial Experience Training
Students will be required to satisfy 12 MCs of Industrial Experience Requirement by doing:
 A 6month internship through CP3880 Advanced Technology Attachment Programme (12 MCs)
 Two 3month internships through CP3200 Internship (6 MCs) and CP3202 Internship II (6MCs). With two internships, the student will be able to experience work in two distinct types of organizations, such as a startup and a MNC, or in two different industries.
 IS4010 Industry Internship Programme (12 MCs) from the IS department.
 A 3month internship through CP3200 Internship (6 MCs) and an approved Industry Course from Computer Science Department (4 MCs). The remaining 2 MCs may be satisfied using Unrestricted Electives. Students should consult the CS Deputy Head (CS Programmes) in advance if they are interested in this option as industry courses may not be offered every year.
 iLead (16 MCs) or NOC (32 MCs). For students who opt for iLead or NOC, the additional MCs beyond the 12MCs allocated to Industry Experience Training should be taken from Unrestricted Electives and/or exempted modules.
 Other forms of industry experience approved by the Department of Computer Science.
Students who aim for Honours (Highest Distinction) must pass the CP4101 BComp Dissertation. Students with CAP of 4.00 or higher after completing at least 70% (i.e. 112 MCs) of the MC requirement for the degree programme may opt to replace the Industry Experience Requirement by CP4101 B.Comp Dissertation (12 MCs). Note that the CP4101 project selection process takes place one semester ahead of the semester in which the students commence CP4101. Thus the students can tentatively select CP4101 projects; but the condition "CAP of 4.00 or higher after completing at least 70% (112 MCs) of the MC requirement for the degree programme" must be satisfied before they can commence CP4101 in lieu of Industry Experience Requirement.
IT Professionalism
IS1103/FC/X Computing and Society/IS Innovations in Organisations and Society
CS2101 Effective Communication for Computing Professionals^{4}
Mathematics & Sciences
MA1301 Introductory Mathematics^{6}
MA1521 Calculus for Computing^{7}
MA1101R Linear Algebra I
Either
(ST2334 Probability and Statistics and a Science Module)
or
(ST2131 Probability and ST2132 Mathematical Statistics)^{8}
PC1221 Fundamentals of Physics I or PC1222 Fundamentals of Physics II^{9}
2 Science Modules ^{10}
(ii) UNIVERSITY LEVEL REQUIREMENTS (20 MCs)
(iii) UNRESTRICTED ELECTIVES (20 MCs)
Footnotes:
^{2} CS1010 can be replaced by CS1101S Programming Methodology.
^{3} CS1020 and CS2010 can be replaced by CS2020 Data Structures and Algorithms Accelerated. The remaining 2 MC will be added to the Unrestricted Electives Requirements.
^{4} Students taking CS2103T Software Engineering must take CS2101 Effective Communication for Computing Professionals in the same semester.
^{5} The 24 MCs of CS modules refer to CScoded modules listed in the 11 CS Focus areas. The listing of IScoded 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.
^{6} MA1301 is waived for students with Alevel Mathematics. The 4 MCs gained from the waiver should be used to read an unrestricted elective.
^{7} Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA1102R Calculus.
^{8} Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics will take ST2131 Probability and ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics.
^{9} Students who have not taken 'O'level Physics may replace PC1221 or PC1222 by a lifescience module.
^{10} Science modules must be either Physics, Chemistry or LifeScience or Mathematics modules. Science modules must be modules from List S1 (recommended) or List S2. Please click here for the lists.
Computer Science Focus Areas for BComp(CS)
CS modules are organised into Focus Areas of coherent modules according to technical areas of study. A CS Focus Area is satisfied by completing 3 modules from the Area Primaries, with at least one module at 4000level or above. CS Foundation Modules (CFM) that appear in the Area Primaries can be counted as one of the 3 modules towards satisfying a Focus Area. In this case, a student has to read just two other modules in the Area Primaries to satisfy the Focus Area. Elective modules are grouped into the Focus Areas as a guide for indicating their related areas of study. The ten focus areas are listed below. Please click here for details about these focus areas.
 Algorithms & Theory
 Artificial Intelligence
 Computer Graphics and Games
 Computer Security
 Database Systems
 Multimedia Information Retrieval
 Networking and Distributed Systems
 Parallel Computing
 Programming Languages
 Software Engineering
Study Planners
Students matriculated in AY201516 may click here to access to the sample planners.
NUS Overseas Colleges (NOC) – Computer Science
Students who attended NOC programme may:
 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 Alevel 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.
 count TR3202 Startup Internship Programme (12 MCs) towards Industrial Experience Requirement.
 count TR3203 Startup 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 CS3201/2 Software Engineering Project I/II or equivalent pairs. Alternatively, TR3203 can be mapped to TR3203E in which 8 MCs of CScoded electives at level3000 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:
 They will not be required to read University Level Requirements (20 MCs). These are replaced by the 3 USP Inquiry Modules and 2 USP Foundation modules (Quantitative Reasoning Foundation and 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 two Science Modules (8 MCs). These are replaced by 2 USP Inquiry modules in Sciences and Technologies basket.
 (Amended 2 May 2017, the previous clause is no longer applicable, replaced by the new text) They will read UROP modules (CP3208 and CP3209) in place of CS3201 and CS3202 or CS3281 and CS3282. CP3208 and CP3209 are independent study modules (ISMs) which will also be counted as 2 USP Inquiry modules in Sciences and Technologies basket.
They will read CS3201 and CS3202 or other modules approved by the Department of Computer Science as independent study modules (ISMs) which will also be counted as 2 USP Inquiry modules in Sciences and Technologies basket (8 MCs).
Summary of degree requirements for Bachelor of Computing (Computer Science)
Modules  MCs  Subtotals 

UNIVERSITY LEVEL REQUIREMENTS ^{1} 
20 

PROGRAMME REQUIREMENTS 
120 

Computer Science Foundation 
36 

CS1010 Programming Methodology ^{2} 
4 

CS1020 Data Structures and Algorithms I ^{3} 
4 

CS2010 Data Structures and Algorithms II ^{3} 
4 

CS1231 Discrete Structures 
4 

CS2100 Computer Organisation 
4 

CS2103T Software Engineering^{4} 
4 

CS2105 Introduction to Computer Networks 
4 

CS2106 Introduction to Operating Systems 
4 

CS3230 Design and Analysis of Algorithms 
4 

Computer Science Breadth and Depth 
44 

Complete 24 MCs of CS modules by satisfying the following conditions: ^{5}

24 

Complete 8 MCs of Computer Systems Team Project modules from the following pairs, or modules approved by the Department of Computer Science:
CS3201 Software Engineering Project I and CS3202 Software Engineering Project II, or 
8 

Industrial Experience Training 
12 

IT Professionalism 
8 

IS1103/FC/X Computing and Society/IS Innovations in Organisations and Society 
4 

CS2101 Effective Communication for Computing Professionals^{4} 
4 

Mathematics and Sciences 
32 

MA1301 Introductory Mathematics^{6} 
4 

MA1521 Calculus for Computing^{7} 
4 

MA1101R Linear Algebra I 
4 

Either (ST2334 Probability and Statistics and a Science Module) or (ST2131 Probability and ST2132 Mathematical Statistics)^{8} 
8 

PC1221 Fundamental of Physics I or PC1222 Fundamentals of Physics II ^{9} 
4 

2 Science Module ^{10} 
8 

UNRESTRICTED ELECTIVES 
20 

Grand Total 
160 
^{1} : Students must complete an approved GE module within the Thinking and Expresssion pillar. The current approved module list includes GET1006 Critical Thinking in the Information Age and GET1021 Critical Thinking and Writing.
^{2}: CS1010 can be replaced by CS1101S Programming Methodology.
^{3} : CS1020 and CS2010 can be replaced by CS2020 Data Structures and Algorithms Accelerated. The remaining 2 MCs will be added to the Unrestricted Electives Requirements.
^{4} : Students taking CS2103T Software Engineering must take CS2101 Effective Communication for Computing Professionals in the same semester.
^{5} : The 24 MCs of CS modules refer to CScoded modules listed in the 10 CS Focus areas. The listing of IScoded 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.
^{6} : MA1301 is waived for students with Alevel Mathematics. The 4 MCs gained from the waiver should be used to read an unrestricted elective.
^{7} : Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA1102R Calculus.
^{8} : Students pursuing double degree in Computer Science and Mathematics/Applied Mathematics will take ST2131 Probability and ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics.
^{9} : Students who have not taken ‘O’level Physics may replace PC1221 or PC1222 by a lifescience module. PC1221 or PC1222 is waived for students with Alevel Physics. The 4 MCs gained from the waiver should be used to read an unrestricted elective.
^{10} : Science modules must be either Physics, Chemistry or LifeScience or Mathematics modules. Science modules must be modules from List S1 (recommended) or List S2. Please refer here for the details.