Teaching

Artificial Intelligence and Machine Learning Research/Industry Project (2024)

This is a project course giving students the chance to conduct research in a real world artificial intelligence and machine learning problem domain. As part of the project students will present their work to an audience and write a major report detailing their results. The project is conducted individually under the guidance of an academic supervisor and may also involve an industrial partner. Project topics vary from year to year depending on staff and industry supervisor availability. It will be better if students have some working experience or are currently employed by companies.

Introduction Statistical Machine Learning (2022, 2023)

Statistical Machine Learning is concerned with algorithms that automatically improve their performance through 'learning'. For example, computer programs that learn to detect humans in images/video; predict stock markets, and rank web pages. Statistical machine learning has emerged mainly from computer science and artificial intelligence, and has connections to a variety of related subjects including statistics, applied mathematics and pattern analysis. Applications include image and audio signal analysis, data mining, bioinformatics and exploratory data analysis in natural science and engineering. This is an introductory course on statistical machine learning which presents an overview of many fundamental concepts, popular techniques, and algorithms in statistical machine learning. It covers basic topics such as dimensionality reduction, linear classification and regression as well as more recent topics such as ensemble learning/boosting, support vector machines, kernel methods and manifold learning. This course will provide the students the basic ideas and intuition behind modern statistical machine learning methods. After studying this course, students will understand how, why, and when machine learning works on practical problems.

Foundations of Computer Science (2021)

This course will develop your coding and problem-solving skills with a focus on data and data science. You will learn fundamental programming concepts such as data, selection, iteration, functional decomposition, data organisation as well as how to apply these programming fundamental knowledge to practical problems. You will build fundamental software development skills including the use of the Python programming language and tools, debugging, object-oriented design, basic data structures, and fundamentals of good programming practice, style and design.

I have been also involved in Mining Big Data, Introduction to Scientific Computing, Distributed Systems and Data Mining amongst others.Â