CS Cohort 2020/2021

Overview

The Bachelor of Computing (Honours) in Computer Science or BComp (CS) programme aims to nurture students for a rewarding computing career in various industry sectors. Suitable for those who love hands-on work and keen to apply computing technologies to solve real-world problems, the programme will equip students with the critical knowledge and capacity to take on the world with confidence.

At the time of graduation, students are expected to demonstrate:

  • Strong knowledge of computer science foundations and fundamentals, including (a) familiarity with common computer science themes and principles, (b) high-level understanding of systems as a whole, (c) understanding of the theoretical underpinnings of computer science and their influences in practice.
  • In-depth knowledge in one or more computer science specialisations.
  • Individual competence in applying sound principles and rigorous thinking to (a) analyse an application problem, (b) understand user’s requirement, (c) formulate the problem in terms of computation requirements, (d) conceive novel solution ideas, (e) design appropriate solutions that meet the requirements, (f) implement the solution, (g) evaluate the effectiveness of the solution.
  • Strong communication skills and ability to work with, and contribute to, a team to bring a range of technologies together to develop computer systems and solutions.
  • Ability to engage in continuous professional development.
  • Understanding of the responsibilities of an IT professional and the ethical, social, and legal issues related to computing.

Within 3-5 years from graduation, a graduate from the programme is expected to be able to:

  • Have a career as IT professional engaging in research and/or development in one or more specialisation of computer science;
  • Engage in a supportive or leadership role in a multi-disciplinary, collaborative, team environment;
  • Engage in continuous learning of state-of-the-art advances in computer science (including graduate studies);
  • Function as an ethical, legal and socially responsible member of the society;
  • Apply computing knowledge and skills to contribute positively to the betterment of society.

For a well-rounded education, students pursuing this programme will also acquire knowledge in science and mathematics.

Degree Requirements

The Bachelor of Computing (Computer Science) programme, BComp(CS), requires at least 160 units.

(1) University-level Requirements 1 (20 units)

(2) Unrestricted Electives (32 units)
Students without A-level or H2 Mathematics are required to complete the bridging course MA1301/X as part of the Unrestricted Electives.

(3) Programme Requirements (108 units)

Computer Science Foundation

  • CS1101S Programming Methodology
  • CS1231S Discrete Structures
  • CS2030S Programming Methodology II
  • CS2040S Data Structures and Algorithms
  • CS2100 Computer Organisation
  • CS2103T Software Engineering 2
  • CS2106 Introduction to Operating Systems
  • CS3230 Design and Analysis of Algorithms

Computer Science Breadth & Depth

Complete 28 units of CS/CP/IFS-coded courses by satisfying the following conditions:

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

Complete at least 8 units of Computer Systems Team Project courses from the following pairs, or courses approved by the Department of Computer Science:

  • CS3203 Software Engineering Project, or
  • CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platforms, or
  • CS3281 Thematic Systems Project I and CS3282 Thematic Systems Project II.

Both CS3216 and CS3217 are 5-unit courses. Students who choose to take CS3216 and CS3217 will count 8-unit towards the Computer Systems Team Project requirement and 2- unittowards 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 courses to meet the Computer Systems Team Project requirement.

Industrial Experience Requirement

Students will be required to satisfy 12 units of Industrial Experience Requirement by doing:

  • A 6-month internship through CP3880 Advanced Technology Attachment Programme (12 units);
  • Two 3-month internships through two 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);
    • ETP3205 Innovation & Enterprise Internship (6 units).
  • IS4010 Industry Internship Programme (12 units) from the Department of Information Systems and Analytics;
  • TR3202 Start-up Internship Programme (12 units) from NUS Overseas Colleges;
  • 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 Grade Point Average (GPA) of 4.00 or higher after completing at least 70% (i.e. 112 units) of the total unit requirement for the degree programme may opt to replace the Industry Experience Requirement by CP4101 B.Comp Dissertation (12 units). 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 “GPA of 4.00 or higher after completing at least 70% (112 units) of the total unit requirement for the degree programme” must be satisfied before they can commence CP4101 in lieu of Industry Experience Requirement.

If students use CP4101 (solely) in place of Industrial Experience Requirement, it cannot be used to meet CS Breadth and Depth Requirements (28 units).

IT Professionalism

  • IS1103 Ethics in Computing or IS1108 Digital Ethics and Data Privacy
  • CS2101 Effective Communication for Computing Professionals 3
  • ES2660 Communicating in the Information Age

Mathematics & Sciences

  • MA1521 Calculus for Computing 4
  • MA1101R Linear Algebra I or MA2001 Linear Algebra I
  • ST2334 Probability and Statistics 5
  • One Science Course 6

Computer Science Focus Areas for BComp (CS)

