Courses Taught

The links below will take you to the course webpage for the most recent iteration that I taught.

UC Berkeley student evaluations can be found at the HKN Database.

UW ratings can be found by searching for 'Hsia' in the Course Evaluation Catalog (UW login required).

  CSE 120: Computer Science Principles

Introduces fundamental concepts of computer science and computational thinking. Basics of programming and a survey of some "big ideas" in CS.

Last taught:   Winter 2019

  CSE 333: Systems Programming

Substantial programming experience in languages that expose machine characteristics and low-level data representation (C and C++).

Last taught:   Spring 2019

  CSE 351: The Hardware/Software Interface

Computer organization – examines key computational abstraction levels below modern high-level languages.

Last taught:   Autumn 2018

  CSE 369: Introduction to Digital Design

Introduces the implementation of digital logic and its specification and simulation via SystemVerilog and FPGAs.

Last taught:   Spring 2019

  CSE 410: Computer Systems

Structure and components of hardware and software systems – computer organization and some operating systems.

Last taught:   Winter 2017

  CSE General TA Training

Help improve the overall teaching effectiveness in CSE courses, cover useful teaching techniques and scenarios, and build community amongst our wonderful TAs!

Last taught:   Spring 2019

  CS 10: The Beauty and Joy of Computing

An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing.

Last taught:   Spring 2016

  CS 61C: Great Ideas in Computer Architecture

The internal organization and operation of digital computers, including architectural design decisions and elements of computer logic design.

Last taught:   Summer 2016

  EE 40: Introduction to Microelectronic Circuits [TA]

Fundamental circuit concepts and analysis techniques in the context of digital electronic circuits.

Last taught:   Fall 2012

  EE 128: Feedback Control [TA]

Analysis and synthesis of linear feedback control systems in transform and time domains with applications to electro-mechanical systems.

Last taught:   Fall 2009

Research Projects

Currently not doing research as I am focusing on my career as a teaching faculty member.
However, I do expect to dabble in bio- and education-related projects in the future.
Hover over the following images to see more details [best in non-mobile browser].

Synthetic Mutualism

Synthetic Mutualism [2015-2016]

Macroscopic organisms are composed of cells, usually from a common genetic parent, differentiated through environmentally sensitive genetic programs. At its most fundamental level, multicellularity arises when cells come together and find means to couple their internal states in such a way that the connections result in emergent behavior – generally with improved fitness for a set of problems – that arises from the collective of cells. Our goal is to design a system that depends on the presence of two separate populations for survival. Possible applications include the programmed death of one species in the absence of the other (i.e. bio-security) or the reduced susceptibility to invading cells or mutation.

Lateral Inhibition

Laterial Inhibition and Contact-Dependent Inhibition

Lateral inhibition is a mechanism where cell-to-cell signaling induces neighboring cells to compete and diverge into sharply contrasting fates, enabling developmental processes such as segmentation or boundary formation. A synthetic lateral inhibition system for pattern formation has not yet been demonstrated. We have developed a graph theoretic approach to analyzing potentially large contact networks for the existence and stability of "fine-grained" patterns. In place of an actual contact-based system, we propose a synthetic circuit we call a "compartmental lateral inhibition" system that used diffusible molecules to demonstrate these types of patterns.

Turing Patterning

Diffusion-driven Instability [2009-2015]

A particularly well-studied mechanism for pattern formation is diffusion-driven instability, originally proposed by Alan Turing in 1952, where a homogeneous steady state is destabilized in the presence of diffusion. To date, there have been no experimental demonstrations of a robust, tunable system which can break symmetry and spontaneously generate predictable gene expression patterns (spatiotemporal inhomogeneities) as in the Turing mechanism. Our investigations have led to a new a class of networks that we call "quenched oscillator" systems. These systems consist of a primary feedback loop that serves as an oscillator, and a secondary feedback loop that quenches the oscillations and incorporates a diffusible molecule. Diffusion releases the quenching effect in higher spatial frequencies, thus generating patterns.

Flagellum Motion

Modeling of Single Flagellum Bacterial Motion [2007]

Research project for the class "Control and Optimization of Distributed Systems and Partial Differential Equations" in the Spring of 2007. Worked under the graduate student Edgar Lobaton to help model and simulate bacterial motion in environments with low Reynolds number. Framed as an adjoint optimization problem over the elasticities of the spring connecting the particles that made up the model of the flagellum. Continued work on this project through the Summer of 2007. Acknowledged in the resulting paper.


All publications are linked below.




Things I Do For Fun

Faculty are people, too!

Icons made by Freepik, monkik, and catkuro from and licensed by CC 3.0 BY.



Chasing some plastic with my team.



Fitness and exploration - what more do you need?



The PacNW is beautiful! Enjoying the outdoors.



Mostly logic puzzles, but jigsaw is fun, too.

Board Games

Board Games

I've got a sizeable collection.


I've done choir and a cappella.



I'm basically retired, but I used to play a LOT.