Teaching Philosophy

I believe that effective teaching in computer science requires a balance between theoretical foundations and practical applications. My approach emphasizes:

  • Hands-on Learning: Students learn best by implementing concepts themselves
  • Real-World Relevance: Connecting abstract theory to practical security problems
  • Interactive Engagement: Encouraging questions and collaborative problem-solving
  • Accessibility: Making complex topics approachable for students at all levels
Courses

CSC 201 - Advanced Cryptography

Graduate-level course on modern cryptographic protocols and systems

Read more

CSC 150 - Computer Networks

Upper-division undergraduate course on computer networking principles and protocols

Read more

CSC 101 - Introduction to Computer Security

Introductory undergraduate course on computer security principles

Read more