Chris Riesbeck photo and contact information


Assessments in virtually all courses means grades. Assignments are graded, projects are graded, tests are graded, and then all those grades are averaged together to yield a final grade. Despite their ubiquitous acceptance and use, grades have many problems.

The critiquing approach to learning addresses these issues by integrating learning and assessment in a completely different way. Instead of a process based on many individual inaccurate, low-information grades, with little opportunity for getting it right, the process is repetition and feedback until mastery.

The main arguments against a critique-intensive approach are that it takes too much time and expertise to give detailed feedback, and takes yet more time at the end of a term to review and evaluate each student's history of interactions for an entire class.

The Critiquer

Enter the Critiquer, a web-based system for critiquing process. The current system, the Code Critic, is designed for programming courses in any language. The Critiquer provides two sets of interfaces:

In order to make critiquing feasible with large classes, the Critiquer makes it easy for instructors to build and use a database of commonly used critiques. An instructor just

When reviewing a re-submission, the instructor can quickly see the previous submission with critiques to see what was pointed out before.

At the end of the course, or at any point when the instructor wants to give students a grade-equivalent for their work so far, the instructor can get a report summarizing for each student


The Code Critic has been used at Northwestern in introductory programming courses in Lisp, C, C++ and Scheme for the past several years.


For a number of papers on an early Java version of the Code Critic, see Lin Qiu's home page.