CS courses are organised into Focus Areas of coherent courses according to technical areas of study. A CS Focus Area is satisfied by completing 3 courses from the Area Primaries, with at least one course at 4000-level or above. CS Foundation Courses (CFC) that appear in the Area Primaries can be counted as one of the 3 courses towards satisfying a Focus Area. In this case, a student has to read just two other courses in the Area Primaries to satisfy the Focus Area. Elective courses 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.

  1. Algorithms & Theory
  2. Artificial Intelligence
  3. Computer Graphics and Games
  4. Computer Security
  5. Database Systems
  6. Multimedia Information Retrieval
  7. Networking and Distributed Systems
  8. Parallel Computing
  9. Programming Languages
  10. Software Engineering

NUS Overseas Colleges (NOC) – Computer Science

Students who attended NOC programme may:

  • count TR3201/N Entrepreneurship Practicum (8 units) towards CS3882 Breakthrough Ideas for Digital Markets (4 units) and one bridging course at 4 units. The mapping to bridging course (MA1301/PC1221/PC1222) applies to CS students with A-level or equivalent qualifications in either Mathematics or Physics.  These students replace the missing units for the bridging courses with unrestricted electives.  Dummy CS codes CSX3741 and CSX3742 will be issued in place of MA1301 and PC1221/PC1222 respectively.
  • count TR3202/N Start-up Internship Programme (12 units) towards Industrial Experience Requirement.
  • 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 CS3203 Software Engineering Project or equivalent pairs.  Alternatively, TR3203 can be mapped to TR3203E in which 8 units of CS-coded 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:

  • They will read GER1000 Quantitative Reasoning (4 units) as compulsory course for the University Level Requirements (ULR). The remaining 16 units in ULR are replaced by the 3 USP Inquiry Courses and 1 USP Foundation course ( i.e. University Scholars Seminar).
  • They will not be required to read CS2101 Effective Communication for Computing Professionals. It is replaced by USP Foundation course: Writing and Critical Thinking
  • They will not be required to read one Science Course (4 units). It is replaced by one USP Inquiry course in Sciences and Technologies basket.
  • They will read CS3203 or other courses approved by the Department of Computer Science as independent study courses (ISMs) which will also be counted as 2 USP Inquiry courses in Sciences and Technologies basket.

Summary of degree requirements for Bachelor of Computing (Computer Science)

Footnotes:

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 pursuing double degree in Computer Science and Mathematics/Applied Mathematics are recommended to replace MA1521 Calculus for Computing by MA1102R/MA2002 Calculus.

4 Students pursuing a double degree in Computer Science and Mathematics or Minor or Second Major in Mathematics/Statistics who take ST2131 Probability must also complete ST2132 Mathematical Statistics in place of ST2334 Probability and Statistics for CS fulfilment. 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.

5 Students may take either a Physics, Chemistry or Life-Science course as a Science course. Please refer to Appendix B at this link.

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

CoursesUnitsSubtotals
UNIVERSITY LEVEL REQUIREMENTS 1 20
PROGRAMME REQUIREMENTS 108
Computer Science Foundation32 
CS1101S Programming Methodology4 
CS1231S Discrete Structures4 
CS2030S Programming Methodology II4 
CS2040S Data Structures and Algorithms4 
CS2100 Computer Organisation4 
CS2103T Software Engineering 24 
CS2106 Introduction to Operating Systems4 
CS3230 Design and Analysis of Algorithms4 
Computer Science Breadth and Depth48 

Complete 28 units of CS/CP/IFS-coded courses by satisfying the following conditions:

  • Satisfy at least one CS Focus Area for BComp(CS) by completing 3 courses in the Area Primaries, with at least one course at level-4000 or above. Computer Science Foundation courses that appear in Area Primaries can be counted as one of the 3 courses towards satisfying a Focus Area.
  • At least 12 units are at level-4000 or above.
  • CP-coded courses must come from the following independent project courses:
    • CP3106 Independent Project (4 units)
    • CP3209 Undergraduate Research in Computing (8 units)
    • CP4101 BComp Dissertation (12 units)
    • CP4106 Computing Project (8 units)
  • At most 12 units of CP-coded independent project courses.
28 

Complete at least 8 units of Computer Systems Team Project courses from the following pairs, or courses approved by the Department of Computer Science:

  • CS3203 Software Engineering Project, or
  • CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platforms, or
  • CS3281Thematic Systems Project I and CS3282 Thematic Systems Project II.
8 

Industrial Experience Requirement

If students use CP4101 (solely) in place of Industrial Experience Requirement, it cannot be used to meet CS Breadth and Depth Requirements (28 units).

12
 
IT Professionalism
12
 
IS1103 Ethics in Computing or IS1108 Digital Ethics and Data Privacy4 
CS2101 Effective Communication for Computing Professionals 2
4
 
ES2660 Communicating in the Information Age4 
Mathematics and Sciences
16
 
MA1521 Calculus for Computing 34 
MA1101R Linear Algebra I or MA1522 Linear Algebra for Computing or MA2001 Linear Algebra I4 
ST2334 Probability and Statistics 4 and one Science Course 58 
UNRESTRICTED ELECTIVES 6 32
Grand Total 160

Study Planners

The study planners for Cohort 2019 can be found here.