The School of Computing offers a second major in Computer Science (CS) for non-SoC students.
The objectives for a Second Major in CS are as follows:
- To provide a computer science programme within NUS for non-computing students;
To contribute to the national focus on growing the pool of technical ICT specialists in Singapore;
To produce graduates who are able to understand computer science principles and practices and apply it in a multi-disciplinary context.
Student Learning Outcomes
The Second Major in CS enables students to attain, by the time of graduation:
- 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.
- 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, (c) 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 multi-disciplinary team to bring a range of technologies together to develop computer systems and solutions of multi-disciplinary nature.
- Ability to engage in continuous professional development.
Cohorts 2016-17 and earlier
Students who has taken CS1010/S/E and CS1020/E as either part of their degree requirements or Minor in Computer Science can apply for entry into Second Major in Computer Science if they obtain B+ or above in both modules. Existing students who have yet to embark on CS1020/E can apply for entry into Second Major in Computer Science if they have obtained B+ or above in CS1010 (or its equivalent) and CS2040 (or its equivalent). Students pursuing the BEng (Electrical Engineering) programme are precluded from reading this second major.
Cohorts 2017 and after
For students from cohort 2017 and onwards, students who has taken CS1010/S/E and CS2040/C/S as either part of their degree requirements or Minor in Computer Science can apply for entry into Second Major in Computer Science if they obtain B+ or above in both modules. Students who are directly admitted to the second major during admissions exercise must obtain B+ and above in both CS1010 (or its equivalent) and CS2040 (or its equivalent) to continue in the second major in Computer Science programme. Students pursuing the BEng (Electrical Engineering) programme are precluded from reading this second major.
SoC Minor/Second major are restricted programmes which students must apply during the application window. Please note that the last application must be made by students to School of Computing by the 4th semester of study, for enrolment at the start of their 5th semester of study. Late requests will not be entertained.
Please refer here for more information on the application procedure for restricted programmes.
The Second Major in CS is structured as follows:
Computer Science Foundation = 32 MCs
Computer Systems Team Project = 8 MCs
Computer Science Electives = 8 MCs
In total, the 48 MCs requirement for graduation are broken down as follows:
Core modules = 40 MCs
Elective modules = 8 MCs
The table below shows the programme structure in details.
|Computer Science Foundation||32|
|CS1010/S/E Programming Methodology1||4|
CS1020/E Data Structures and Algorithms I and CS2010 Data Structures and Algorithms II2
|CS1231 Discrete Structure3||4|
|CS2100 Computer Organisation4||4|
|CS2103 Software Engineering||4|
|CS2106 Introduction to Operating Systems5||4|
|CS3230 Design and Analysis of Algorithms||4|
|Computer Systems Team Project||8|
|Complete 8 MCs of the following pairs, or modules approved by the Department of Computer Science: |
CS3201/2 Software Engineering ProjectI/II6
CS3281/2 Thematic Systems Project I/II
CS3283/4 Media Technology Project I/II
CS3216 Software Product Engineering for Digital Markets and CS3217 Software Engineering on Modern Application Platform
|Computer Science Focus Areas||8|
Complete 8 MCs of CS coded modules with at least one module at level-3000 or above.
CS1010/S/E Programming Methodology can be replaced by CS1101S, CS1010J, or CS1010X. Students who are exempted from CS1010/S/E must complete another 4 MCs of CS-coded electives under Computer Science focus areas (for a total of 12 MCs)
(CS1020 and CS2010 ) or (CS2030 and CS2040) can be replaced by CS2020 Data Structures and Algorithms Accelerated (6 MCs). The remaining 2 MCs will be added to either the Computer Systems Team Project requirement or the Computer Science Focus Areas requirement. Students who have taken CS2040C or CS2040S can use the module to replace CS2040. Students who have taken CS2030S can use CS2030S to replace CS2030. Cohort 2017 and after must take CS2030 and CS2040/C/S series.
CS1231 can be replaced by MA1100 or CS1231S. Students without A-level or H2 Mathematics are required to complete MA1301 Introductory Mathematics before completing CS1231.
CS2100 Computer Organisation can be replaced by EE2024 Programming for Computer Interfaces or EE2028 Microcontroller Programming and Interfacing and its prerequisite EE2026 Digital Design.
CS2106 Introduction to Operating Systems can be replaced by CG2271 Real-Time Operating Systems.
CS3203 replaces the former CS3201 and CS3202 which has been discontinued.
Continuation and Graduation Requirements
The Second Major in CS is a non-Honours major programme. Students cannot use NOC internship credits (TR coded modules) to map to the second major requirements.
The Second Major in CS will be awarded to students who completed the 48 MCs second major requirement. Students will need to complete the primary major requirements to graduate.
Double Counting Framework for Double Major Programme
For 2014 cohort and beyond, 16 MCs of the 48 MC second major can be double counted with the primary major/programme requirements.