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
CourseTitleTerm 1Term 2Enrolment information
ENGG 1110Problem 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 1002Problem 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 1120Linear Algebra for Engineers
Not for students who have taken ENGG1410 or ESTR1004 or ESTR1005 or MATH1030 or MATH1038.
ESTR 1005Linear Algebra for Engineers
Not for students who have taken ENGG1120 or ENGG1410 or ESTR1004 or MATH1030 or MATH1038.
MATH 1030Linear Algebra I
Not for students who have taken MATH1038,1630, IMSC1038, 2048, 2078 or students who are taking MATH1550 in the same term.
MATH 1630Linear 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 1010University 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
CourseTitleTerm 1Term 2Enrolment information
CSCI 1120Introduction 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 1100Introduction to Computing Using C++
Not for students who have taken AIST1110 or ESTR1102 or CSCI1020, CSCI1120, CSCI1130, CSCI1510, CSCI1520, CSCI1530, CSCI1540, CSCI1550.
CSCI 1520Computer 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 2100Data 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 2102Data 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 2440Discrete Mathematics for Engineers
Not for students who have taken CSCI2110 or ENGG2460 or ESTR2004 or ESTR2010 or ESTR2362 or MIEG2440.
ESTR 2004Discrete Mathematics for Engineers
Not for students who have taken CSCI2110 or ENGG2440 or ENGG2460 or ESTR2010 or ESTR2362 or MIEG2440.
STAT 2001Basic Concepts in Statistics and Probability I
-.
STAT 2005Programming Languages for Statistics
STAT 2006Basic 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
CourseTitleTerm 1Term 2Enrolment information
AIST 3020Introduction to Computer Systems
Not for students who have taken CSCI3150 or ESTR3102.Prerequisite: (ENGG1110 or ESTR1002) AND (ENGG2440 or ESTR2004).
CSCI 3160Design 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 3104Design 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
CourseTitleTerm 1Term 2Enrolment information
CSCI 3230Fundamentals of Artificial Intelligence
Not for students who have taken ESTR3108.Prerequisite: CSCI2100 or 2520 or ESTR2102 or equivalent.
ESTR 3108Fundamentals of Artificial Intelligence
Not for students who have taken CSCI3230.Pre-requisite: CSCI2100 or CSCI2520 or ESTR2102 or equivalent.
CSCI 3320Fundamentals 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 4002Financial Data Analytics with Machine Learning
Prerequisite:RMSC2001, STAT2001 and STAT2006, or consent of instructor.
STAT 4001Data Mining and Statistical Learning

(c)Sampling and Computing Methods: Choose 6 units from the following6 units

STAT3003, 3006, 3010

Show 3 courses
CourseTitleTerm 1Term 2Enrolment information
STAT 3003Survey Methods
STAT 3006Statistical Computing
STAT 3010Optimization for Statistics and Data Science

(d)Statistical Inference

STAT3008, 4003

Show 2 courses
CourseTitleTerm 1Term 2Enrolment information
STAT 3008Applied Regression Analysis
STAT 4003Statistical Inference

(e)Statistical Modeling: Choose 3 units from the following3 units

STAT3005 or 4006

Show 2 courses
CourseTitleTerm 1Term 2Enrolment information
STAT 3005Nonparametric statistics
STAT 4006Categorical Data Analysis

4.Research Component Courses[b]6 units

CDAS4998, 4999

