Teaching

(the five years before Google, 2015–2020)
Teaching at a whiteboard with mathematical diagrams
whiteboard sessions
Online teaching session with formulas on screen
teaching online
Classroom instruction with students
the classroom

Courses

Intro to Programming (C)

Created assignments, projects, homework, and scripts to help students master the fundamentals of programming using the C language. Focus on algorithms, programming structures, and problem-solving techniques.

2015-2020

Numerical Methods (MATLAB)

Taught MATLAB-based numerical methods for solving mathematical problems in scientific computing. Topics included numerical integration, differentiation, solving linear and non-linear equations, interpolation, and approximation.

2015-2020

Data Structures (C++)

Guided students through implementation and analysis of fundamental data structures in C++. Covered topics including arrays, linked lists, stacks, queues, trees, graphs, hash tables, and various sorting and searching algorithms.

2015-2020

Computer Architecture (Verilog)

Assisted students in understanding computer hardware architecture and digital logic design using Verilog. Topics included processor design, memory hierarchies, pipelining, and digital circuit implementation.

2015-2020

Algorithm Design

Comprehensive undergraduate course covering advanced algorithm design techniques including divide and conquer, greedy algorithms, dynamic programming, backtracking, graph traversal, shortest path algorithms, minimum spanning trees, and network flow. Practical programming implementation in Java and C++.

2015-2020

How I taught

Active learningStudents do, discuss, teach back.
Real-world examplesWe connect theory to practice.
Visual firstDiagrams, code, whiteboards.
Bottom-up + top-downBuild intuition, then formalize.
the goal was never
the exam — it was
the aha moment.