• Concurrent Data Structures and Algorithms (CS651) [Efficient "lock-free" parallel algorithms for popular data structures]

  •     Spring 2009

  • Parallel Execution of Programs (CS629) [Static and run-time parallelization techniques]

  •     Autumn 2008, Spring 2012

  • Advanced Computer Architecture (CS622) [Graduate parallel computer architecture]

  •     Autumn 2004, Autumn 2005, Autumn 2007, Autumn 2011, Autumn 2012, Autumn 2018, Autumn 2019, Autumn 2020

  • Parallel Programming (CS433) [Senior undergraduate introduction to parallel programming for shared memory multiprocessors, message passing machines, GPUs]

  •     Spring 2022, Autumn 2024

  • Multicore and Multiprocessor Architecture (CS423) [Senior undergraduate introduction to shared memory multiprocessors]

  •     Spring 2023

  • Computer Architecture (CS422) [Senior undergraduate computer architecture at the level of CA: AQA by H and P]

  •     Spring 2005, Spring 2006, Spring 2007, Spring 2011, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Autumn 2021, Autumn 2023, Spring 2025

  • Operating Systems (CS330) [Undergraduate introduction to OS at the level of OS Concepts by S, G, G, Operating Systems Three Easy Pieces by Arpaci-Dusseau's, and Design of the UNIX OS by Bach]

  •     Autumn 2009, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2022

  • Computer Organization (CS220) [Undergraduate introduction to computer design at the level of COD by P and H, Verilog RTL, synthesis flow for FPGA/ASIC]

  •     Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2024

  • Fundamentals of Computing (ESC101N) [Freshman introduction to computing]

  •     Autumn 2006, Autumn 2007