Courses
Online learning materials
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 CourseApplied Logic
Explore conditional reasoning, formal logic, and informal fallacies — starting from the Wason Selection Task and building to real-world argument analysis.
View CourseIntroduction to University Teaching
An evidence-based course for new university teachers covering learner psychology, lesson planning, classroom management, assessment, and reflective practice.
View CourseError-free Research Writing
Learn how to avoid the five common categories of errors in research writing.
View CourseReader-friendly Writing
Understand how to write clearly, concisely, courteously and correctly. These five tenets are vital when writing for business or academic purposes.
View CourseScientific Research Abstracts
Familiarise yourself with the genre conventions of scientific research abstracts — then write your own with clarity, novelty, rigour, and significance.
View CourseiCALL Suite
Ten interactive tools to help you understand and practise key patterns of English grammar — from adjective order to reported speech.
View CourseCourses 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.