Thomas H. Cormen
Professor and Chair
Department of Computer Science

Ph.D., Massachusetts Institute of Technology, 1992.

Research Interests

Algorithm engineering, parallel computing, speeding up computations with high latency.
Computer science writing.

* Papers
* FG
* Other software
* Vita

In the Fall 2009 term, I am teaching Computer Science 5, Introduction to Computer Science.
Are you looking for solutions to exercises and problems in Introduction to Algorithms?

If you are, then see the frequently asked question and answer below.

If you request solutions from me, I will not respond.


I receive many requests from students who want to work with me as interns. I am not taking on any interns at this time.
From July 2004 through June 2008, I was the director of the Dartmouth Institute for Writing and Rhetoric.

Graduate Students

Current graduate student: Former graduate students:

Introduction to Algorithms

Yes, I am coauthor of Introduction to Algorithms, along with Charles Leiserson, Ron Rivest, and Cliff Stein. Here are answers to a few frequently asked questions about Introduction to Algorithms:
Is the third edition out yet?
Yes! The third edition is published exclusively by the MIT Press.

Where is the website for the book?
The MIT Press site is http://mitpress.mit.edu/algorithms.

Where can I find a list of errata?
We maintain an errata page that allows you to list errors by date, by page, by severity, or by discoverer. There is even an incremental update feature, allowing you to list only the errors posted since the last date that you asked about.

How do I report errors?
First, please visit the errata page to verify that the error has not been reported already. Once you have determined that you have found an unreported error, send email to algorithm-bugs@mitpress.mit.edu. We will respond as quickly as possible, often within a day.

Do you correct errors?
Yes. Each time a new printing is produced, it contains corrections to all errors that have been reported by that time. The errata page indicates in which printing each error was corrected.

What is the difference between an edition and a printing?
Each edition is a major revision of the book. The first edition of Introduction to Algorithms was published in 1990, the second edition came out in 2001, and the third edition appeared in 2009. A printing for a given edition occurs when the publisher needs to manufacture more copies. As the answer to the previous question indicates, we have been correcting errors in each printing of the second and third editions. We perturb the pagination as little as possible when correcting errors for a new printing.

Can I get solutions to exercises and problems?
As of the third edition, we are making available solutions for a select set of exercises and problems. They are posted at the MIT Press website.

We have also produced an Instructor's Manual, which is available only to instructors who have adopted the book for course use. The manual has lecture notes and solutions to additional exercises and problems, but by no means all of them. (I estimate that writing up solutions to all exercises and problems would take somewhere between 2000 and 3000 pages.) You'll need to contact the MIT Press for passwords to access the manual site and the files. (Contact information is at the MIT Press website.) You cannot get the passwords from me or from any of my coauthors.

How can I typeset pseudocode to make it look like the pseudocode in the book?
I created two packages for LaTeX2e. The clrscode package gives you pseudocode in the style of the second edition, and the clrscode3e package gives you pseudocode in the style of the third edition. You can download either package and its documentation by clicking here. The clrscode package is also on the CTAN website.

I see that there are two versions of the second edition, one published by the MIT Press and one published by McGraw-Hill. How do the two versions differ?
Other than minor differences in the covers, the book content in the two versions is identical. McGraw-Hill also includes a CD (see the next question).

Are the algorithms in the book implemented in a real programming language, rather than just pseudocode?
In the second edition, McGraw-Hill included with the book a CD containing Java implementations of all the algorithms in Parts I-VI. The CD also has Javadoc-generated web pages that document all the classes.

We have no plans at this time to update the Java implementations for the third edition.


Miscellaneous Personal Stuff

Follow me on Twitter.

My brother-in-law, Tony Pecora, is the first patient in the US to undergo the Edmonton Protocol for treatment of juvenile diabetes. Check out his website at http://www.isletsupporter.com.

My wife, Nicole, and I took a Barbecue tour of the South in August 1998.

I was the Ice Man for the Maryland State Barbecue Championship in 2003, 2004, and 2005. Here's a photo from the 2005 contest of me with a quad-runner full of 40-pound bags of ice. The photo was taken by the Dizzy Pigs, the 2005 and 2006 Grand Champions. Even with the megaphone, I was pretty hoarse by the end of the second day. The Dizzy Pigs, and all the other contestants, can explain why.

In September 1997, Nicole and I finished hiking all 48 of the 4000-foot peaks in the White Mountains of New Hampshire.

Have you ever noticed something odd about bank deposit slips?


Contact Information

Email:
thc@cs.dartmouth.edu

U.S. Mail:
Department of Computer Science
Dartmouth College
6211 Sudikoff Laboratory
Hanover, NH 03755-3510

Office:
204 Sudikoff Laboratory

Phone:
Voice: 603-646-2417
Fax: 603-646-1672


Back to Dartmouth Computer Science Home Page


Thomas H. Cormen <thc@cs.dartmouth.edu>
Last modified: Mon Sep 21 15:38:53 2009