Open Access

Self-paced online courses available now — no login or registration required.

UML for Software Engineering

Learn to model software systems using UML — from requirements and use case diagrams through class diagrams, sequence diagrams, and critical design analysis.

View Course
Applied Logic

Explore conditional reasoning, formal logic, and informal fallacies — starting from the Wason Selection Task and building to real-world argument analysis.

View Course
Introduction to University Teaching

An evidence-based course for new university teachers covering learner psychology, lesson planning, classroom management, assessment, and reflective practice.

View Course
Error-free Research Writing

Learn how to avoid the five common categories of errors in research writing.

View Course
Reader-friendly Writing

Understand how to write clearly, concisely, courteously and correctly. These five tenets are vital when writing for business or academic purposes.

View Course
Scientific Research Abstracts

Familiarise yourself with the genre conventions of scientific research abstracts — then write your own with clarity, novelty, rigour, and significance.

View Course
iCALL Suite

Ten interactive tools to help you understand and practise key patterns of English grammar — from adjective order to reported speech.

View Course

Courses to be released in 2026

These courses are currently in development.

Linguistics for Natural Language Processing

Learn the core concepts that underpin the development of NLP algorithms to analyze language.

Algorithms for Natural Language Processing

Learn the algorithms that are commonly used in computational linguistics.

Building NLP Applications

Build practical natural language processing applications for educational and forensic purposes.

Visualising Language Features

Create visual representations of linguistic data — from syntax trees and frequency distributions to interactive dashboards for exploring corpus patterns.

Software Engineering through the SDLC Lens

Explore the principles and practice of applying the Software Development Life Cycle — from requirements and design through implementation, testing, and maintenance.