crawfordStewart Crawford, Ph.D.

Associate Professor of Computer Science

Department Chair, Computer Science

Office: Downtown Campus, UB 520
Phone: (808) 544-0899


Computer Graphics & Image Processing
Web Development
CS1 & CS2 in C and Java and Python
Software Engineering & Project Management
Numerical Analysis; Human Factors
Computer Literacy.


Ph.D., Computer Science, Colorado State University
M.S., Operations Research, Stanford
A.B., Mathematics, Dartmouth.


Summa Cum Laude. Phi Beta Kappa. Outstanding Achievement Award at AT&T Bell Laboratories. Upsilon Pi Epsilon (International Honor Society for the Computing and Information Disciplines).

Professional Interests:

Programming & visualizations in STEM education; neuro-biologically inspired computing and machine learning; graphics and image processing; software engineering.

Personal Interests/Biography:

Cycling, sea breezes, photography, sunshine, travel, alpine skiing, and inspiration.

I've been researcher, developer, and teacher.  Experiences in both research and software development help me bring the "real world" to my students in the classroom.  I've worked in big R&D organizations, small development companies, individual consulting projects, and universities big and small.  I began life on the continental East Coast, drifted to the mountains of Colorado, and recently moved to the mauka and makai of Hawaii. 

Teaching Interests/Research:

Interested in integrating programming projects into secondary school STEM curricula [Science, Technology, Engineering, & Mathematics], projects where students program visualizations and  models of the physical phenomena and mathematical concepts they study in their classes.  These projects may range from simple in-class exercises, to an extended lab session, to more involved homework assignments, to yet more complex capstone projects.  The approach is not to teach the full breadth of an introductory programming class, but to teach enough for the students to be able to complete projects that support the pedagogy of their classes.  The goals are to: (1) work with the concepts of class, translating them into algorithms and a programming language, to provide a deeper STEM subject understanding; and (2) provide students a visual and engaging introduction to programming languages and algorithmic thought, hopefully further interesting them in Computer Science.