Teaching Statement

I am fond of an anecdote related by Maya Angelou about one of her teachers, Ms. Kirwin: “…her love of teaching came … from her desire to make sure that some of the things she knew would find repositories so that they could be shared again”. That is, the very act of teaching is itself a journey in the past, present, and future. Teachers are often inspired by their personal history of their own past teachers as well as the challenges faced in life. On top of imparting knowledge, teachers also encourage their students, support their passions, provide a safe space for asking questions, and inspire exploration. I am fortunate to have many great teachers who have pushed me without pressure, supported me without judgment, and taught me without reservation.

In my view, teaching and research are highly synergistic: teaching rests on the proverbial shoulders of giants, and research in any area requires a depth of knowledge that can only be imparted by focused and experiential learning. My goal as a researcher is to advance state-of-the-art research in my field of interest by working collaboratively with my peers and by reaching out to interdisciplinary colleagues to improve the quality and diversity of ideas. My goal as a teacher both supports and extends my goals as a researcher: to impart my knowledge while encouraging students to work with their peers, accept diverse viewpoints, integrate accessibility into their own projects, and explore topics of interest critically.

Teaching Experience

I have been a teaching assistant during my undergraduate at California State University, Fresno, for Microelectronics, Circuits Design, and Control Systems. I managed student projects and grading, and I held weekly lectures and review sessions to cover the prior week’s concepts. At Georgia Tech, I have been a teaching assistant for Big Data Analytics, Real-Time Embedded Systems (RTES), and Introduction to Enterprise Computing (IEC). In addition to grading, I have managed student projects and informal supplementary teaching. For RTES and IEC, I have taught students theoretical and practical machine learning to ensure they understood modern technologies at more than a superficial level. Over 5 semesters, I have managed course projects in RTES and IEC for approximately 40 student teams (usually 2 students each) for developing, managing, testing, and adapting real-time adaptive ML pipelines.

I have also mentored several BS and MS students to explore their own avenues of research for their theses. Many of my students come to me for guidance after completing RTES or IEC to extend their course projects for their thesis submission. To date, I have advised 6 BS students and 3 MS students; the MS students have worked on the following projects:

My students respond positively to my interactions, attention, and guidance, and they consider my examples to be relevant and complementary to course lectures. I have been invited for guest lectures for other classes on topics of specialty in Databases, Big Data Analytics, RTES, and IEC, where I have given lectures on text classification, ML pipeline management, and video analytics.

Pedagogy

My central teaching philosophy is to foster in students the passion to learn as well as learning to learn. The latter is particular to computer science since it is a rapidly changing field and self-teaching is almost a requirement to keep abreast of recent findings. As such, for course and thesis students who wish to include some aspects of ML or analytics in their projects, it has been my job to impart basic knowledge of deep learning to help students in achieving learning outcomes.

My approach to fostering the passion to learn is multi-pronged: I record lectures so students can attend in-person, remotely, or asynchronously to give students multiple learning options. My rubrics are flexible and allow for adjustments in project directions and goals, so that students recognize projects can change due to narrowing scope, changing interests, or unexpected difficulties. I am also cognizant of demographic underrepresentation in course participation and in computer science in general, and I try to improve contributions of historically underrepresented minorities in discussions and presentations. This is a delicate process since students respond to a variety of incentives. It is a point of pride that the demographics of my students, through no selection pressure from me, achieve equitable representation for underrepresented minorities.

I address learning to learn by carefully integrating lectures with flexible examples and encouraging students to tread unfamiliar waters with a safety net of flexible rubrics and one-on-one advising. My project students in RTES or IEC often work on real-world problems that require bespoke data programming and pipeline management. To improve learning accessibility, I incrementally scale up the complexity of lecture examples. For example, once I have covered the theoretical aspects of a problem, I provide a “Hello World” type toy solution. Students are encouraged to experiment with any hyperparameters and write about their impact in the toy solution. Then, I can scale up towards more complex, interconnected systems. At each step, I provide broken or partial examples that students are encouraged to fix using their knowledge. More advanced students are encouraged to dive into the underlying low-level blocks of examples. This provides interested students the opportunity to explore implementation details and if they wish, directly contribute to research projects.

My teaching style also integrates and emphasizes reproducibility, as it is an emerging necessity for both research and industry. Students have the option to use off-the-shelf tools or EdnaML, a framework I initially built for myself to maintain reproducible research experiments in our lab and implement boilerplate machine learning pipelines. Most students opt for EdnaML after a demonstration, and it has become a core part of my pedagogy in teaching students machine learning, pipeline design, reproducibility, and real-time systems.

Teaching Plans

I am interested in graduate, undergraduate, and hybrid teaching. I would be excited to teach database systems, database implementation, data analytics, data programming, deep learning, real-time systems, and orchestration systems for the cloud. I can also teach introductory courses in programming, e.g., C, Java, Python, or higher-level programming, e.g. PyTorch, TensorFlow, or other machine learning frameworks.