Principles of Artificial Intelligence (3 credits)

In this course, students will get a basic introduction to the building blocks and components of artificial intelligence, learning about concepts like algorithms, machine learning, and neural networks. Students will also explore how AI is already being used, and evaluate problem areas of AI, such as bias. The course also contains a balanced look at AI’s impact on existing jobs, as well as its potential to create new and exciting career fields in the future. Students will leave the course with a solid understanding of what AI is, how it works, areas of caution, and what they can do with the technology.

Real Time and Embedded Systems (3 credits)

This course is aimed to provide students with the theory and fundamental concepts of real time and embedded systems, modelling and verification techniques from cyber-physical system (CPS) perspective. The foundation of this course allows students to implement and develop embedded software to control physical computing systems in real-time using C and C++ programming languages.

Interaction Design (3 credits)

This course presents the physical and informational aspects of the interaction design (IxD). It emphasises on the process of interface design and development including user-centered design and task analysis. It also emphasises on user interface prototyping and evaluation as well as experimentation through group project work.


Algorithm Complexity Analysis (3 credits)

This course is related to the study of computational complexity of algorithms and data structures in computer science. Topics covered include the roles of algorithms in computing, functions’ growth, divide-and-conquer, probabilistic analysis and randomised algorithms, sorting algorithms, advanced data structures, dynamic programming, greedy algorithms, amortized analysis, graph algorithms, linear programming, approximation algorithms, primal-dual algorithms, semi-definite programming and streaming algorithms.