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.