Teaching

My teaching philosophy emphasizes active learning, clarity, and the integration of real-world systems into the classroom. I strive to make computer science both rigorous and engaging, ensuring that students not only master the theory but also gain hands-on skills that prepare them for research, industry, and innovation.

Courses Recently Taught

Teaching Philosophy

I use interactive board work, kinesthetic classroom activities, and debate-style discussions to make abstract concepts tangible. Students are encouraged to collaborate, ask questions, and reflect critically on what they learn. My goal is to help them see computer science as both a science and an engineering discipline.

Mentorship

I supervise senior projects and capstone theses with the same rigor and mentoring approach I apply to doctoral research. Students are guided through both theoretical exploration and practical implementation. Recent projects have included authentication systems, AI-enhanced software design, distributed consensus, and blockchain applications.

Public Outreach

In addition to my university teaching, I give public presentations aimed at making computer science concepts accessible to wider audiences. These talks are designed for non-specialists and emphasize clarity and real-world relevance. Past audiences have included high school students, teachers, local policymakers, business professionals, and the general public.