Prof. Douglas Thain at Notre Dame

| About | Teaching | Research | Papers | Talks | Service | Blog | Lab |

Teaching

My courses focus on the design of computer systems, encompassing low-level operating system details, programming languages and compilers, and distributed systems consisting of thousands of machines. I teach students how to build real working systems from end-to-end, taking into account not just performance, but also reliability, completeness, usability, maintainability, and beauty.

Recent courses taught at the University of Notre Dame include:

I also create a variety of free online materials for teaching computer systems. Take a look at my free online compilers textbook:

Introduction to Compilers and Language Design
by Douglas Thain
2nd edition, 2020.
compilerbook.org

You can also take an online course in Data Intensive Scientific Computing hosted by me and my colleague, Prof. Paul Brenner:

Prior Courses