In the Spring 2017 term, I am teaching COSC 1, Introduction To
Programming and Computation.
Office hours, March 28 through June 2:
Office hours are always first-come, first-served.
- Tuesday, 10:30 am to 12:00 noon
- Thursday, 9:30 am to 11:00 am (11:00 am to 12:00 noon on April 6)
- Thursday, 4:00 to 6:00 pm
- Friday, 10:30 am to 12:00 noon
I am advisor to the M.S. program. Professor Prasad Jayanti is now the
Khan Academy now carries algorithms
tutorials for which Devin Balkcom and I
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 firstname.lastname@example.org.
(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.
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 http://mitpress.mit.edu/content/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 email@example.com. 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
editions. We perturb the pagination as little as possible when
correcting errors for a new printing.
- Can I get solutions to exercises and
- 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
- How can I typeset pseudocode to make it look like the pseudocode
in the book?
- I created two packages for LaTeX2e. The
package gives you pseudocode in the style of the second edition,
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
- 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: Amazon.com 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
Quora: I'm a "Top
Writer" 2015, 2016, and 2017. You can listen to the Quoracast (a
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
guy." (The photo in the article is not of me. Goalies have all
Have you ever noticed something odd about bank deposit
When is a door not a door?
Department of Computer Science
6211 Sudikoff Laboratory
Hanover, NH 03755-3510
204 Sudikoff Laboratory