Teaching Philosophy

My teaching philosophy focuses on creating an immersive learning environment that helps students increase their content understanding and retention. 


To achieve this achieve I use the following techniques: (1) I aim to create a classroom environment that encourages student engagement. (2) I integrate my lectures with meaningful, real-world examples connected to the learning concepts. (3) I use active learning methods to enhance in-class collaboration and sharing among students. (4) I motivate and provide a platform for self-learning outside the classroom environment. (5) I keep a friendly and approachable attitude and welcome feedback from students.

With computer science being a rapidly evolving field, I realize that an important characteristic of effective college teaching is being open to including new methods. To do so, I plan to continually make use of computer science education research into my teaching philosophy.

Graduate Teaching Experience

Fall 2019

ENGR 294: Special Topics: Early Research Scholars Program

Teaching Assistant

The course provides an introduction to research for college freshman and sophomores in STEM majors. Students are familiarized with standard research methods and then closely work with faculty on research projects of their interest. This course is part of the larger ERSP program at UC San Diego.

Summer 2019

CS 211: Programming Practicum

Course Instructor

An introductory-level course which focuses on software development tools and practices; debugging and testing; advanced language features; standard libraries; and code management.

Spring 2019

CS 494: Network Security

Teaching Assistant

This course provides an introduction to basic security principles, an overview of cryptographic foundations, followed by a discussion of network security applications.

Spring 2019

CS 341: Programming Languages Design and Implementation

Teaching Assistant

This course focuses on programming language designs and paradigms. Students learn the theory of syntax and semantics, parsing, data types, subroutines and exceptions, and data and procedural abstraction. The course also covers functional programming. 

Spring 2018

CS 450: Computer Networks

Teaching Assistant

This course provides a comprehensive understanding of the elements that work together to form the Internet. Students acquire familiarity with standard diagnostic tools, network application development, and typical network designs and configurations.

Sample Teaching Materials

These samples were prepared as a part of the foundations of college teaching course I was enrolled in.

Sample Lecture Videos