Teaching
- In Fall 2002, Saman Amarasinghe and I taught
6.035: Computer Language Engineering.
- In Spring 2002, Butler Lampson and I taught
6.826: Principles of Computer Systems.
- In Fall 2001, Saman Amarasinghe and I taught
6.035: Computer Language Engineering.
- In Spring 2001, Butler Lampson and I taught
6.826: Principles of Computer Systems.
- In Fall 2000, Saman Amarasinghe and I taught
6.035: Computer Language Engineering.
- In Spring 2000, Butler Lampson and I taught
6.826: Principles of Computer Systems.
- In Fall 1999, Saman Amarasinghe and I taught
6.035: Computer Language Engineering.
- In Spring 1999, Butler Lampson and I taught
6.826: Principles of Computer Systems.
- In Fall 1998, I taught
6.892: Advanced Topics in Compilation .
- In Spring 1998, I was a recitation instructor for
6.033: Computer System Engineering .
(By the way, the other recitation instructors were John Chapin,
David Gifford, David Karger, Ron Rivest, Jerry
Saltzer, and Steve Ward,
with Frans Kaashoek doing the lectures. Quite an investment of faculty for one course!)
- In Fall 1997, I was a recitation instructor for
6.001: Structure and Interpretation of Computer Programs .
Lecture Notes
I have developed a set of
lecture
notes for teaching an undergraduate course in operating systems. These
notes cover the important basic concepts in operating systems, presented
in a sequence suitable for a first course in operating systems.