Teaching Statement

Good teaching does more than give information. It helps students find, practise, and grow their own abilities.

Adapted from John Couch
1

How I teach

I want students to learn software engineering by doing, not only by listening.

Students learn best when they can try ideas, build something, test it, get feedback, and improve it step by step.

I also help students practise skills they will need outside the classroom, such as teamwork, problem solving, communication, and adapting when things change.

Idea Build Test Improve
2

What I have taught

I have taught and supervised undergraduate and postgraduate students at The University of Melbourne and Deakin University.

My teaching has included Software Development, Requirements Engineering, Software Engineering Methodologies, and DevOps & Continuous Integration.

I have taught tutorials, supervised capstone projects, helped with curriculum design, and supported large student groups through workshops.

3

How I support students

I use real project examples so students can see how software engineering works in practice.

For example, I explain agile backlog management by showing how a large project goal becomes smaller tasks that a team can actually complete.

I also use student feedback, Slack support, and post-milestone surveys to understand where students need help. My goal is to make learning clearer, more inclusive, and more connected to real-world software work.

Teaching Statement

When teachers shift their work from being primarily dispensers of information to becoming facilitators of learning, they help students identify and develop their own talents.
— John Couch

My teaching philosophy is grounded in student-centered learning, project-based pedagogy, and a constructivist approach that empowers students to actively engage with software engineering concepts through exploration, experimentation, and iterative development. I believe that effective teaching in software engineering must not only impart technical knowledge but also cultivate critical thinking, adaptability, and collaboration — skills essential for success in both academia and industry.

Over the past three years, I have taught and supervised students at The University of Melbourne and Deakin University, across both undergraduate and postgraduate levels. My teaching portfolio includes core subjects such as:

  • Software Development
  • Requirements Engineering
  • Software Engineering Methodologies
  • DevOps & Continuous Integration

I have delivered tutorials, supervised capstone projects, contributed to curriculum development, and facilitated workshops for large student cohorts. These experiences have honed my ability to adapt to diverse learning environments and student needs.

I integrate real-world examples and interactive learning into my teaching to bridge theory and practice. For instance, I use case studies from my own development projects to clarify complex concepts like agile backlog management, helping students understand how high-level planning translates into actionable development tasks. I also encourage students to adopt an incremental learning approach, especially when navigating unfamiliar tools and frameworks, fostering resilience and confidence in their problem-solving abilities.

My commitment to reflective teaching and continuous improvement is evident in my use of student feedback, Slack channels for ongoing support, and post-milestone surveys to identify learning challenges. These strategies allow me to tailor my instruction in real time, ensuring that students receive the guidance they need to succeed.

I am particularly passionate about integrating AI-driven and digital health technologies into software engineering education. My research on adaptive user interfaces (AUIs) and the application of large language models (LLMs) to enhance usability in mHealth systems informs my teaching, allowing me to bring cutting-edge insights into the classroom. This ensures that students are not only learning foundational principles but also engaging with emerging technologies that are shaping the future of software engineering.

Looking ahead, I aim to further develop interdisciplinary teaching modules that combine software engineering with human-centric computing and digital health. I am committed to fostering inclusive, innovative, and research-informed learning environments that prepare students to tackle real-world challenges with creativity and confidence.