Undergraduate Course List

Course CodeCourse TitleUnit(s)
AIST1000Introduction to Artificial Intelligence and Machine Learning1
AIST1110Introduction to Computing using Python3
AIST2010Introduction to Computer Music: From Analysis to Algorithmic Music3
AIST2601Technology, Society and Engineering Practice2
AIST2602Engineering Practicum1
AIST3010Numerical Optimization2
AIST3020Introduction to Computer Systems3
AIST3510 / SEEM3510Human-computer Interaction3
AIST4010 / ESTR4140Foundation of Applied Deep Learning3
AIST4998 / ESTR4998Final Year Project I3
AIST4999 / ESTR4999Final Year Project II3
CENG2010Digital Logic Design Laboratory1
CENG2030Fundamentals of Embedded Systems3
CENG2400 / ESTR2100Embedded System Design3
CENG3410Smart Hardware Design3
CENG3420Computer Organization and Design3
CENG3430 / ESTR3100Rapid Prototyping of Digital Systems3
CENG4100Smartphones: Hardware Platform and Application Development3
CENG4120Computer-aided Design for Very Large Scale Integrated Circuits3
CENG4480Embedded System Development and Applications3
CENG4998 / ESTR4998Final Year Project I3
CENG4999 / ESTR4999Final Year Project II3
CSCI1020Hands-on Introduction to C++1
CSCI1030Hands-on Introduction to Java1
CSCI1040Hands-on Introduction to Python1
CSCI1110 Introduction to Computing Using C3
CSCI1120 / ESTR1100Introduction to Computing Using C++3
CSCI1130 / ESTR1102Introduction to Computing Using Java3
CSCI1140Programming Laboratory1
CSCI1510Computer Principles and C Programming3
CSCI1520Computer Principles and C++ Programming3
CSCI1530Computer Principles and Java Programming3
CSCI1540Fundamental Computing With C++3
CSCI1580Visual Programming3
CSCI2040Introduction to Python 2
CSCI2100 / ESTR2102 Data Structures3
CSCI2120 Introduction to Software Engineering2
CSCI2510Computer Organization3
CSCI2520Data Structures and Applications3
CSCI2720 / ESTR2106Building Web Applications3
CSCI3100Software Engineering3
CSCI3120 Compiler Construction3
CSCI3130Formal Languages and Automata Theory3
CSCI3150 / ESTR3102Introduction to Operating Systems3
CSCI3160 / ESTR3104 Design and Analysis of Algorithms3
CSCI3170Introduction to Database Systems3
CSCI3180 / ESTR3106 Principles of Programming Languages3
CSCI3190Introduction to Discrete Mathematics and Algorithms3
CSCI3220/ ESTR3110Algorithms for Bioinformatics3
CSCI3230 / ESTR3108Fundamentals of Artificial Intelligence 3
CSCI3250Computers and Society2
CSCI3251Engineering Practicum1
CSCI3260Principles of Computer Graphics3
CSCI3270Advanced Programming Laboratory2
CSCI3280Introduction to Multimedia Systems3
CSCI3290Computational Imaging and Vision3
CSCI3310Mobile Computing and Applications Development3
CSCI3320Fundamentals of Machine Learning3
CSCI4120Principles of Computer Game Software3
CSCI4130 / IERG4130Introduction to Cyber Security3
CSCI4140Open-Source Software Project Development3
CSCI4160 / ESTR4104Distributed and Parallel Computing3
CSCI4180 / ESTR4106Introduction to Cloud Computing and Storage3
CSCI4190Introduction to Social Networks3
CSCI4230Computational Learning Theory3
CSCI4250 / ESTR4122Online Algorithms for Machine Learning and Optimization* (new course in 2021-22)3
CSCI4430 / ESTR4120Data Communication and Computer Networks3
CSCI4998 / ESTR4998Final Year Project I3
CSCI4999 / ESTR4999Final Year Project II3
ENGG1110 / ESTR1002Problem Solving By Programming3
ENGG1120 / ESTR1005Linear Algebra for Engineers3
ENGG1130 / ESTR1006Multivariable Calculus for Engineers3
ENGG1310 / ESTR1003Engineering Physics: Electromagnetics, Optics and Modern Physics3
ENGG1820Engineering Internship1
ENGG2020 / ESTR2104Digital Logic and Systems3
ENGG2440 / ESTR2004Discrete Mathematics for Engineers3
ENGG2720 / ESTR2014Complex Variables for Engineers2
ENGG2740 / ESTR2016Differential Equations for Engineers2
ENGG2760 / ESTR2018Probability for Engineers2
ENGG2780 / ESTR2020Statistics for Engineers2
ENGG3802Introduction to Engineering Entrepreneurship (offered by IE Dept)1
ENGG3803Engineering Entrepreneurship Development Project (offered by IE Dept)2