My undergraduate and postgraduate teaching spans core and advanced areas of computer engineering and computer science, with a primary focus on embedded and digital system design, reconfigurable computing, hardware–software co-design, performance evaluation, microprocessors and interfacing, computer organisation and architecture, and digital logic design. I have also taught a wide range of specialist modules, including cryptography and information security, data structures and algorithms, artificial intelligence, computer networks, and research methods. My teaching is strongly informed by research and industry practice, with extensive experience in project-based learning, laboratory-intensive delivery, and the design of collaborative and cooperative learning environments that support both technical depth and professional skills development.
- Internet of Things (ENG 7003)
- Low Level Hardware Programming (Hardware Design) (ENG 6005)
- Computer Architecture and Operating Systems (CIS 4002)
- Research Methods for Technology Dissertation (CIS 7016)
- Advanced AI for Robotics (ENG 7003)
- Professional & Ethical Issues in Engineering (ENG 7002)
- Parallel Computing (COMP 702)
- Cryptography and Computer Security (COMP 543)
- Performance Evaluation (COMP 438)
- Digital Systems Design (COMP 477/428)
- Computer Architecture (COMP 423)
- Special Topics in Data Security (COMP 707)
- Special Topics in Artificial Intelligence (COMP 703)
- Emerging Topics in Computer Engineering:
Connected and Autonomous Vehicles (COMP 616/477)
- Emerging Topics in Computer Engineering:
Hardware Design with Applications from Cryptography (COMP 477)
- Artificial Intelligence (COMP 462)
- Transmission and Processing of Digital Signal (COMP 453)
- Control Systems for Computer Engineers (COMP 361)
- Data Structures (COMP 232)
- Computer Programming I (COMP 208)
- Electric Circuits II (COME 214)
- Hardware/Software Interface Design (CS 510)
- Computer Networks (CS 320)
- Automata Theory and Formal Languages (CS 311)