Instructor: Tom Hayes

Reviewing for Final Exam

Here is a link to the final exam from a few years ago. You may find it a useful "spot check" for topics to review. You should ignore problems 16 and 17, which relate to that year's main programming assignment.

Also, here is my solutions to this year's midterm.

More slides available

The slides for the last few lectures are available in the

handouts directory. They are divided up by topic, so the dates may not correspond exactly to reality.

New Homework

Update: Assignment 5 is now optional for extra credit. The due date has also been extended to Monday, Dec 9. Also, the example code I demoed in class is now available here.

Assignment 5 is due on Thursday, Dec 5, and may be done in pairs. In addition to problem 4.18 from the textbook (10 points), the other 50 points of the assignment is for writing code to solve sprouts positions using retrograde analysis. Deliverables will include source code, compiled code, and documentation including sample runs to demonstrate usage and correct functionality. More details to follow.

The assignment was given on Thursday, Nov 14, and has been discussed extensively in class. You may like to review the videos and lecture slides, now available online (links just below).

Lecture Videos & Slides

Videos of past lectures and recitations are available here.
(The link for CS 361 should be on the left. You will need to authenticate using your UNM NetID and password.)

Click here for lecture slides and other handouts.
Warning:Most of these are actually some of last year's lecture slides. There have been relatively few and minor changes, but for instance, dates are slightly off.

Programming Assignment

The Sprouts assignment (HW 5, see above) will be the only programming assigned this semester.


The Midterm exam was held Thursday, October 24, and covered the material through section 4.2 in the textbook. An exam from a previous year is available here for use as a study aid. <--Although the exact topics covered will not be exactly the same, this year's exam will similarly consist of a mix of factual questions, based more on the readings, and problems to solve, based more on the homework and example problems from lectures. --!>


Written homework can be turned in electronically or on paper. Paper solutions should be turned in at the start of class on the due date. Electronic versions should be formatted as PDF and emailed to both Justin and me (addresses below, under "Contact Info").

Written Assignment 4 was due on Thursday, November 14, and consisted of six problems from the textbook: 3.7, 3.10, 4.4, 4.7, 4.8, 4.12.

Written Assignment 3 was due on Thursday, October 17, and consisted of problems 2.4 (10 points), 2.7 (20 points), 3.2, 3.5, 3.9 (10 points each). Problem 2.2 was also allowed for extra credit, and was worth a maximum of 5 points.

Written Assignment 2 was due on Thursday, September 26, and consisted of problems 2.1, 2.3, and 2.5.

Written assignment 1 was due on Thursday, September 5, and consisted of problems 1.1, 1.2, 1.3, 1.4, and 1.6.

Contact Info & Office Hours

Prof. Hayes: Office Hours Tuesdays and Wednesdays 2:00-3:00pm, in FEC 149. If you need to see me outside of these times, please contact me for an appointment.

TA Justin Yang: Office Hours Mondays 4:00-6:00pm, in FEC 126. Also available by appointment.


The textbook is Algorithm Design by Kleinberg and Tardos.
You can get it at the bookstore, or elsewhere, such as on Amazon.
Get it right away, as you will need it all semester!

Room Change

The lectures (TuTh 12:30-1:45) and recitations (Fri 11:00-11:50) will be held in Woodward 149 all semester.