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
- Introduction to Programming - A foundations course covering programming logic, problem solving, and structured coding for beginners.
- Operating Systems - An in-depth course on processes, memory management, concurrency, and file systems, with lab-based projects.
- Computer Architecture - Covers instruction sets, pipelines, caches, and performance, integrating theory with practical exercises.
- Distributed Systems - Explores consensus, fault tolerance, scalability, and emerging paradigms, bridging theory and implementation.
- Data Structures and Algorithms - Focuses on algorithmic thinking, complexity, and practical coding assignments.
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.
- The Illusion of Intelligence: Teaching and Learning with Overconfident AI Agents [slides] - Invited talk at the Asia-Pacific Artificial Intelligence in Education Conference.
- Quantum Computing Here and There: Distributing the Power of Qubits [slides] - Webinar talk on Quantum Computing
- Introduction to Programming for Absolute Beginners [slides] - Invited talk to high school teachers and local politicians at the China Welfare Institute.
- Introduction to Distributed Systems [slides] - talk series at high schools in Shanghai and other Chinese provinces.
- Introduction to Blockchains [slides] - Webinar talk on NFTs.
- Teaching vs Generative AI [slides] - Invited talk at the American Chamber of Commerce in Shanghai (AmCham).