I am currently the Associate Dean Teaching and Learning for the Faculty of Science. I began teaching in the School of Computer Science in 1995 and I have taught introductory programming courses for most of my career. I curently offer a graduate course in Computer Science Education, which is my main focus of research. I have supervised more than 80 research students (Honours, Masters and PhD projects), most of which relate to computing education topics. I have received several teaching awards, including National and International awards for sustained excellence in teaching. I have also received 16 grants related to the teaching and learning of Computer Science.
Awards/Recognition
- 2020 Computing Research and Education Association of Australasia (CORE) Teaching Award
- 2019 Ako Aoteoroa National Tertiary Teaching Excellence Award (Sustained excellence in teaching)
- 2018 University of Auckland Teaching Excellence Award (Sustained excellence in teaching)
- 2017 Faculty of Science Dean’s Award for Teaching Excellence (Sustained excellence in teaching)
- 2014 University of Auckland CLeaR Fellowship
- 2003 Nominated for NZ National Teaching Excellence Award
- 2002 University of Auckland Teaching Excellent Award (Sustained excellence in teaching)
- 1996 School of Mathematical and Information Sciences Director’s Award for Teaching Excellence
Current Supervision
Doctoral
- Steffan Hooper (Enrolled 2023)
- Tony Feng (Enrolled 2023)
- Enyu Li (Enrolled 2023)
- James Finnie-Ansley (Enrolled 2021) – Well-structured and Ill-structured programming problems
- Tyne Crow (Enrolled 2017) - Teacher experiences of programming curriculum design and delivery
- Elliot Varoy (Enrolled 2017) - Hidden and enacted curriculum in digital technologies.
Masters
- Stefan Dyer (2024)
- Andre del Carpio Gutierrez (2024) - Deploying Parsons Problems for Novices Through a Large Language Model: ChatGPT
Hons
Completed Supervision
Doctoral
- Therese Devi Indriasari (2023) – Influencing the Timing, Quantity, and Quality of Student Peer Code Review Feedback Using Gamification
- Thomas Suselo (2022) – Mobile Augmented Reality for Learning 3D Transformations in Computer Graphics.
- Md Athar Imtiaz (2019) – Digital ink for improving understanding of data structures and algorithms.
- Sam Kavanagh (2019) - Evaluating the Effect of Virtual Reality Head-mounted Displays on Education.
- Marshima Rosli (2018) – A framework for assessing the quality of datasets.
- Craig Sutherland (2016) - Exploring Ink Annotations in Changing Digital Documents.
- Safurah Abdul Jalil (2015) – Instructional strategies for the visual aesthetics of user interface design: incorporating game-based learning into a modular multi-structural approach.
- Paul Schmeider (2014) - Reducing Screen Occlusions on Small Displays.
Research Masters (MSc, ME)
- Sumia Quazi (2023) - Exploring how a computer science course designed using the UDL framework affects student self-efficacy
- James Finnie-Ansley (2021) – The Effects of Schema-Activating Worked Examples and Practice Problems on Student Performance in CS 1.
- Vai Mor (2019) – A Game Based Learning Approach to Assist Novice Programmers in Understanding Pointers.
- Nazish Khan (2017) – How do high school teachers respond to “computing for social good”.
- Arthur Lewis (2016) – A Comparison of Peer Review Techniques in Computing Education.
Professional Masters (MInfoTech)
- Dominic Yuen (2018) – Prototyping De-Identification Capability
- Fan Cheng (2018) - Information Technology Continuity Plan for Fletcher Building
- James (Jong-Woo) Won (2018) - Frontier Startup Project
- Revanth Mohan (2018) - PayX: International Money Transfer Mobile Application
- XingJian Che (2018) - Hyndsight: Digitise Underground Infrastructure
Hons (BSc Hons/BE Hons)
- Angela Lorusso, Breanna Jury (2023) - Automating the Development of Worked Examples Using Large Language Models. Winner Industry Award for Education Tools.
- Ben Lowthian, Ojas Madaan (2023) - Efficiently developing question banks for student learning using large language models.
- Anton Lui, Gavin Mackintosh (2023) - Support for Automated Evaluation of Programming Style.
- Harrison Bland, Charlie Kake-White (2023) - An AI Supported Integrated Development Environment.
- Ou-An Chuang, Zimo Zou (2023) - Development Of Novice User Technologies: An AI-Assisted Tool for Learning Code Comprehension and Debugging. Industry Award Winner for Human-Computer Interaction.
- Nigel Lai, Alan Zhang (2023) - Automated and Efficient Evaluation of Student Artefacts using Large Language Models
- Casey Wong, James Zhang (2020)– Automated Determination of Bloom’s Taxonomy Levels using Natural Language Processing techniques.
- Sukhans Asrani, Timo van Veenendaal (2020) – Adaptive learning platform that uses evidence-based learning techniques.
- Lucy Jiang, Robert Rewcastle (2019) - Using control-flow-graphs to provide feedback to students on code quality
- Henry Li, Reuben Rakete (2019) - Using Identifiers to Measure Cohesion
- Blair Cox, Franklin Wang (2019) - PlugMeIn: A modular, reusable automated assessment tool for researchers
- Charles Carey, Nathan Kear (2018) - Web App for Competitive Coding Assignments
- Chen Li, Emily Chan (2018) - Game-based learning of general troubleshooting/debugging strategies
- Bradford Miller, Michael Kemp (2018) - Visualisation Tool for Classification of Computer Science Education Research
- Minha Kim, Theodore Oswandi (2018) - A gamified student-response tournament platform
- Andrew Lyall, Nathan Gavin (2018) – Using visualisation to learn refactoring
- Raymond 'Akau'ola, Tevita Tanielu (2018) – Exploring virtual reality for learning OOP concepts
- Oliver Allen, Xavier Downs (2018) – Learning fundamental programming concepts without coding
- Jack Haller (2017) VR for teaching graphics transformations
- Elizabeth Stevenson, Emma McMillan (2017) Developing an online tool to help novice programmers improve debugging skills. Winner Industry Award for Educational Tools.
- Joshua Haller, Xin Yang (2017) Supporting Mastery Learning.
- Kurtis Aberhart, Sophia Ritchie (2017) Educational Android app for young musicians learning music theory. Winner Industry Award for Educational Tools.
- Henry Wu, William Lin (2017) Helping students improve their code style.
- Ammar Bagasrawala, Jun Hao Xu (2017) Visualising software design by visualising dynamic behaviour.
- Yi Wang, Yubin Huang (2016) User interface for Interactive Collaborative Concept Maps.
- Bojun Jin, Siyang Piao (2016) Creating an Aggregated Concept Map.
- Manwoong Choi, Nam Jun Park (2016) Learning analytics application for ACP.
- Suk Won Choi, Jeong Sik Kim (2016) Cross-platform tic-tac-toe with digital ink recognition.
- Alexander Mercer, Patrick Poole (2016) TutorWiz – A Tutor Planning Tool.
- Kyungmo Peter Kang and Anneke Smitheram (2014) – Study Tracker: A Cross Platform Time Management Tool for Students.
- Sam Boychuk, (2012) – Cordis. Visual Programming for Teaching Programming Languages.
- Ceya Rao and Matthew Spencer (2012) -- Programming Automated Interaction with Web-Based Games as a Motivator for Computing Education.
Teaching
I have taught the following courses:Academic Courses
- COMPSCI 101 - Principles of Programming
- COMPSCI 105 - Principles of Computer Science
- COMPSCI 107 - Foundations of Computer Science
- COMPSCI 111 - Introduction to Practical Computing
- COMPSCI 130 - Introduction to Software Fundamentals
- COMPSCI 230 - Software Construction
- COMPSCI 705 - Advanced Human Computer Interaction
- COMPSCI 707 / 747 - Computing Education
- SCISCHOL 202B - Research and Discovery
- SOFTENG 250 - Algorithms and Data Structures
Centre for Academic Development
- Introduction to Latex
- Intermediate Latex (for writing a Thesis)
Centre for Continuing Education
- Introduction to Excel
- Introduction to PowerPoint
- Introduction to Access
- Presentation Skills for Tutors