Sarah M. Harmon

Assistant Professor of Computer Science

Teaching this semester

CSCI 1101. Introduction to Computer Science, B

What is computer science, what are its applications in other disciplines, and what is its impact in society? A step-by-step introduction to the art of problem solving using the computer and programming. Provides a broad introduction to computer science and programming through real-life applications. Weekly labs provide experiments with the concepts presented in class. Assumes no prior knowledge of computers or programming. Final examination grade must be C or better to serve as a prerequisite for Computer Science 2101.

CSCI 3715. Human-Computer Interaction

How can we design technologies that result in positive and valuable (instead of ineffective and frustrating) experiences? Introduces key principles of user interface development by way of theory and hands-on practice. Topics include design principles (as informed by human perception and cognition) and prototyping techniques, as well as how to inspect and measure usability. Culminates in a final project, which is presented at the end of the term.


  • Ph.D. in Computer Science, University of California – Santa Cruz
  • M.S. in Computer Science, University of California – Santa Cruz
  • B.A. in Computer Science and Mathematical Sciences, Colby College