Special Topics in Computing is our place for small, research-led courses taught by ANU experts and visiting scholars. Taking a special topic is a great way to extend your knowledge and start your journey in a research field or community of practice.
These courses cater for later-year undergraduate and postgraduate students looking for further depth in their computing education. Some courses are one-off experiences while others may be coursework under development for our regular curriculum. In any special topics course, you will have the opportunity to work together in a focussed environment with like-minded students and interact with ANU researchers and visitors on highly engaging subject matter.
The curriculum and learning outcomes for each special topic is different, and different topics are offered each semester, see the websites below for information on each course available in the coming semester.
Our special topics courses are offered under the following course codes: COMP3710, COMP4011, COMP4045, COMP4680 (undergraduate) and COMP6470, COMP8011, COMP8045, COMP8650 (postgraduate). See the entries in Programs and Courses for precise course information.
Semester 2, 2024 Courses
- COMP4011/COMP8011 Advanced Topics in Formal Methods and Programming Languages: Software Verification with Isabelle/HOL
- COMP4620/COMP8620 Advanced Topics in Artificial Intelligence: AI for the Physical World
Semester 1, 2025 Courses
- COMP4011/COMP8011 Advanced Topics in Formal Methods and Programming Languages: Concurrent Software Verification. Concurrent programs are notoriously difficult to verify, but simple errors can lead to unexpected consequences. It is therefore essential to use formal techniques to specify and reason about concurrency. This course will cover several well-known approaches for concurrency specification and verification. The approaches covered will be: the Vienna Development Method (VDM) - a well-established method for specification; rely/guarantee reasoning - a compositional approach for reasoning about concurrency; Concurrent Separation Logic (CSL) - a popular method for handling concurrent programs; RGSep - a combination of CSL and rely/guarantee, and several other state-of-the-art approaches.
Semester 2, 2025 Courses
- COMP4011/COMP8011 Advanced Topics in Formal Methods and Programming Languages
- COMP4045/COMP8045 Advanced Topics in Computer Systems
-
COMP4680/COMP8650 Advanced Topics in Machine Learning
-
COMP4680/8650 Advanced Topics in Machine Learning: Convex Optimisation, Deep Learning and Differentiable Optimisation. Optimisation is at the heart of machine learning. In this course series, we will formally introduce the notion of an optimisation problem, or mathematical program, and review classic ideas from convex analysis. We will present algorithms for solving optimisation problems and conditions that hold at the optimum (which provides a certificate of optimality), and cover several applications in machine learning. Last, we will show how deep learning can not only be viewed as a large-scale optimisation problem but can include smaller optimisation problems embedded within it, forming so-called bi-level and multi-level optimisation problems.
- COMP4045/8045 Advanced Topics in Computer Systems: Parallel Computer Architecture. This course discusses advanced topics in computer architecture. It goes beyond the introduction of instruction-level parallelism and its exploitation in COMP2300. The ultimate goal is to introduce students to current research issues in parallel computer architecture. We will discuss in technical depth topics such as multicore architectures, cache coherence, memory consistency, prefetching, synchronization, hyperthreading, transactional memory, processing in memory, persistent memory, thread-level speculation, and reliability. We will discuss research papers, and students will write rigorous paper reviews. Students will work on a research project, and there will be a final presentation. Students taking this course must have done well in COMP2300 and COMP2310. Students will build a data-intensive parallel application and analyze its performance at the microarchitectural level using a hardware simulator written in C++. It is expected that students can work independently on labs and projects.
Enrolment
Enrolment for special topics courses is by permission code. The website for each topic will list pre-requisites, you must apply for the permission code following the process outlined on the CECC website here: [Enrolling in CECC courses | ANU College of Engineering, Computing & Cybernetics](https://cecc.anu.edu.au/students/continuing/enrolling/). Questions about pre-requisites should be sent to CECC Student Services. |