Teaching

Machine Learning

Undergraduate course, Curtin University, Department of Computing, 2024

This unit introduces the foundational concepts, algorithms, and applications of Machine Learning (ML). Students will gain hands-on experience with diverse data types including tabular, image, text, and time series, and will learn to develop ML models such as linear models, SVM, decision trees, and neural networks. Covering a broad spectrum of topics within supervised and unsupervised learning, self-supervised learning, and deep learning, the unit also focuses on practical applications in computer vision and natural language processing, equipping students with the skills to implement ML solutions and solve real-world problems effectively. More infomation here.

Explainable Approaches to Machine Learning

Postgraduate course, Curtin University, Department of Computing, 2022

The unit will focus on special machine learning approaches, named explainable artificial intelligence or XAI, that generate solutions that can be trusted and are easy to understand and particularly well suited to fields such as medicine, finance, security, legal, military, and where human-machine interaction is needed. It will provide students with XAI fundamentals such as interpretability, explainability, and visualisation as well as legal and ethical issues surrounding XAI. The unit will also cover different classes of techniques from model-agnostic, example-based, to neural network interpretation. Finally, common XAI applications and current trends in XAI will also be discussed. More infomation here.

Foundation of Computer Science

Undergraduate course, Curtin University, Department of Computing, 2020

This unit introduces the mathematical theory that underlies the computing profession. It introduces proof and logic concepts central to computer science and programming methodology, including an introduction to set theory and mathematical relations, graph theory. Computational and mathematical recursion is also addressed, along with the paired concept of induction proofs. Finally, the analysis of software using discrete statistics is also addressed, including univariate statistics and confidence intervals. More infomation here.

Foundamental Concepts of Cryptography

Undergraduate course, Curtin University, Department of Computing, 2020

An introduction to basic concept of cryptography with an emphasis on coding theory, classical cryptosystems and public key cryptography. Principles of information theoretic security. Computational hardness and number theory (Euclid’s algorithm, Euler and Fermat’s theorems). Public and private-key encryption, message authentication and digital signatures. More information here.