Graduate Advising
As of 2011, I am the Graduate Advisor for the Department of Computer Science at UCSB, please come by with all your questions! To make finding me easier, I will keep a list of all my office hours online and up to date, and of course I am available by appointment as well. If you a trying to get me to sign something, it will go much faster if you have Greta look over it first. I do my best as an absent minded professor, but she is keeper of the knowledge of all things graduate (in other words be nice to her!).Teaching Awards
- 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.
UCSB Course History
Fall 03 - CS160: Translation of Programming Languages
Winter 04 - CS290I: Algorithms and Heuristics in Computer Architecture
Spring 04 - CS154: Computer Architecture
Fall 05 - CS160: Translation of Programming Languages
Winter 05 - CS160: Translation of Programming Languages
Spring 05 - CS160: Advanced Computer Architecture
Fall 06 - CS160: Translation of Programming Languages
Winter 06 - CS160: Translation of Programming Languages
Spring 07 - CS160: Advanced Computer Architecture