Teaching
I am proud to say I have over 10 years of experience teaching programming. 5 years of which have been at the university level. My focus has been in teaching introductory concepts, but I have also taught advanced topics in algorithms and machine learning. Regardless of the factors surrounding the class I am teaching I have a few philosophies:
- Relate the concepts to real-world applications, and when possible, to the students themselves. Everyone’s reason for learning is unique, and if I can relate the concepts to them with analogies, examples, or metaphors to something they are familiar with then they will understand the concept faster and at a more intuitive level than without the analogy.
- Teach mastery over memorization. To me mastery means knowing the "why". Why do we use one method over another? Why can't we solve it this way? Because when you can answer why, you are to adapt to situations that the curriculum did not explicitly cover. Memorization on the other hand means you might the answer but not how to get to the answer.
- No one is expected to be perfect - Nor am I. Mistakes happen, life happens, and that's okay. What’s important is learning from such experiences and adapting. If are willing to allow me to make mistakes, it’s only fair that I do the same. So, if you miss a deadline or perform poorly on an assignment, reach out and I will try to find fair ways to support you.
University of Redlands
Data 101 Introduction to Data Science Adjunct Professor
An introduction to of the full data science life cycle, using either R or Python with a focus on question formulation, data collection and cleaning, exploratory data analysis, data visualization, prediction and communication of results. This will include basic regression, classification, dimensionality reduction, and clustering techniques.
Terms: Fall 2026 (Adjunct Professor), Fall 2025 (Assistant Professor)
Data 167 Introduction to Python Programming Adjunct Professor
An introduction to computer programming and problem-solving using the Python Language. This course will emphasize the basics of computer programming including data types: arrays, strings, tuples and more. We will explore boolean expressions, conditional statements, loops, functions, input/output processing. Additionally we will learn how to interact with helpful Python packages, introduce object oriented programming, and explore how to represent spatial data.
Terms: Spring 2026 (Adjunct Professor)
University of California, Riverside
CS 010A Intro. to Computer Science for Science, Mathematics, and Engineering I Teaching Assistant
Covers problem solving through structured programming of algorithms on computers using the C++ object-oriented language. Includes variables, expressions, input/output (I/O), branches, loops, functions, parameters, arrays, strings, file I/O, and classes. Also covers software design, testing, and debugging.
Terms: Winter 2024 (TA), Fall 2024 (TA)
CS 010B Intro. to Computer Science for Science, Mathematics, and Engineering II Teaching Assistant
Covers structured and object-oriented programming in C++.Emphasizes good programming principles and development of substantial programs. Topics include recursion, pointers, linked lists, abstract data types, and libraries. Also covers software engineering principles.
Terms: Spring 2024 (TA)
Other
ULA Undergraduate Learning Assistant Founding Member
A new initiative to support undergraduate students in their learning journey created by the Department of Computer Science at the University of California, Riverside. The idea was to provide tutoring support to students in the lower division courses, by students who have already taken the course and performed well. The program created a safe third space for students to get help in their coursework but also fostered a sense of community and collaboration. My role involved facilitating study sessions one-on-one and one-to-many tutoring sessions, organizing lessons plans that followed that of the official lectures. Associated with the program between September 2021 until December 2023.
Courses Covered:
- CS 010ABC — Intro. to Computer Science for Sci, Math, and Eng
- CS 111 — Discrete Structures
- CS 141 — Intermediate Data Structures and Algorithms
DSA Data Science Academy Student Leader
A student-led initiative to promote data science education to middle school students. Taught introductory concepts in data analysis, visualization, and statistics. Between the time of December 2020 and March 2023 we had hosted over 450 students from accross Riverside Unified School District through 15 seperately organized sessions. My primary role was to design and deliver engaging lessons and planning fun activities for the students to do, but my role extend to managing program logistics and training new student leaders to take over the program.
PALM Palm Summer S.T.E.A.M Camp Student Volunteer
Every summer from 2015 to 2020 I volunteered at the Palm Summer S.T.E.A.M Camp, a summer camp for middle school students to learn about science, technology, engineering, arts, and mathematics. I volunteered to help teach introductory web development and game design alongside my former teachers of Mrs. Dicarlantonio and Mr. Coopersmith. The program was a two week program meeting Monday - Thursday with class sizes ranging from 12 to 30 elementary school students. And is where I credit for first discovering my passion for teaching, and more specifically teaching in computer science.