Thomas H. Cormen
Department of Computer Science

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

Research Interests

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

* Papers
* FG
* Other software
* Vita

In the Winter 2017 term, I am teaching COSC 49.05/149, Parallel Computing.

Office hours, January 5 through March 6:

Office hours are always first-come, first-served.
I am advisor to the M.S. program. Professor Prasad Jayanti is now the Undergraduate Advisor.
Khan Academy now carries algorithms tutorials for which Devin Balkcom and I produced content.
My newest book, Algorithms Unlocked, is out! The Amazon site for the book is here, and the MIT Press site is here.

I maintain an errata page for Algorithms Unlocked. If you find an error in the book and it's not already in the errata page, send email to (The email address in the preface of the book is incorrect—the first known error in the book.)

Algorithms Unlocked is the 10,000th book title published by MIT Press.

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 outside Dartmouth who want to work with me as interns. I do not take interns from outside Dartmouth.
From July 2004 through June 2008, I was the director of the Dartmouth Institute for Writing and Rhetoric.

I occasionally teach a graduate Computer Science course on how to write papers and how to give talks. I publish a list of usage rules that I require my students to observe.

In 2015, PRI's "The World" ran a story on mentoring women in computer science in which a couple of my students and I were interviewed.
If you're in the Dartmouth Computer Science department and want to use the MathTime Pro 2 fonts, you'll need to login to tahoe. You can download the guide for using the MathTime Pro 2 fonts here.

Current Graduate Student

Graduate Student Alumni

Introduction to Algorithms

Yes, I am coauthor of Introduction to Algorithms, along with Charles Leiserson, Ron Rivest, and Cliff Stein. For MIT Press's 50th anniversary, I wrote a post on their blog about the secret to writing a best-selling textbook.

Here are answers to a few frequently asked questions about Introduction to Algorithms:

Where is the website for the book?
The MIT Press site is

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 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.

I will not respond to requests for the manual or for solutions.

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.

Can you send me a free copy of the book? Can you send me an electronic copy of the book? Can you help me with this algorithms problem I have?
No, no, and sorry, but no. You can purchase an electronic copy of the book, however: now sells a version of Introduction to Algorithms for Kindle.

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: Follow @thcormen
    Quora: I'm a "Top Writer" 2015, 2016, and 2017. You can listen to the Quoracast (a podcast) in which I was interviewed.

You can also read about me on Wikipedia. (Note: I did not create this entry, nor have I edited it.) I'm even listed among "Noted residents, past and present" in the Wikipedia page on Oceanside, NY. (Nor did I edit this page.)

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

In July 2010, I rollerbladed the Trail of the Coeur D'Alenes, a 71.4-mile-long paved rail trail in the Idaho panhandle. Accompanied by my friend, Paul Daro, who also bladed, and Nicole, who biked, we went 42 miles the first day and the balance the second day. Here is a photo of the three of us at the start of the first day, at the western trailhead in Plummer, Idaho, (on the Coeur D'Alene reservation) and here is a photo of Paul and me at the start of the second day, at the eastern trailhead in Mullan, Idaho. We met this fellow on the trail during the first day. This page has some rough videos that Paul took.

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.

I was Kansas City Barbeque Society Certified Barbeque Judge number 62145. (I have purposely let my KCBS membership lapse.) My first contest as a certified judge was the 2011 Maryland State Championship in Bel Air. Here is a photo of me just starting to judge the first item, chicken. And here is a photo after judging five entries each of chicken, pork ribs, pork, and beef brisket. (Photos courtesy of Craig Ward, a.k.a. "Mr. Time To Go," a.k.a. "Large And In Charge," the contest organizer.)

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

A former student wrote an article for USA Hockey about the time I was "that guy." (The photo in the article is not of me. Goalies have all their teeth.)

Have you ever noticed something odd about bank deposit slips?

When is a door not a door?

Contact Information


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

204 Sudikoff Laboratory

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

Back to Dartmouth Computer Science Home Page

Thomas H. Cormen <>
Last modified: Fri Jan 13 00:12:14 2017