Show 2 courses
CourseTitleTerm 1Term 2Enrolment information
CDAS 4998Final Year Project I
CDAS 4999Final 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
CourseTitleTerm 1Term 2Enrolment information
AIST 4020Agentic AI and LLM Serving
Prerequisite: AIST3020 or CSCI3150 or ESTR3102.
AIST 4030Structured Data Modeling and Graph Neural Network
Prerequisite: AIST3120 or CSCI3230 or ESTR3108 or CSCI3320.
AIST 4040Mathematical Foundations of Deep Learning
Prerequisite: (ENGG1120/ESTR1005 or ENGG1125/ESTR1007 or ENGG1130/ESTR1006 or ENGG2760/ESTR2018 or ENGG2780/ESTR2020) AND (AIST3030/ESTR3112).
AIST 5050Optimization 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 5030Energy 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 3150Introduction 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 3102Introduction 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 3170Introduction to Database Systems
Prerequisite: CSCI2100 or 2520 or ESTR2102.For 2nd-year entrants, the prerequisite will be waived.
CSCI 3220Algorithms for Bioinformatics
Not for students who have taken BMEG3102 or ESTR3110.
ESTR 3110Algorithms for Bioinformatics
Not for students who have taken BMEG3102 or CSCI3220.
BMEG 3102Bioinformatics
Not for students who have taken ELEG4120 or CSCI3220 or ESTR3110.
CSCI 3260Principles of Computer Graphics
Prerequisite: CSCI2100 or 2520 or ESTR2102.
CSCI 3280Introduction to Multimedia Systems
CSCI 3310Mobile Computing and Applications Development
Pre-requisite: CSCI2100 or 2520 or ESTR2102.Not for students who have taken IERG3842.
CSCI 4130Introduction to Cyber Security
Not for students who have taken ESTR4306 or IEMS5710 or IERG4130.
IERG 4130Introduction to Cyber Security
Not for students who have taken CSCI4130 or ESTR4306 or IEMS5710.
ESTR 4306Introduction to Cyber Security
Not for students who have taken IERG4130 or IEMS5710 or CSCI4130.
CSCI 4160Distributed and Parallel Computing
Prerequisite: CSCI3150 or ESTR3102.Not for students who have taken ESTR4104.
ESTR 4104Distributed and Parallel Computing
Not for students who have taken CSCI4160.Pre-requisite: CSCI3150 or ESTR3102.
CSCI 4180Introduction to Cloud Computing and Storage
Co-requisite: CSCI3150 or ESTR3102.Not for students who have taken ESTR4106.
ESTR 4106Introduction to Cloud Computing and Storage
Co-requisite: CSCI3150 or ESTR3102.Not for students who have taken CSCI4180.
CSCI 4200Operating System Engineering
Pre-requisite: CSCI3150 or ESTR3102.
CSCI 4230Computational 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 4240Advanced Algorithms: Randomization and Approximation
Pre-requisite: (ENGG2760 or ESTR2018) and (ENGG1120 or ESTR1005) Co-requisite: CSCI3160.
CSCI 4430Data Communication and Computer Networks
1. Prerequisite: CENG3150 or CSCI3150 or ESTR3102.2. Not for students who have taken ESTR3310 or ESTR4120 or IERG3310.
ESTR 4120Data Communication and Computer Networks
Not for students who have taken IERG3310 or CSCI4430 or ESTR3310.Pre-requisite: CSCI3150 or CENG3150 or ESTR3102.
CSCI 5030Machine 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 5120Advanced 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 5150Machine 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 5350Advanced 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 5390Advanced 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 5540Machine 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 5550Advanced 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 1130Multivariable 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 1006Multivariable 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 2010Advanced 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 5101Advanced 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 4300Web-scale Information Analytics
Not for students who have taken CSCI5510 or ENGG4030 or ESTR4300.
ESTR 4300Web-scale Information Analytics
Not for students who have taken CSCI5510 or ENGG4030 or IERG4300.
RMSC 4001Simulation Methods for Risk Management Science and Finance
Prerequisite:RMSC2001 or consent of instructor.
RMSC 4003Statistical Modelling in Financial Markets
Prerequisite:RMSC2001 or consent of instructor.
RMSC 4004Theory of Risk and Insurance
RMSC 4005Stochastic Calculus for Finance and Risk
Prerequisite:RMSC2001 or consent of instructor.
RMSC 4006Operational Risk Management
Pre-requisite: RMSC2001 or consent of instructor.
SEEM 4630E-Commerce Data Mining
SEEM 5330Speech and Language Processing
For students in Mphil-PhD Systems Engineering and Engineering Management.
SEEM 5680Text Mining Models and Application
For students in MPhil-PhD Systems Engineering and Engineering Management.
STAT 3001Foundation of Financial and Managerial Statistics
STAT 3007Introduction to Stochastic Processes
STAT 3009Recommender Systems
STAT 3210Statistical Techniques in Life Sciences
Not for students who have taken STAT3004.
STAT 4002Applied Multivariate Analysis
STAT 4004Actuarial Science
Not for students who have taken or register concurrently for FINA3220.
STAT 4005Time Series
STAT 4008Survival Modelling
STAT 4010Bayesian Learning
STAT 4012Statistical Principles of Deep Learning with Business Applications

(b)Computational Physics18 units

Required Courses

PHYS2401, 4061

