Programming
Introductory programming materials with lecture notes, exercises, and resource patterns.
Beginning programming students
Open courseTeaching
This section lists current and archived courses with public notes, lecture structures, and resource patterns.
Introductory programming materials with lecture notes, exercises, and resource patterns.
Beginning programming students
Open courseA course space for relational modelling, SQL, transactions, and data management notes.
Undergraduate CS students
Open courseA public outline for foundational AI topics, practical examples, and reading notes.
Students entering AI and applied computing
Open courseMy teaching philosophy centres on the development of students’ genuine capabilities, with knowledge-led and project-led learning working in parallel. Theory should establish sound concepts, methods, reasoning and academic rigour, while project work should engage students in authentic problems, system implementation, engineering judgement, teamwork and professional responsibility. Educational innovation should be evidence-informed, introduced through carefully scoped pilots and refined continuously, while maintaining clear alignment between international standards, local needs and application-oriented graduate development.