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 AIST3010 / ESTR3112Numerical Optimization2 AIST3020Introduction to Computer Systems3 AIST3030 / ESTR3114Numerical Optimization3 AIST3110Music Information Retrieval3 AIST3120Introduction to Natural Language Processing3 AIST3510 / SEEM3510Human-computer Interaction3 AIST4010 / ESTR4140Foundation of Applied Deep Learning3 AIST4998 / ESTR4998Final Year Project I3 AIST4999 / ESTR4999Final Year Project II3 CDAS4998Final Year Project I3 CDAS4999Final 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 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 CSCI1120 / ESTR1100Introduction to Computing Using C++3 CSCI1130 / ESTR1102Introduction to Computing Using Java3 CSCI1510Computer Principles and C Programming3 CSCI1520Computer Principles and C++ Programming3 CSCI1530Computer Principles and Java Programming3 CSCI1540Fundamental Computing With C++3 CSCI1550Computer Principles and Python Programming3 CSCI1580Visual Programming3 CSCI2040Introduction to Python 2 CSCI2100 / ESTR2102 Data Structures3 CSCI2510Computer Organization3 CSCI2520Data Structures and Applications3 CSCI2720 / ESTR2106Building Web Applications3 CSCI2730Introduction to Blockchain Technologies and Applications3 CSCI2740Competitive Programming3 CSCI2750Data Mining and Information Processing3 CSCI3100Software Engineering3 CSCI3120Compiler 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 CSCI3330Fundamentals of Applied Computer Vision3 CSCI3340Scientific Computing3 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 Optimization3 CSCI4430 / ESTR4120Data Communication and Computer Networks3 CSCI4998 / ESTR4998Final Year Project I3 CSCI4999 / ESTR4999Final Year Project II3 ENGG1003Digital Literacy and Computational Thinking—P3 ENGG1004Digital Literacy and Computational Thinking—R3 ENGG1110 / ESTR1002Problem Solving By Programming (offered by the Faculty)3 ENGG1120 / ESTR1005Linear Algebra for Engineers (offered by the Faculty)3 ENGG1130 / ESTR1006Multivariable Calculus for Engineers (offered by the Faculty)3 ENGG1310 / ESTR1003Engineering Physics: Electromagnetics, Optics and Modern Physics (offered by the Faculty)3 ENGG1820Engineering Internship1 ENGG2020 / ESTR2104Digital Logic and Systems3 ENGG2440 / ESTR2004Discrete Mathematics for Engineers (offered by the Faculty)3 ENGG2720 / ESTR2014Complex Variables for Engineers (offered by the Faculty)2 ENGG2740 / ESTR2016Differential Equations for Engineers (offered by the Faculty)2 ENGG2760 / ESTR2018Probability for Engineers (offered by the Faculty)2 ENGG2780 / ESTR2020Statistics for Engineers (offered by the Faculty)2 ENGG3802Introduction to Engineering Entrepreneurship (offered by other Engineering Dept)1 ENGG3803Engineering Entrepreneurship Development Project (offered by other Engineering Dept)2