Teaching

CSC 352 Parallel Programming

Undergraduate course, Smith College, Computer Science, 2023

Theoretical and practical models of parallel computing and their appropriate application; Flynn’s taxonomy, including shared memory (e.g. OpenMP), distributed (e.g. MPI), and GPU (e.g. CUDA) programming. Design of various parallel machines and architectures. Measures of parallel performance including speedup and scalability.

CSC 231 Microprocessors and Assembly Language

Undergraduate course, Smith College, Computer Science, 2023

An introduction to the architecture of the Intel Pentium class processor and its assembly language in the Linux environment. Students write programs in assembly and explore the architectural features of the Pentium, including its use of the memory, the data formats used to represent information, the implementation of high-level language constructs, integer and floating-point arithmetic, and how the processor deals with I/O devices and interrupts.