B.Sc. in Computational Data Science — CUHK Engineering Major Requirements (2026–27)
Admission code: CDASN · 75 units · For students admitted in 2026–27
Students are required to complete a minimum of 75 units of courses as follows:
1.Faculty Package9 units
ENGG1110/ESTR1002, ENGG1111, ENGG1120/ESTR1005 or MATH1030 or MATH1630, MATH1010
Show 8 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| ENGG 1110 | Problem Solving By Programming | Not for students who have taken CSCI1020 or 1030 or 1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ESTR1002 or 1100 or 1102. | ||
| ESTR 1002 | Problem Solving By Programming | Not for students who have taken CSCI1020, CSCI1030, CSCI1110, CSCI1120, CSCI1130, CSCI1510, CSCI1520, CSCI1530, CSCI1540, ENGG1110, ESTR1100 or ESTR1102. | ||
| ENGG 1111 [0] | AI Literacy Workshop | Co-requisite: ENGG1110. | ||
| ENGG 1120 | Linear Algebra for Engineers | Not for students who have taken ENGG1410 or ESTR1004 or ESTR1005 or MATH1030 or MATH1038. | ||
| ESTR 1005 | Linear Algebra for Engineers | Not for students who have taken ENGG1120 or ENGG1410 or ESTR1004 or MATH1030 or MATH1038. | ||
| MATH 1030 | Linear Algebra I | Not for students who have taken MATH1038,1630, IMSC1038, 2048, 2078 or students who are taking MATH1550 in the same term. | ||
| MATH 1630 | Linear Algebra and Applications | Not for students who have taken MATH1030/1038.Pre-requisite: MATH1010/1018 or 1510 or 1520 or ENGG1120/ESTR1005 or (ECON1101 and ECON1111). | ||
| MATH 1010 | University Mathematics | Not for students who have taken MATH1018, IMSC2018, 2028, 2058, 2068, 2230 or students who are taking MATH1520 in the same term. |
2.Foundation Courses18 units
CSCI1120/ESTR1100 or CSCI1520, CSCI2100/ESTR2102, ENGG2440/ESTR2004, STAT2001[a], 2005, 2006
Show 10 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| CSCI 1120 | Introduction to Computing Using C++ | Not for students who have taken AIST1110 or CSCI1020 or CSCI1130 or CSCI1510 or CSCI1520 or CSCI1530 or CSCI1540 or CSCI1550 or ESTR1100 or ESTR1102. | ||
| ESTR 1100 | Introduction to Computing Using C++ | Not for students who have taken AIST1110 or ESTR1102 or CSCI1020, CSCI1120, CSCI1130, CSCI1510, CSCI1520, CSCI1530, CSCI1540, CSCI1550. | ||
| CSCI 1520 | Computer Principles and C++ Programming | Not for students who have taken AIST1110 or CSCI1020 or CSCI1120 or CSCI1130 or CSCI1510 or CSCI1530 or CSCI1540 or CSCI1550 or ENGG1110 or ESTR1002 or ESTR1100 or ESTR1102. | ||
| CSCI 2100 | Data Structures | Not for students who have taken ESTR2102 or CSCI2520;Pre-requisite: AIST1110 or CSCI1120 or 1130 or 1510 or 1520 or 1530 or 1540 or 1550 or ESTR1100 or ESTR1102 or ESTR2306 or IERG2080.For senior-year entrants, the prerequisite will be waived. | ||
| ESTR 2102 | Data Structures | Not for students who have taken CSCI2100 or CSC2520.Pre-requisite: AIST1110 or CSCI1120 or 1130 or 1510 or 1520 or 1530 or 1540 or 1550 or ESTR1100 or ESTR1102 or ESTR2306 or IERG2080.For senior-year entrants, the pre-requisite will be waived. | ||
| ENGG 2440 | Discrete Mathematics for Engineers | Not for students who have taken CSCI2110 or ENGG2460 or ESTR2004 or ESTR2010 or ESTR2362 or MIEG2440. | ||
| ESTR 2004 | Discrete Mathematics for Engineers | Not for students who have taken CSCI2110 or ENGG2440 or ENGG2460 or ESTR2010 or ESTR2362 or MIEG2440. | ||
| STAT 2001 | Basic Concepts in Statistics and Probability I | -. | ||
| STAT 2005 | Programming Languages for Statistics | |||
| STAT 2006 | Basic Concepts in Statistics and Probability II | Pre-requisite: STAT2001 or ENGG2760 or ESTR2018 or consent of instructor. |
3.Required Courses24 units
(a)Algorithms and Computer Systems
AIST3020, CSCI3160/ESTR3104
Show 3 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| AIST 3020 | Introduction to Computer Systems | Not for students who have taken CSCI3150 or ESTR3102.Prerequisite: (ENGG1110 or ESTR1002) AND (ENGG2440 or ESTR2004). | ||
| CSCI 3160 | Design and Analysis of Algorithms | Not for students who have taken ESTR3104 or CSCI3190;Pre-requisites: (CSCI2100 or CSCI2520 or ESTR2102) AND (CSCI2110 or ENGG2440 or ESTR2004 or ESTR2362 or MIEG2440). | ||
| ESTR 3104 | Design and Analysis of Algorithms | Not for students who have taken CSCI3160 or CSCI3190.Pre-requisite: CSCI2100 or CSCI2520 or ESTR2102, AND CSCI2110 or ENGG2440 or ESTR2004. |
(b)Machine Learning: Choose 3 units from the following3 units
CSCI3230/ESTR3108, CSCI3320, RMSC4002, STAT4001
Show 5 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| CSCI 3230 | Fundamentals of Artificial Intelligence | Not for students who have taken ESTR3108.Prerequisite: CSCI2100 or 2520 or ESTR2102 or equivalent. | ||
| ESTR 3108 | Fundamentals of Artificial Intelligence | Not for students who have taken CSCI3230.Pre-requisite: CSCI2100 or CSCI2520 or ESTR2102 or equivalent. | ||
| CSCI 3320 | Fundamentals of Machine Learning | Prerequisite: ENGG2430 or 2450 or 2760 or 2780 or ESTR2002 or 2005 or 2018 or 2020 or 2308 or 2362 or IERG2470 or MIEG2440 or STAT2001. | ||
| RMSC 4002 | Financial Data Analytics with Machine Learning | Prerequisite:RMSC2001, STAT2001 and STAT2006, or consent of instructor. | ||
| STAT 4001 | Data Mining and Statistical Learning |
(c)Sampling and Computing Methods: Choose 6 units from the following6 units
STAT3003, 3006, 3010
Show 3 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| STAT 3003 | Survey Methods | |||
| STAT 3006 | Statistical Computing | |||
| STAT 3010 | Optimization for Statistics and Data Science |
(d)Statistical Inference
STAT3008, 4003
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| STAT 3008 | Applied Regression Analysis | |||
| STAT 4003 | Statistical Inference |
(e)Statistical Modeling: Choose 3 units from the following3 units
STAT3005 or 4006
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| STAT 3005 | Nonparametric statistics | |||
| STAT 4006 | Categorical Data Analysis |
4.Research Component Courses[b]6 units
CDAS4998, 4999
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| CDAS 4998 | Final Year Project I | |||
| CDAS 4999 | Final Year Project II | Pre-requisite: CDAS4998. |
5.Elective Courses Choose any ONE from the following four options18 units
(a)Computational Data Science Choose at least 6 units from CSCI courses, at least 6 units from RMSC/STAT courses, and at least 9 units of courses at 4000 or above level18 units
AIST4020, 4030, 4040, 5050, CENG5030, CSCI3150/ESTR3102, CSCI3170, CSCI3220/ESTR3110 or BMEG3102, CSCI3260, 3280, 3310, CSCI4130/IERG4130/ESTR4306, CSCI4160/ESTR4104, CSCI4180/ESTR4106, CSCI4200, 4230, 4240, CSCI4430/ESTR4120, CSCI5030, 5120, 5150, 5240, 5350, 5390, 5540, 5550, ENGG1130/ESTR1006 or MATH2010, ENGG5101, IERG4300/ESTR4300, RMSC4001, 4003, 4004, 4005, 4006, SEEM4630, 5330, 5680, STAT3001, 3007, 3009, 3210, 4002, 4004, 4005, 4008, 4010, 4012
Show 58 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| AIST 4020 | Agentic AI and LLM Serving | Prerequisite: AIST3020 or CSCI3150 or ESTR3102. | ||
| AIST 4030 | Structured Data Modeling and Graph Neural Network | Prerequisite: AIST3120 or CSCI3230 or ESTR3108 or CSCI3320. | ||
| AIST 4040 | Mathematical Foundations of Deep Learning | Prerequisite: (ENGG1120/ESTR1005 or ENGG1125/ESTR1007 or ENGG1130/ESTR1006 or ENGG2760/ESTR2018 or ENGG2780/ESTR2020) AND (AIST3030/ESTR3112). | ||
| AIST 5050 | Optimization for Large Language Models | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG AISTN or CDASN or CENGN or CSCIN. | ||
| CENG 5030 | Energy Efficient Computing | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG Computer Science; or For students in UG Computer Engineering. | ||
| CSCI 3150 | Introduction to Operating Systems | Prerequisite: ESTR2102 or CSCI2100 or 2520.For senior-year entrants, the prerequisite will be waived.Co-requisite: AIST3020 or CSCI2510 or CENG3420 or IERG3060 or equivalent.Not for students who have taken ESTR3102. | ||
| ESTR 3102 | Introduction to Operating Systems | Not for students who have taken CSCI3150.Pre-requisite: CSCI2100 or CSCI2520 or ESTR2102.For senior-year entrants, the pre-requisite will be waived.Co-requisite: AIST3020 or CSCI2510 or CENG3420 or IERG3060 or equivalent. | ||
| CSCI 3170 | Introduction to Database Systems | Prerequisite: CSCI2100 or 2520 or ESTR2102.For 2nd-year entrants, the prerequisite will be waived. | ||
| CSCI 3220 | Algorithms for Bioinformatics | Not for students who have taken BMEG3102 or ESTR3110. | ||
| ESTR 3110 | Algorithms for Bioinformatics | Not for students who have taken BMEG3102 or CSCI3220. | ||
| BMEG 3102 | Bioinformatics | Not for students who have taken ELEG4120 or CSCI3220 or ESTR3110. | ||
| CSCI 3260 | Principles of Computer Graphics | Prerequisite: CSCI2100 or 2520 or ESTR2102. | ||
| CSCI 3280 | Introduction to Multimedia Systems | |||
| CSCI 3310 | Mobile Computing and Applications Development | Pre-requisite: CSCI2100 or 2520 or ESTR2102.Not for students who have taken IERG3842. | ||
| CSCI 4130 | Introduction to Cyber Security | Not for students who have taken ESTR4306 or IEMS5710 or IERG4130. | ||
| IERG 4130 | Introduction to Cyber Security | Not for students who have taken CSCI4130 or ESTR4306 or IEMS5710. | ||
| ESTR 4306 | Introduction to Cyber Security | Not for students who have taken IERG4130 or IEMS5710 or CSCI4130. | ||
| CSCI 4160 | Distributed and Parallel Computing | Prerequisite: CSCI3150 or ESTR3102.Not for students who have taken ESTR4104. | ||
| ESTR 4104 | Distributed and Parallel Computing | Not for students who have taken CSCI4160.Pre-requisite: CSCI3150 or ESTR3102. | ||
| CSCI 4180 | Introduction to Cloud Computing and Storage | Co-requisite: CSCI3150 or ESTR3102.Not for students who have taken ESTR4106. | ||
| ESTR 4106 | Introduction to Cloud Computing and Storage | Co-requisite: CSCI3150 or ESTR3102.Not for students who have taken CSCI4180. | ||
| CSCI 4200 | Operating System Engineering | Pre-requisite: CSCI3150 or ESTR3102. | ||
| CSCI 4230 | Computational Learning Theory | Prerequisite: ENGG2430 or 2450 or 2760 or 2780 or ESTR2002 or 2005 or 2018 or 2020 or 2308 or 2362 or IERG2470 or MIEG2440. | ||
| CSCI 4240 | Advanced Algorithms: Randomization and Approximation | Pre-requisite: (ENGG2760 or ESTR2018) and (ENGG1120 or ESTR1005) Co-requisite: CSCI3160. | ||
| CSCI 4430 | Data Communication and Computer Networks | 1. Prerequisite: CENG3150 or CSCI3150 or ESTR3102.2. Not for students who have taken ESTR3310 or ESTR4120 or IERG3310. | ||
| ESTR 4120 | Data Communication and Computer Networks | Not for students who have taken IERG3310 or CSCI4430 or ESTR3310.Pre-requisite: CSCI3150 or CENG3150 or ESTR3102. | ||
| CSCI 5030 | Machine Learning Theory | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For undergraduate students in Computer Science (CSCIU & CSCIN) or Computer Engineering (CENGU & CENGN);Not for students who have taken AIMS5704. | ||
| CSCI 5120 | Advanced Topics in Database Systems | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG Computer Science; or For students in UG Computer Engineering;Exclusion: CMSC5705 and SEEM5010. | ||
| CSCI 5150 | Machine Learning Algorithms and Applications | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG Computer Science; or For students in UG Computer Engineering;Exclusion: FTEC5580. | ||
| CSCI 5240 | (not found in course_info) | |||
| CSCI 5350 | Advanced Topics in Game Theory | For students in MSc Computer Science or MPhil-PhD Computer Science & Engineering or UG Computer Science or UG Computer Engineering;Exclusion: CMSC5728. | ||
| CSCI 5390 | Advanced GPU Programming | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG Computer Science; or For students in UG Computer Engineering. | ||
| CSCI 5540 | Machine Learning Systems | For undergraduate students in Computer Science (CSCIN) or Computer Engineering (CENGN) or Artificial Intelligence – Systems & Technologies (AISTN); or For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering. | ||
| CSCI 5550 | Advanced File and Storage Systems | For undergraduate students in Computer Science (CSCIU and CSCIN) or Computer Engineering (CENGU and CENGN); or For students in MSc Computer Science or MPhil-PhD Computer Science & Engineering. | ||
| ENGG 1130 | Multivariable Calculus for Engineers | Pre-requisite(s): ENGG1125 or ESTR1007 or MATH1510.Not for students who have taken ENGG1410 or ESTR1004 or 1006 or MATH2010 or 2018 or 2020 or 2028. | ||
| ESTR 1006 | Multivariable Calculus for Engineers | Pre-requisite(s): ENGG1125 or ESTR1007 or MATH1510.Not for students who have taken ENGG1130 or ENGG1410 or ESTR1004 or MATH2010 or MATH2018 or MATH2020 or MATH2028. | ||
| MATH 2010 | Advanced Calculus I | Not for students who took MATH2018/2020/2028,IMSC2018,2028,2058,2068,2230 or taking MATH2530 in same term.Pre-requisite: [Option 1] MATH1010/1018.Check dept website for more options.Co-requisite MATH1030/1038/1050/1058/1090/1098/1630. | ||
| ENGG 5101 | Advanced Computer Architecture | For students in MSc Computer Science or MPhil-PhD programmes under Faculty of Engineering or UG Computer Science or UG Computer Engineering;Exclusion: CENG5410. | ||
| IERG 4300 | Web-scale Information Analytics | Not for students who have taken CSCI5510 or ENGG4030 or ESTR4300. | ||
| ESTR 4300 | Web-scale Information Analytics | Not for students who have taken CSCI5510 or ENGG4030 or IERG4300. | ||
| RMSC 4001 | Simulation Methods for Risk Management Science and Finance | Prerequisite:RMSC2001 or consent of instructor. | ||
| RMSC 4003 | Statistical Modelling in Financial Markets | Prerequisite:RMSC2001 or consent of instructor. | ||
| RMSC 4004 | Theory of Risk and Insurance | |||
| RMSC 4005 | Stochastic Calculus for Finance and Risk | Prerequisite:RMSC2001 or consent of instructor. | ||
| RMSC 4006 | Operational Risk Management | Pre-requisite: RMSC2001 or consent of instructor. | ||
| SEEM 4630 | E-Commerce Data Mining | |||
| SEEM 5330 | Speech and Language Processing | For students in Mphil-PhD Systems Engineering and Engineering Management. | ||
| SEEM 5680 | Text Mining Models and Application | For students in MPhil-PhD Systems Engineering and Engineering Management. | ||
| STAT 3001 | Foundation of Financial and Managerial Statistics | |||
| STAT 3007 | Introduction to Stochastic Processes | |||
| STAT 3009 | Recommender Systems | |||
| STAT 3210 | Statistical Techniques in Life Sciences | Not for students who have taken STAT3004. | ||
| STAT 4002 | Applied Multivariate Analysis | |||
| STAT 4004 | Actuarial Science | Not for students who have taken or register concurrently for FINA3220. | ||
| STAT 4005 | Time Series | |||
| STAT 4008 | Survival Modelling | |||
| STAT 4010 | Bayesian Learning | |||
| STAT 4012 | Statistical Principles of Deep Learning with Business Applications | |||
(b)Computational Physics18 units
Required Courses
PHYS2401, 4061
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| PHYS 2401 | Introduction to Astronomy and Astrophysics | Not for students who have taken UGEB2401 or UGEB2402. | ||
| PHYS 4061 | Computational Physics and Machine Learning | Not for students who have taken PHYS5160.Pre-requisite: PHYS2061 or its equivalents, or permission of instructor. |
Elective Courses: Choose at least 9 units from the following9 units
AIST5040, CSCI3350, 5370, PHYS1110, 1111, 1122, 3061
Show 7 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| AIST 5040 | PhysAI and GenAI for Natural Science | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For students in UG AISTN or CDASN or CENGN or CSCIN. | ||
| CSCI 3350 | Introduction to Quantum Computing | Prerequisite: (ENGG1120 or ESTR1005) AND (ENGG2760 or ESTR2018). | ||
| CSCI 5370 | Quantum Computing | For students in MSc Computer Science; or For students in MPhil-PhD Computer Science & Engineering; or For undergraduate students in Computer Science (CSCIU & CSCIN) or Computer Engineering (CENGU & CENGN). | ||
| PHYS 1110 | Engineering Physics: Mechanics and Thermodynamics | |||
| PHYS 1111 | Introduction to Mechanics, Fluids, and Waves (University Physics I) | For New Undergraduate Curriculum from 2012.Not for students who have taken PHYS1113. | ||
| PHYS 1122 | University Physics II – Introduction to Optics and Modern Physics | For New Curriculum Students. | ||
| PHYS 3061 | Physics Simulations with AI Tools |
Remaining units can be chosen from any courses under item 5(a) Computational Data Science
(c)Computational Medicine18 units
Required Courses
PHPC2017, 3024
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| PHPC 2017 | Epidemiology | Not for students who have taken PHPC1014 or SBMS2101. | ||
| PHPC 3024 | Economics and Financing in Healthcare Systems |
Elective Courses
(i)Choose at least 6 units from the following6 units
PHPC1001, 1017, 2009, 2010, 3014, 3034, 4025
Show 7 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| PHPC 1001 [2] | Foundations in Public Health | PHPC1001 is double-coded with UGEC1920.Not for students who have taken MEDF1021, 1120, UGEC1920 or UGEC2930. | ||
| PHPC 1017 [1] | Principles of Infectious Diseases | Not for students who have taken PHPC1004. | ||
| PHPC 2009 | Environment and Work | Not for students who have taken CHPR2001. | ||
| PHPC 2010 | Health Care System & Policy | |||
| PHPC 3014 | Evidence Based Public Health and Healthcare | For students of new curriculum only.Not for students who have taken PHPC2014.Pre-requisites: PHPC2015 & PHPC2017. | ||
| PHPC 3034 | Applied Economics Evaluation in Health Care | |||
| PHPC 4025 | Introduction to Data Science in Environmental Health and Medicine |
(ii)Choose at least 3 units from the following3 units
AIST4050, CSCI3220/ESTR3110 or BMEG3102, CSCI3290, STAT3210, STAT4008
Show 7 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| AIST 4050 | Embodied Intelligence: Algorithms and Applications | Prerequisite: AIST1000. | ||
| CSCI 3220 | Algorithms for Bioinformatics | Not for students who have taken BMEG3102 or ESTR3110. | ||
| ESTR 3110 | Algorithms for Bioinformatics | Not for students who have taken BMEG3102 or CSCI3220. | ||
| BMEG 3102 | Bioinformatics | Not for students who have taken ELEG4120 or CSCI3220 or ESTR3110. | ||
| CSCI 3290 | Computational Imaging and Vision | Prerequisite: CSCI2100 or ESTR2102. | ||
| STAT 3210 | Statistical Techniques in Life Sciences | Not for students who have taken STAT3004. | ||
| STAT 4008 | Survival Modelling |
Remaining units can be chosen from any courses under item 5(a) Computational Data Science
(d)Computational Social Science18 units
Required Courses
SOCI3102, 3238
Show 2 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| SOCI 3102 | Social Networks and Social Capital | Not for students who have taken UGEC2013. | ||
| SOCI 3238 | Digital Sociology | -. |
Elective Courses: Choose at least 9 units from the following9 units
SOCI2116, 2203, 3002, 3204, 3208, 3227, 3229, 3237
Show 8 courses
| Course | Title | Term 1 | Term 2 | Enrolment information |
|---|---|---|---|---|
| SOCI 2116 | Criminals and the Law | -. | ||
| SOCI 2203 | Social Problems and Social Policy | -. | ||
| SOCI 3002 | Social Stratification | -. | ||
| SOCI 3204 | Sociology of Crime and Deviance | -. | ||
| SOCI 3208 | Gender and Society | -. | ||
| SOCI 3227 | Social Demography | Not for students who have taken UGEC2033. | ||
| SOCI 3229 | Quantitative Data Analysis | -. | ||
| SOCI 3237 | Medical Sociology | Not for students who have taken UGEC2003 or SOCI4207 (old code). |