MACS (Matric Yr 2025)
BSc in Mathematical and Computer Sciences (Double Major)
Curriculum (Matriculation Year 2025)
- Overview
- Course Schedule by Year: Year 1 | Year 2 | Year 3 | Year 4
- Mathematical Sciences and Computer Science Common Core
- Mathematical Sciences Major Core
- Mathematical Sciences Major Prescribed Electives
- Computer Science Core
- Computer Science Major Prescribed Electives
- Professional Internship
- Final Year Project
- Specialization Areas
Curriculum Overview
| Mathematical Sciences and Computer Science Common Core (including Final Year Project) | 28 AU |
| Mathematical Sciences Core | 20 AU |
| Mathematical Sciences Major Prescribed Electives 15 AU from listed courses, with at least 8 AU from MH4xxx courses. | 15 AU |
| Computer Science Core | 21 AU |
| Computer Science Major Prescribed Electives 5 courses from SC3xxx and SC4xxx, possibly forming part of a specialization area. | 15 AU |
| Professional Internship (SC3079) | 10 AU |
| Final Year Project (MH49XX/SC4079) Students must do a Final Year Project (MH49XX or SC4079). A minimum CGPA of 4.50 and a grade of at least A- for the Final Year Project are required for the award of Honours (Highest Distinction). A minimum CGPA of 4.00 and a 'Pass' grade for the Final Year Project are required for the award of Honours (Distinction). The Final Year Project must be jointly supervised by faculty members from both SCSE and the Division of Mathematical Sciences in SPMS. | 8 AU |
| Interdisciplinary Collaborative Core: Common Core | 14 AU |
| Interdisciplinary Collaborative Core: Professional Series (including Professional Internship SC3079) | 16 AU |
| Interdisciplinary Collaborative Core: Care, Serve, Learn | 3 AU |
| Broadening and Deepening Electives (BDEs) Can take BDEs offered by any School. | 12 AU |
| Total | 144 AU |
Notes:
- A specialization area can be fulfilled by taking at least 17 AU from a list of courses. A student may choose to specialize in one or more areas, or none at all. Specialisations can be fulfilled through both MPE and/or BDE.
- Courses that count towards specialisation requirements must be taken as letter-graded. The same course cannot be used to count towards two different specialisations.
- All core and track core courses, including Computer Science Core, cannot be mapped to exchange courses. A maximum of three Major Prescribed Electives, including Computer Science Major Prescribed Electives, can be mapped to exchange courses. Please refer to this page for more information.
Year 1
| SC1003 - Introduction to Computational Thinking & Programming | 3 AU | Sem 1 |
| SC1005 - Digital Logic | 3 AU | Sem 1 |
| MH1100 - Calculus I | 4 AU | Sem 1 |
| MH1200 - Linear Algebra I | 4 AU | Sem 1 |
| MH1300 - Foundations of Mathematics | 4 AU | Sem 1 |
| CC0003 - Ethics & Civics in a Multi-Cultural World | 2 AU | Sem 1 |
| HW0001 - Introduction to Academic Communication For students who have not passed the Qualifying English Test (QET) | 0 AU | Sem 1 |
| SC1006 - Computer Organisation and Architecture | 3 AU | Sem 2 |
| SC1007 - Data Structures & Algorithms | 3 AU | Sem 2 |
| MH1101 - Calculus II | 4 AU | Sem 2 |
| MH1201 - Linear Algebra II | 4 AU | Sem 2 |
| MH1301 - Discrete Mathematics | 3 AU | Sem 2 |
| CC0001 - Inquiry and Communication in an interdisciplinary World | 2 AU | Sem 2 |
| CC0015 - Health & Wellbeing | 2 AU | Sem 2 |
Year 2
| SC2001 - Algorithms Design and Analysis | 3 AU | Sem 1 |
| SC2002 - Object Oriented Design & Programming | 3 AU | Sem 1 |
| SC2005 - Operating Systems | 3 AU | Sem 1 |
| MH2100 - Calculus III | 4 AU | Sem 1 |
| MH2500 - Probability | 4 AU | Sem 1 |
| ML0004 - Career Design & Workplace Readiness in the V.U.C.A World | 2 AU | Sem 1 |
| SC2006 - Software Engineering | 3 AU | Sem 2 |
| SC2207 - Introduction to Databases | 3 AU | Sem 2 |
| SC2008 - Computer Networks | 3 AU | Sem 2 |
| PS0002 - Introduction to Data Science and Artificial Intelligence | 3 AU | Sem 2 |
| CC0006 - Sustainability: Society, Economy & Environment | 3 AU | Sem 2 |
| CC0007 - Science & Technology for Humanity | 3 AU | Sem 2 |
| CSL - Care, Serve, Learn | 3 AU | Sem 2 |
Year 3
| CS Prescribed Elective 1 | 3 AU | Sem 1 |
| MATH Prescribed Elective 1 | 3 AU | Sem 1 |
| Broadening and Deepening Elective 1 | 3 AU | Sem 1 |
| Broadening and Deepening Elective 2 | 3 AU | Sem 1 |
| Broadening and Deepening Elective 3 | 3 AU | Sem 1 |
| HW0218 - Communication Across the Sciences | 2 AU | Sem 1 |
| MLXXXX - Profession Preparation | 1 AU | Sem 1 |
| SC3079 - Professional Internship | 10 AU | Sem 2 |
Year 4
| MH49XX/SC4079 - Final Year Project | 8 AU | Sem 1 or 2 (MH49XX) Sem 1+2 (SC4079) |
| CS Prescribed Elective 2 | 3 AU | Sem 1 |
| CS Prescribed Elective 3 | 3 AU | Sem 1 |
| MATH Prescribed Elective 2 | 4 AU | Sem 1 |
| MATH Prescribed Elective 3 | 4 AU | Sem 1 |
| CS Prescribed Elective 4 | 3 AU | Sem 2 |
| CS Prescribed Elective 5 | 3 AU | Sem 2 |
| MATH Prescribed Elective 4 | 4 AU | Sem 2 |
| Broadening and Deepening Elective 4 | 3 AU | Sem 1 or 2 |
Mathematical Sciences and Computer Science Common Core
| SC1003 - Introduction to Computational Thinking and Programming | 3 AU |
| SC1007 - Data Structures and Algorithms | 3 AU |
| SC2001 - Algorithms Design and Analysis | 3 AU |
| MH1100 - Calculus I | 4 AU |
| MH1200 - Linear Algebra I | 4 AU |
| MH1301 - Discrete Mathematics | 3 AU |
| MH49XX/SC4079 - Final Year Project | 8 AU |
Mathematical Sciences Major Core
| MH1300 - Foundations of Mathematics | 4 AU |
| MH1101 - Calculus II | 4 AU |
| MH1201 - Linear Algebra II | 4 AU |
| MH2100 - Calculus III | 4 AU |
| MH2500 - Probability | 4 AU |
Mathematical Sciences Major Prescribed Electives
Student to choose 15AU, at least 8 AU must be from MH4XXX.
Computer Science Core
| SC1005 - Digital Logic | 3 AU |
| SC1006 - Computer Organization and Architecture | 3 AU |
| SC2002 - Object Oriented Design and Programming | 3 AU |
| SC2005 - Operating Systems | 3 AU |
| SC2006 - Software Engineering | 3 AU |
| SC2207 - Introduction to Databases | 3 AU |
| SC2008 - Computer Network | 3 AU |
Computer Science Major Prescribed Electives
Students are to choose any five courses from SC3xxx and SC4xxx courses, possibly forming part of a specialization area.
| Prescribed Electives | |
| SC3000 - Artificial Intelligence | 3 AU |
| SC4000 - Machine Learning | 3 AU |
| SC4001 - Neural Networks and Deep Learning | 3 AU |
| SC4002 - Natural Language Processing | 3 AU |
| SC4003 - Intelligent Agents | 3 AU |
| SC3010 - Computer Security | 3 AU |
| SC4010 - Applied Cryptography | 3 AU |
| SC4011 - Security Management | 3 AU |
| SC4012 - Software Security | 3 AU |
| SC4013 - Application Security | 3 AU |
| SC4014 - Concepts and Techniques for Malware Analysis | 3 AU |
| SC3020 - Database System Principles | 3 AU |
| SC4020 - Data Analytics and Mining | 3 AU |
| SC4021 - Information Retrieval | 3 AU |
| SC4022 - Network Science | 3 AU |
| SC4023 - Big Data Management | 3 AU |
| SC4024 - Data Visualisation | 3 AU |
| SC3030 - Advanced Computer Networks | 3 AU |
| SC4030 - Wireless and Mobile Communication | 3 AU |
| SC4031 - IoT - Communications and Networking | 3 AU |
| SC4032 - Information Theory | 3 AU |
| SC4033 - Network Security | 3 AU |
| SC3040 - Advanced Software Engineering | 3 AU |
| SC4242 - Compiler Techniques | 3 AU |
| SC4040 - Advanced Topics in Algorithms | 3 AU |
| SC4041 - Programming Languages | 3 AU |
| SC3050 - Advanced Computer Architecture | 3 AU |
| SC3051 - Modelling and Simulation | 3 AU |
| SC4050 - Parallel Computing | 3 AU |
| SC4051 - Distributed Systems | 3 AU |
| SC4052 - Cloud Computing | 3 AU |
| SC4053 - Blockchain Technology | 3 AU |
| SC3060 - Computer Graphics and Visualisation | 3 AU |
| SC3061 - Human-Computer Interaction | 3 AU |
| SC4060 - Virtual and Augmented Reality | 3 AU |
| SC4061 - Computer Vision | 3 AU |
Professional Internship
| SC3079 - Professional Internship | 10 AU |
Final Year Project
| MH49XX/SC4079 - Final Year Project | 8 AU |
The Final Year Project must be jointly supervised by faculty members from both SCSE and the Division of Mathematical Sciences in SPMS.
Specialization Areas
A specialization area is fulfilled by taking at least 17 AU from one of the following course lists. A student may choose to specialize in one or more areas, or none at all.
| Theoretical Computer Science | |
|---|---|
| MH3300 - Graph Theory | 4 AU |
| MH3400 - Algorithms for the Real World | 4 AU |
| MH4300 - Combinatorics | 4 AU |
| MH4301 - Set Theory and Logic | 4 AU |
| MH4302 - Theory of Computing | 4 AU |
| MH4310 - Coding Theory | 4 AU |
| MH4311 - Cryptography | 4 AU |
| SC4010 - Applied Cryptography | 3 AU |
| SC4040 - Advanced Topics in Algorithms | 3 AU |
| SC4050 - Parallel Computing | 3 AU |
| Cryptography and Cybersecurity | |
| MH2220 - Algebra I | 3 AU |
| MH3220 - Algebra II | 4 AU |
| MH2200 - Groups and Symmetries | 3 AU |
| MH3200 - Abstract Algebra I | 3 AU |
| MH3210 - Number Theory | 4 AU |
| MH4310 - Coding Theory | 4 AU |
| MH4311 - Cryptography | 4 AU |
| CZ4024 - Cryptography and Network Security | 3 AU |
| CZ4055 - Cyber Physical System Security | 3 AU |
| CZ4065 - Digital Forensics | 3 AU |
| SC4001 - Neural Networks and Deep Learning | 3 AU |
| SC4010 - Applied Cryptography | 3 AU |
| SC4011 - Security Management | 3 AU |
| SC4012 - Software Security | 3 AU |
| SC4013 - Application Security | 3 AU |
| Data Science | |
| MH3510 - Regression Analysis | 4 AU |
| MH3511 - Data Analysis with Computer | 3 AU |
| MH3701 - Basic Optimization | 4 AU |
| MH4500 - Time Series Analysis | 4 AU |
| MH4501 - Multivariate Analysis | 4 AU |
| MH4510 - Statistical Learning and Data Mining | 4 AU |
| MH4511 - Sampling & Survey | 4 AU |
| MH4513 - Survival Analysis | 4 AU |
| MH4515 - Applied Bayesian Statistics | 4 AU |
| MH4516 - Applied Categorical Data Analysis | 4 AU |
| MH4517 - Data Applications in Natural Sciences | 4 AU |
| MH4518 - Simulation Techniques in Finance | 4 AU |
| SC3020 - Database System Principles | 3 AU |
| SC4020 - Data Analytics and Mining | 3 AU |
| CZ4033 - Advanced Data Management | 3 AU |
| SC4000 - Machine Learning | 3 AU |
| SC4011 - Security Management | 3 AU |
| SC4022 - Network Science | 3 AU |
| SC4023 - Big Data Management | 3 AU |
| CZ4073 - Data Science for Business | 3 AU |
| Financial Modelling Must include either MH4514 or MH4518. | |
| MH3510 - Regression Analysis | 4 AU |
| MH3512 - Stochastic Processes | 4 AU |
| MH4110 - Partial Differential Equations | 4 AU |
| MH4500 - Time Series Analysis | 4 AU |
| MH4510 - Statistical Learning and Data Mining | 4 AU |
| MH4514 - Financial Mathematics | 4 AU |
| MH4518 - Simulation Techniques in Finance | 4 AU |
| MH4519 - Financial Econometrics | 4 AU |
| SC3020 - Database System Principles | 3 AU |
| CZ4033 - Advanced Data Management | 3 AU |
| SC4021 - Information Retrieval | 3 AU |
| SC4000 - Machine Learning | 3 AU |
| SC4001 - Neural Networks and Deep Learning | 3 AU |
| CZ4073 - Data Science for Business | 3 AU |