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).
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
Substantial programming experience in languages that expose machine characteristics and low-level data representation (C and C++).
Last taught: Spring 2019
Computer organization – examines key computational abstraction levels below modern high-level languages.
Last taught: Autumn 2018
Introduces the implementation of digital logic and its specification and simulation via SystemVerilog and FPGAs.
Last taught: Spring 2019
Structure and components of hardware and software systems – computer organization and some operating systems.
Last taught: Winter 2017
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
An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing.
Last taught: Spring 2016
The internal organization and operation of digital computers, including architectural design decisions and elements of computer logic design.
Last taught: Summer 2016
Fundamental circuit concepts and analysis techniques in the context of digital electronic circuits.
Last taught: Fall 2012
Analysis and synthesis of linear feedback control systems in transform and time domains with applications to electro-mechanical systems.
Last taught: Fall 2009
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].
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 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.
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.
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.
Faculty are people, too!
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.
I've got a sizeable collection.
I've done choir and a cappella.
I'm basically retired, but I used to play a LOT.