About Me

Screenshot

I am a PhD student in Computer Science and Engineering at the University of Michigan - Ann Arbor. After completing my bachelor’s in electrical engineering at UM, I elected to stay and continue working with Michigan’s great CSE faculty. My career at Michigan has allowed me to experience a broad range of technical fields in both electrical and computer engineering - from emerging applications down to digital circuits. My primary research focus lies in both computer architecture and VLSI.

Research

I research computer architecture and VLSI with the amazing Professor Ron Dreslinski as my advisor in Cadre group (Circuits and Architecture Design REsearch group). I also formerly worked with Profs. Jason Mars and Lingjia Tang in Clarity Lab.

My broad research vision is that Moore’s law is ending, so architectures and systems will have to evolve in order to pick up the slack. More often than not, this means specializing hardware for emerging applications and integrating solutions from across the hardware/software stack. Developing hardware accelerators has shown me that one of the biggest challenges facing hardware acceleration is integration with system-on-chips (SoCs). My work addresses this challenge by creating tools and methodologies that can reduce engineering time and effort to create complex SoCs. Check out my publications for a list of my recent work.

Teaching

I have been both an undergraduate Instructional Assistant (IA) and Graduate Student Instructor (GSI) for ENGR 100 - section 250: Microprocessors and Toys. This class is a personal favorite of mine because of both the great introduction to computer engineering and the openness of the course project.

This course is designed to give a broad overview of computer engineering to ambitious freshman. It covers the basics of computer hardware, including CMOS transistors, digital gates, small/medium-scale devices, and control and data paths. The course also covers the basics of low-level programming via assembly, such as ISAs, I/O interfaces, and drivers. The second half of the course is an open-ended project for groups to work in teams to create a microcontroller-based toy. It’s always very interesting to see the ideas students come up with!

My role as an IA / GSI has been to instruct and supervise labs as well as mentor students on their projects. Because the projects are so open-ended, students often select projects that require a much greater working knowledge than the class formally provides through lectures. It’s my job to help teach and guide the students in the material that is often multiple courses ahead of their current knowledge base, although students often do a good job of learning topics on their own.

Past teaching:

  • Winter 2019 - ENGR 100: Microprocessors and Toys
  • Winter 2018 - ENGR 100: Microprocessors and Toys
  • Winter 2016 - ENGR 100: Microprocessors and Toys
  • Winter 2015 - ENGR 100: Microprocessors and Toys
  • Winter 2014 - ENGR 100: Microprocessors and Toys

Roles and Responsibilities

As of Winter 2020: