CS 147, Spring 2012
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 35 and CS 70. I also recommend CS 105, 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 may also be a midterm exam.


The primary graded component of the course will be a project in performance analysis. Depending on the number of students, the projects will 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:

© 2012, Geoff Kuenning

This page is maintained by Geoff Kuenning.