Teaching Awards
- UCSB Academic Senate Distinguished Teaching Award (2012)
- UCSB Outstanding Organization Advisor Award: for Work with ACM (2009)
- Northrop Grumman Excellence in Teaching Award (2008)
- Departmental Teaching Award - Outstanding Faculty Member in Computer Science (2007)
UCSB Course Descriptions
- CS160: Translation of Programming Languages
Study of the structure of compilers. Topics include: lexical analysis; syntax analysis and parsers; type checking; run-time environments; intermediate code generation; and compiler-construction tools. - CS154: Computer Architecture The course gives an in-depth understanding of the inner-workings of modern digital computer systems and tradeoffs present at the hardware-software interface. Computer architecture is driven from the software side by user needs in terms of functionality and performance and from the hardware side by technological innovations and constraints. CS 154 introduces students to this exciting field, including the design process, performance and cost analysis, computer arithmetic, controller and data path design, input/output systems, interrupts and exceptions, pipelining and parallelism.
- CS254: Advanced Computer Architecture
This class will cover many of the important aspects of modern computer architectures (how do modern caches really work, predicting future execution, techniques for speculation and instruction level parallelism) and will explore the relationship between computer architecture and other areas such as machine learning and optimization.