My teaching philosophy centers on the belief that students learn most effectively when they experience clarity, structure, relevance, and personalized support. As an instructor and researcher in software engineering education, I design learning environments that help students build conceptual understanding, practice professional skills, and gain confidence as emerging software engineers.
I emphasize strong conceptual foundations before introducing tools. In introductory programming courses I scaffold learning through concrete examples, guided practice, and formative assessments that help students identify misconceptions early. I pair this with project-based learning that connects fundamental computing principles to authentic software engineering tasks. Across the courses I have taught (including assembly language, object-oriented programming, management information systems, and applied mathematics) I use structured progression, frequent feedback, and active learning to keep students engaged and supported.
My instructional approach is shaped by research on adaptive supplementary materials and adaptive learning platforms. I treat diversity in preparation and learning preferences as an opportunity to build more inclusive learning environments. I use low-stakes assessments, data-informed feedback, and multiple representations of key concepts to reach students with varied learning profiles. I adjust instruction based on class performance patterns, student feedback, and systematic analysis of learning artifacts.
Students should develop both technical mastery and responsible judgment when using generative AI tools. I integrate AI-literate practices that demonstrate when and how AI can support debugging, design, and testing, while reinforcing individual problem-solving skills to avoid overreliance. I teach students to evaluate AI-generated code for correctness, bias, and security risks, and to apply ethical reasoning in development workflows.
Prepared to teach a range of courses from introductory to advanced, including:
I prioritize mentoring students to develop technical competence, professional identity, and long-term academic confidence. I have supervised undergraduate and graduate projects and supported capstone teams focused on real-world software engineering challenges. I aim to foster opportunities for student research, industry collaboration, and experiential learning.
I am committed to creating rigorous, inclusive, and forward-looking learning experiences in computing education. By combining evidence-based teaching practices, adaptive supplementary resources, and careful integration of AI-literate skills, I prepare students to succeed as thoughtful and capable software engineers.