Rice University logo
 
Top blue bar image
Lecturer in Computer Science
 

Courses

COMP 321, Spring 2018, Spring 2017, Spring 2016: Introduction to Computer Systems
(Co-Instructor with Alan Cox).
This (required) course supplies Rice CS students with a foundation in lower-level programming. The subject matter of this course works at the boundary of the operating system and the application program. In this course, students use the C programming language to develop programs that use the various facilities of the Unix operating system.

COMP 451/COMP 555, Spring 2016: Introduction to Cyber-Physical Systems.
General Interest in self-driving cars, drone airplanes and helicopters, and the “Internet of Things” (IoT) were the topics that inspired this course. Students learned the rudiments of digital PID controllers, some optimal control theory, and some elementary robotics. Students also gained considerable experience with Acumen, a modern cyber-physical design tool.

COMP 582, Fall 2015: Advanced Design and Analysis of Algorithms.
(Co-Instructor with Krishna Palem).
Added some introductory material oriented towards data science. The new material covered PAC learning and boolean functions.

COMP 482, Fall 2014: Design and Analysis of Algorithms.
(Co-Instructor with Krishna Palem).
Introduced flip classroom. The course was based on the Sedgewick and Wayne’s Princeton course on Algorithms.

CAAM 520, Spring 2004: Introduction to Parallel Programming.
Used Rice Terascale Cluster. MPI programming in C,C++, and Fortran.
This course was the first CAAM department use of the Rice Terascale Cluster

CAAM 420, Fall 2003: Introduction to Scientific Programming and Libraries.
Reconfigured to use more C++. Introduced LaTeX as well.

CAAM 520, Spring 2003: Advanced Scientific Programming.
Used MEMS cluster. MPI programming in C, C++, Fortran.

CAAM 420, Fall 2002. Introduction to Scientific Programming and Libraries.
Survey of numerical computing utilities that are available outside of MATLAB. In particular, students acquired the ability to use C as a glue language to employ Fortran numerical libraries for solutions to large multi-physics simulations.