I have been tutoring students since I was in high school - starting with friends struggling in class and then helping out juniors. In graduate school, I was a TA for a few classes and formally guided undergraduate and graduate students. During my career as a researcher, manager, and leader I kept working with students until finally realizing that this was what I enjoyed doing the most. I consider my particular strength to be taking an abstract concept and distilling it to a level that stude... [more]
All of the algorithms I developed in my graduate studies (MS and Ph.D.) were written in C++ with extensive use of features such as templates. In my professional life, I have worked on large code bases (a few millions of lines of code) and developed a few of these from scratch. This involved careful design, not just writing code.
All of my professional work has been developing algorithms and implementing these efficiently, in different areas from VLSI design to high-performance computing (parallel computing) and digitalization (cloud, machine learning, and analytics). My focus while teaching CS is helping students understand the 'big picture' - how data structures, algorithms, and implementation come together with computer architecture and operating systems to solve problems correctly and efficiently
My undergraduate focus was on electronics and telecommunication and graduate studies on VLSI Design Automation. I have worked at Intel Corp and IBM Research in the VLSI space, and currently teach signals and systems, CMOS VLSI circuits and image processing