Show 2 courses
CourseTitleTerm 1Term 2Enrolment information
PHYS 2401Introduction to Astronomy and Astrophysics
Not for students who have taken UGEB2401 or UGEB2402.
PHYS 4061Computational 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
CourseTitleTerm 1Term 2Enrolment information
AIST 5040PhysAI 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 3350Introduction to Quantum Computing
Prerequisite: (ENGG1120 or ESTR1005) AND (ENGG2760 or ESTR2018).
CSCI 5370Quantum 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 1110Engineering Physics: Mechanics and Thermodynamics
PHYS 1111Introduction to Mechanics, Fluids, and Waves (University Physics I)
For New Undergraduate Curriculum from 2012.Not for students who have taken PHYS1113.
PHYS 1122University Physics II – Introduction to Optics and Modern Physics
For New Curriculum Students.
PHYS 3061Physics 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
CourseTitleTerm 1Term 2Enrolment information
PHPC 2017Epidemiology
Not for students who have taken PHPC1014 or SBMS2101.
PHPC 3024Economics 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
CourseTitleTerm 1Term 2Enrolment 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 2009Environment and Work
Not for students who have taken CHPR2001.
PHPC 2010Health Care System & Policy
PHPC 3014Evidence Based Public Health and Healthcare
For students of new curriculum only.Not for students who have taken PHPC2014.Pre-requisites: PHPC2015 & PHPC2017.
PHPC 3034Applied Economics Evaluation in Health Care
PHPC 4025Introduction 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
CourseTitleTerm 1Term 2Enrolment information
AIST 4050Embodied Intelligence: Algorithms and Applications
Prerequisite: AIST1000.
CSCI 3220Algorithms for Bioinformatics
Not for students who have taken BMEG3102 or ESTR3110.
ESTR 3110Algorithms for Bioinformatics
Not for students who have taken BMEG3102 or CSCI3220.
BMEG 3102Bioinformatics
Not for students who have taken ELEG4120 or CSCI3220 or ESTR3110.
CSCI 3290Computational Imaging and Vision
Prerequisite: CSCI2100 or ESTR2102.
STAT 3210Statistical Techniques in Life Sciences
Not for students who have taken STAT3004.
STAT 4008Survival 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
CourseTitleTerm 1Term 2Enrolment information
SOCI 3102Social Networks and Social Capital
Not for students who have taken UGEC2013.
SOCI 3238Digital Sociology
-.

Elective Courses: Choose at least 9 units from the following9 units

SOCI2116, 2203, 3002, 3204, 3208, 3227, 3229, 3237

Show 8 courses
CourseTitleTerm 1Term 2Enrolment information
SOCI 2116Criminals and the Law
-.
SOCI 2203Social Problems and Social Policy
-.
SOCI 3002Social Stratification
-.
SOCI 3204Sociology of Crime and Deviance
-.
SOCI 3208Gender and Society
-.
SOCI 3227Social Demography
Not for students who have taken UGEC2033.
SOCI 3229Quantitative Data Analysis
-.
SOCI 3237Medical Sociology
Not for students who have taken UGEC2003 or SOCI4207 (old code).

Remaining units can be chosen from any courses under item 5(a) Computational Data Science

Explanatory Notes

1.All courses at 2000 and above level listed in the Major Programme Requirement will be included in the calculation of Major GPA for honours classification.
[a]Non-JUPAS and JUPAS admittees without HKDSE Mathematics Extended Modules I or II may consider taking STAT1011 in advance for enriching statistics knowledge, if necessary.
[b]Students who have declared to specialize in the ELITE Stream will be required to complete 6 units of ESTR4998 and 4999 to substitute for CDAS4998 and 4999.
[c]Details of the entrance and coursework requirements, and declaration procedures for the ELITE Stream can be found at the ELITE website (www.erg.cuhk.edu.hk/erg/elite). Non-ELITE Engineering students may be allowed to take ESTR courses. Students are required to seek approval from their respective Major Programmes for using ESTR courses taken to fulfill the Major Programme Requirement. Details are available at the ELITE website.
[d]Students can use up to 9 units of courses which have been taken to fulfill the requirements of items 1 to 5 above to fulfill the elective requirements of the ELITE Stream. Item 4 Research Component Courses will not be included in these 9 units. A full list of ESTR courses is available at the ELITE website.
[e]Students can use AIST/BMEG/CENG/CSCI/EEEN/ELEG/ENGG/IERG/MAEG/SEEM research postgraduate courses at 5000 level to substitute for ESTR courses at 3000 or 4000 level, subject to the approval of the Stream Director and the Associate Dean (Education) of the Faculty of Engineering.
[f]The requirement of at least 3 units of Engineering courses at 5000 level is a requirement for the ELITE Stream only. It should not be interpreted as a requirement of the Major Programme.