CS 147, Spring 2003
Computer Systems Performance Analysis


CS 147 is intended to teach you how to evaluate the performance of computer systems in various ways. The concentration will be on experimental methods, but I am not promising that I will restrict myself to experimentation as the only technique. Topics that will certainly be covered in the course include:

Other topics that might be covered (depending mostly on time) include:


When you complete this course, you should be able to:


The prerequisites listed in the catalog are Math 62 and CS 70. However, I won't be enforcing the Math 62 prereq because it's a new course. On the other hand, I recommend CS 110, CS 131, and CS 140 as reasonable corequisites, since in your project you will be working with complex software systems. If you try to take CS 147 having had only CS 70 and with no other CS courses in the same term, the project will probably give you trouble.


The text book for this course is Raj Jain, The Art of Computer Systems Performance Analysis, Wiley, 1991. Even if you don't take the course, I strongly recommend this book to anyone who does experimental computer science.


Homework and Exams

There will be a small number of homework assignments early in the course, to provide you with practice in statistical analysis. There will also be either one or two exams (probably both a midterm and a final).


The primary graded component of the course will be a project in performance analysis. Depending on the number of students, the projects will probably be be done by small teams of 2-4 people. I expect that most people will do some sort of experimental measurement, though other options can be proposed.

Each team will present their project to the class at the end of the term, and will critique the other teams' projects.

Examples of typical projects might include:

© 2003, Geoff Kuenning

This page is maintained by Geoff Kuenning.