Banner image showing cherry blossoms in bloom in the University of Washington quad

About Me

I am an Associate Teaching Professor in the Paul G. Allen School of Computer Science & Engineering (CSE) at the University of Washington, Seattle (UW), primarily teaching computer engineering courses. I joined the faculty in 2016 and also focus on the training and mentoring of teaching assistants and instructors. I received the UW ACM Teaching Award and have been nominated for the UW Distinguished Teaching Award. I received my education (Ph.D., M.S., dual B.S.) primarily from the department of Electrical Engineering and Computer Sciences at the University of California, Berkeley, where I was part of the Networked Dynamical Systems Group under Professor Murat Arcak.

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 110: Computer Science Principles
    Introduces fundamental concepts of computer science and computational thinking. Basics of programming and a survey of some "big ideas" in CS.
    (Winter 2019)
  • CSE 333: Systems Programming
    Substantial programming experience in languages that expose machine characteristics and low-level data representation (C and C++).
    (Winter 2023)
  • CSE 351: The Hardware/Software Interface
    Computer organization – examines key computational abstraction levels below modern high-level languages.
    (Winter 2024)
  • CSE 369: Introduction to Digital Design
    Introduces the implementation of digital logic and its specification and simulation via SystemVerilog and FPGAs.
    (Spring 2024)
  • EE/CSE 371: Design of Digital Circuits and Systems
    Provides a theoretical background in, and practical experience with, tools and techniques for modeling complex digital systems in SystemVerilog.
    (Spring 2024)
  • CSE 410: Computer Systems
    Structure and components of hardware and software systems – computer organization and some operating systems.
    (Winter 2017)
  • CSE General TA Training
    Improve the overall teaching effectiveness and build community amongst our wonderful CSE TAs!
    (Spring 2024)
  • CSE Summer Courses Coordinator
    Select, train, and connect non-faculty CSE summer instructors.
    (Summer 2023)
  • 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.
    (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.
    (Summer 2016)
  • EE 40: Introduction to Microelectronic Circuits [TA]
    Fundamental circuit concepts and analysis techniques in the context of digital electronic circuits.
    (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.
    (Fall 2009)

Teaching Assistant Application

I typically run a separate TA interview process for my larger lecture-based courses. This is independent of the school-wide TA application process. This process may seem intimidating at first, but it's meant to be a learning experience and a chance to get some feedback about your teaching. Some notes:

  • You do NOT need to have gotten a stellar grade in the class to be a good TA for it. Having struggled with the material can lend you valuable insight in how to help others who are struggling.
  • You do NOT need to have prior TA experience to get hired – in fact, I usually try to hire a mix of experiences.
  • Not being selected does NOT reflect your teaching potential; every selection system is imperfect and I unfortunately only have a limited number of positions to offer.

The General Process

  1. Fill out my class-specific TA Application (Google Form), which is usually released in Week 3 or 4 of the previous quarter:
    • 351 Au25: Interviews will run from June 2 - 20. Apply here!
  2. A subset of the applicants will be invited to sign up for a 30-minute interview slot, depending on my scheduling constraints at that point in the quarter. This filtering is primarily done via application responses and other (limited) data available to me.
  3. Students who sign up will come in for an interview with me and possibly a few other TAs to give you an audience. The interview varies by course, but typically includes:
    • A prepared teaching demonstration.
    • A discussion of your demo and preparation.
    • Some form of mock student interaction.
  4. After ALL interviews are completed, I will respond via email to ALL interviewees with a decision and feedback from the interview.

What I Am Looking For

  • Responsibility: You are a paid employee and largely responsible for the learning and student experience in the course. I expect TAs to be punctual and prepared for all meetings and sections and must complete tasks on time.
  • Communication: Running a large class is like running a small company/business; there is a lot of work that is happening across the staff and I need to know what's going on to keep the ship running smoothly.
  • Motivation: No person (or course) is perfect and there is always room for improvement. I want TAs who are humble enough to recognize their flaws and hungry enough to continually try to improve. Remember that there are plenty of other students who would have loved to have the opportunity that you were given.
  • Empathy: Learning CS can be challenging, intimidating, and scary at times. I want TAs who can help students without making them feel worse about themselves and who recognize that different people have different sets of life circumstances and may learn in different ways. Students are people, first and foremost, not just vessels for knowledge.
  • Knowledge: You will need a strong grasp of the course material and assignments (and often beyond) to effectively carry out your duties and deal with student questions and grading. It is ok to not know all of the answers, but it is NOT ok to dispense incorrect information. This is closely tied to preparation as we all forget things over time and teaching and learning are continual processes.
  • Organization: The ability to effectively organize (and reorganize) information is crucial in presenting and prioritizing material for students as well as breaking away from lectures and coming up with alternative explanations.
  • Confidence/Charisma: Students should feel like they can trust you and that you care about them and whether or not they are learning.

Letter of Recommendation

This section applies if you need a 1- to 2-page letter of recommendation to apply for a Ph.D. program, M.S. program, transfer application, etc. For other types of recommendations, please see the sections further below.

Should You Be Asking Me?

Letters of recommendation are A BIG DEAL. They are often heavily weighted in application decisions and also require a lot of time and effort to write. I won't know how "strong" of a letter I will write for you until I'm done writing it, so it is your responsibility to decide if I make the most sense to be one of your letter writers. Doing well in one of my courses is NOT sufficient — programs want to know what sets you apart (e.g., personality, work ethic, motivation, communication, intellect). Do you think I will have things to say along these lines about you based on our interactions? I'd be happy to discuss/brainstorm this with you in person (time-permitting), but make sure that you consider this question carefully before approaching me for a letter of recommendation.

What I Will Need From You

  • Time: I must BOTH agree to write a letter for you (verbally or via email) AND receive all requested materials from you at least one month before your earliest deadline.
  • Curated (≤ 8) List of Programs: It is NOT worth your money or my time (most programs require recommenders to answer additional questions beyond just submitting a letter and I try to tailor letters for different programs when applicable) for you to take a "scattershot" approach to applications. Particularly for graduate programs, the "fit" of the program with your goals is much more important than things like reputation so take the time to narrow down your list to just the programs you'd be most excited to join for the right reasons. In addition, please provide the following information for each program in an email or Google Doc:
    1. The full name of the program.
    2. When the letter (not the application) is due.
    3. A link to information about the program and/or a prompt about what the letter should address.
    4. Submission method (e.g., email from program, online form).
  • Freedom to be Candid and Truthful: When submitting your applications, you MUST waive your right to access the letter. Recall that you can always choose a different letter writer (see the "Should You Be Asking Me?" section above).
  • FERPA Protection Waiver: Letters will necessarily include information about you and your academic performance that falls under FERPA. In your email request/thread asking for a letter of recommendation, you MUST include the following text (exactly as stated here):
    • "I consent to the release of personal and educational information about me in the letter of recommendation that I have requested from you. This authorization shall remain valid unless and until it is rescinded in writing."
  • Letter Content Hints: To help jog my memory, send me shorts bits of information that will remind me what to write about in the letter, including which classes and quarters you were my student and/or TA and anything you found memorable about our interactions or work together.
  • Reminders: Occasional reminders of upcoming deadlines for unsubmitted recommendations would be helpful in case something falls through the cracks. Most online applications nowadays allow you to track whether your individual letters have been submitted or not.

CSE BS/MS Program Recommendation

The BS/MS program only requires a reference for its application, not a full-blown letter, so I can comfortably handle a higher volume of these requests on a shorter timeline. Still, you should be aware that I require that students have a 15-minute face-to-face meeting with me before the application deadline. This is to encourage you to start early and to help you consider what your goals are and whether you are a good fit for the program.

Steps

  1. Warning: Failure to follow these steps will result in an automatic "Not Recommended" reference.
  2. Contact me via email well before the application deadline in Spring (ideally 2+ weeks ahead of time). Let me know that you'd like to list me as a reference on your BS/MS application and your availability for a short meeting in the near future.
  3. Once we are able to schedule a 15-minute meeting, come prepared to discuss what your career goals are and why you think the BS/MS program is a good fit for you.
  4. After the meeting, take some time to think about your reasons for applying and your personal statement. Let me know in a reply to your original email if you decide to proceed.
  5. In your application, you must waive your right to read the recommendation.

Other Recommendation

For other recommendations, such as Study Abroad or the Animation Capstone, it is usually easiest to just send me an email to set up a meeting or drop by my office hours to discuss. Please take the time to research the following information for me:

  1. What is required of me (e.g., length of recommendation, questionnaire, email correspondence)?
  2. What specific qualities or traits is the program looking for?

Scholarship

Projects

My current research interests are in computer science education. I am currently involved in the CSE590E CS Ed seminar and ComputingEd@UW. My past research interests were broadly in synthetic biology and biological systems analysis, with a focus on engineered multicellular behaviors in bacteria, particularly pattern formation.

Justin standing at a podium, speaking as part of a panel of four professors to an audience

Training in Teaching [2019-present]

The needs in teaching computing topics at the university level continue to evolve over time. Our goal is to develop contemporary training and preparation for both teaching assistants and future instructors, including novel pathways for students to attain post-secondary CS teaching careers.

Diagram of two bacterial species shown taking in input resources and exchanging resources amongst themselves, leading to growth of both species

Synthetic Mutualism [2015-2016]

Multicellularity arises when cells come together and couple their internal states such that the connections result in emergent behavior. 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 or the reduced susceptibility to invading cells or mutation.

Top: a row of cells in contact, where signal X promotes signal Y in neighboring cells and signal Y inhibits signal X within the same cell. Bottom: an example geometry of a 4-by-4 grid of cells could produce patterns such as a checkerboard (cells alternate between high and low) or semi-striped (vertical groups of two alternate between high and low).

Laterial Inhibition [2013-2016]

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. We developed a graph theoretic approach to analyzing potentially large contact networks for the existence and stability of "fine-grained" patterns.

A quenched oscillator network is shown with three species X1, X2, and X3 forming a ring oscillator (repress each other in a cycle) and a diffusive species X4 that interacts with X3 and X1 to potentially disrupt oscillations. Colored graphs are shown of two different possible spatiotemporal patterns for one of the species.

Diffusion-driven Instability [2009-2015]

One 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. Our goal is to create a robust, tunable system which can break symmetry and spontaneously generate predictable gene expression patterns (spatiotemporal inhomogeneities) as in the Turing mechanism.

Publications

Journal

Conference

Poster

Panel

Facilitation

Demonstration

Former Teaching Mentees

If you are interested in a CS teaching career, please see the Computer Science Teaching career page and/or email me to set up a meeting!

Sam Wolfson headshot Sam Wolfson
Software Engineer, ExtraHop
BS/MS Thesis: CS Principles Experience Report
Travis McGaha headshot Travis McGaha
Lecturer, University of Pennsylvania
Kyrie Dowling headshot Kyrie Dowling
Lecturer, University of Pennsylvania

Things I Do For Fun

Faculty are people, too! Icons below are links and made by Freepik, monkik, and catkuro from www.flaticon.com and licensed by CC 3.0 BY.

family and heart Parenting
Trying to be the best partner and father I can be.
Frisbee Ultimate
Chasing some plastic with my team.
running shoe Running
Fitness and exploration - what more do you need?
hiker with walking stick Hiking
The PacNW is beautiful! Enjoying the outdoors.
outline of head with three chess pawns inside Puzzles
Mostly logic puzzles, but jigsaw is fun, too.
playing cards, die, board game pawn, and sand timer shown Board Games
I've got a sizeable collection.
stick figure singing into a microphone on a mic stand Singing
I've done choir and a cappella.
two badminton racquets crossed with a birdie underneath Badminton
I'm retired now, but competed for my college team.

Contact Me

Method Information
Office CSE 544
Email jhsia AT cs.washington.edu
Snail Mail Paul G. Allen School of Computer Science & Engineering
University of Washington
185 E Stevens Way NE
AC101 Paul G. Allen Center, Box 352350
Seattle, WA 98195-2350