Fundamentals of online learning, bandits, and reinforcement learning with an exposition of both theory and practice. Details are available in this webpage.
The course covers the following topics: Basics of data privacy and anonymization, Measuring anonymity: k-anonymity, l-diversity, m-closeness, A probabilistic framework: differential privacy, Differentially private mechanisms, Privacy-preserving Machine Learning, Deployment of differential privacy, Federated learning, Privacy attacks, Processing data anonymously: homomorphic encryption. Check this link for the course materials.
A lecture series on responsible AI: privacy, robustness, and fairness.
Training for reading, writing, presenting, and reviewing paper for developing an ethical research career.
This course gives an introduction to decision theory and reinforcement learning, focusing on theory and algorithms. reinforcement learning problems. Each module lasts for about a week, and includes a short lecture of basic concepts, an overview of proofs and some hands-on work. Assessment is through assignments and a mini project.
The course addresses supervision of doctoral students’ research and the study and learning process. It also highlights the close link between supervision and education in the skills of teaching and learning. The course clarifies how a supervisor may meet a PhD student as an individual by taking an inclusive approach and, with that student, build a relationship based on mutual understanding of postgraduate education in general and the student’s research project in particular. The course provides plenty of opportunity for discussion and reflection on how to start up and follow the doctoral supervision process in different phases.
This course uses a non-essentialist, experience-driven approach which is discourse-based, theory-referenced and interaction-orientated. This means that, before a session, participants will be expected to read relevant literature and complete tasks to facilitate discussion. Participants’ own experience in these discussions is seen as crucial in building up an understanding of this area. The focus will be on diversity in terms of culture, gender and special needs. Discussions will focus on key issues in these areas and models for interpreting them, so as to produce as inclusive an education as possible.
The course focuses on the recent worldwide paradigm shift in higher education from teaching to learning. Today’s university lecturers are expected to be more of a “guide on the side” than a “sage on the stage”, more of a facilitator of learning than a presenter of information. Three fundamental questions therefore form the backbone of the course:
- What do we want our students to learn, and how can we make the goals clear to our them?
- How do we arrange teaching so that our students have the greatest chance of learning?
- How can we find out whether they have learnt what we wanted them to learn?
An important idea tied to these questions is constructive alignment, which means that different aspects of a teaching and learning situation should be brought together in a mutually reinforcing way that supports student learning.
This is a reading group consituted by researchers in CausalXRL project for studying connections between causality and reinforcement learning.
This is an informal reading group made by a few graduate students of School of Computing. The study began from simple curiosity to know the grammar behind probability theory that we often use in machine learning and artificial inteligence literature. Though we have started with the puritarian classic of Halmos but we have moved to the simple and practical introduction by Tao in search of a link between reality and measure theory.
References:
Measure theory. Halmos, Paul R. Vol. 18. Springer, 2013.
An introduction to measure theory. Tao, Terence, ed. Vol. 126. American Mathematical Soc., 2011.
This module is aimed at graduate students who are doing or intend to do advanced research in algorithms design and analysis in all areas of computer science. The module covers advanced material on combinatorial algorithms, with emphasis on efficient algorithms, and explores their use in a variety of application areas. Topics covered include, but are not restricted to, linear programming, graph matching and network congestion, approximation algorithms, randomized algorithms, online algorithms, and learning algorithms. It is a seminar-based module that will expose students to the state-of-the-art and also the current research in these areas.
This module introduces different techniques of designing and analysing algorithms. Students will learn about the framework for algorithm analysis, for example, lower bound arguments, average case analysis, and the theory of NP-completeness. In addition, students are exposed to various algorithm design paradigms. The module serves two purposes: to improve the students' ability to design algorithms in different areas, and to prepare students for the study of more advanced algorithms. The module covers lower and upper bounds, recurrences, basic algorithm paradigms (such as prune-and-search, dynamic programming, branch-and-bound, graph traversal, and randomised approaches), amortized analysis, NP-completeness, and some selected advanced topics.
This module introduces the fundamental concepts of problem solving by computing and programming using an imperative programming language. It is the first and foremost introductory course to computing and the first part of a three-part series on programming and problem solving by computing, which includes CS1020 and CS2010. Topics include problem solving by computing, writing pseudo-codes, problem formulation and problem solving, program development, coding, testing and debugging, fundamental programming constructs (variables, types, expressions, assignments, functions, control structures, etc.), fundamental data structures: arrays, strings and structures, simple file processing, and basic recursion.
This module introduces mathematical tools required in the study of computer science. Topics covered in this course include:
1) Logic and proof techniques: propositions, conditionals, quantifications;
2) Relations and Functions: Equivalence relations and partitions, partially ordered sets, well-ordering principle, function equality, Boolean/identity/inverse functions, Bijection;
3) Mathematical formulationo of data models (linear model, trees, graphs);
4) Counting and Combinatoric: Pigeonhole Principle, Inclusion-Exclusion Principle, Number of relations on a set, number of injections from one finit set to another, Diagonalisation proof: An infinite countable set has an uncountable power set; Algorithmic proof: An infinite set has a countably infinite subset, subsets of countable sets are countable.
This module introduces different techniques of designing and analysing algorithms. Students will learn about the framework for algorithm analysis, for example, lower bound arguments, average case analysis, and the theory of NP-completeness. In addition, students are exposed to various algorithm design paradigms. The module serves two purposes: to improve the students' ability to design algorithms in different areas, and to prepare students for the study of more advanced algorithms. The module covers lower and upper bounds, recurrences, basic algorithm paradigms (such as prune-and-search, dynamic programming, branch-and-bound, graph traversal, and randomised approaches), amortized analysis, NP-completeness, and some selected advanced topics.
This module is the second part of a three-part series on introductory programming and problem solving by computing. It continues the introduction that begins in CS1010, and emphasises objectoriented programming with application to simple data structures. Topics include object-oriented problem modeling with objects, classes and methods, object-oriented problem formulation and solving, data structure implementation strageties, abstraction and encapsulation of data structures, object-oriented programming constructs, APIs and class libraries, exception handling, lists, linked lists, stacks, queues, hash tables and their algorithmic design, sorting and searching methods, recursive algorithms, and Big-O notation. This module is appropriate for Faculty of Engineering students too.
The aim of this course is to provide an introduction to the probability and statistical methods used by financial institutions and supply chain managers to model market, credit and operational risk. Topics addressed include loss distributions, multivariate models, dependence and copulas, extreme value theory, risk measures, risk aggregation, risk allocation and supply chain risk management.