CS 758/858: Algorithms
Professor Wheeler Ruml
TA Devin Thomas
The goal of this class is to help you learn how to think about
algorithms. We'll cover the `greatest hits' of computer
science: a selection of the most important fundamental concepts in
the design and analysis of algorithms and data structures, including
correctness, complexity analysis, and NP-completeness. You should
already be a fluent programmer in a C-like language (including
pointers, dynamic memory allocation, and I/O), understand some basic
data structures (linked lists, binary trees, and hash tables, as in
CS 515), and have some experience writing proofs (as in Math 531 and
CS 659).
Student who have taken this class generally report that it was crucial
for performing well during high-stakes coding interviews.
In fall 2024, we will meet for lecture on Tuesdays and Thursdays
11:10am-12:30pm in Kingsbury N121 and for recitation on Fridays
1:10-2pm in Kingsbury N101. This class is usually offered in both
fall and spring.
Here are the raw student reviews
from 2023.
Handouts
Assignments
All binaries are for x86_64 Linux (like agate.cs.unh.edu).
- Asst 14: handout.
- Asst 13: handout.
- Asst 12: handout.
- Asst
11: handout, skeleton, checker, reference, image
segmenter. Sample images are in ~cs758/data/asn11 on agate.
- Asst
10: handout,
skeleton (7:45pm, 11/8/23),
testing harness (11am, 11/7/23),
reference (9:30am, 11/10/23),
fetchOSM utility. Sample
data are in ~cs758/data/asn10 on agate.
- Asst
9: handout, skeleton, testing
harness, reference, slow
reference, sample images.
- Asst 8: handout.
- Asst
7: handout, skeleton, harness, sample
grammars, reference, CNF
grammar converter, more
grammars.
- Asst
6: handout, skeleton, testing
harness, reference.
- Asst
5: handout, skeleton, testing
harness, reference.
Sample data is available here and on
agate in ~cs758/data/asn5.
- Asst
4: handout, skeleton, testing
harness, reference
- Asst
3: handout, skeleton, testing
harness, reference.
Sample data is available on agate in ~cs758/data/asn3.
- Asst 2: handout.
- Asst
1: handout, skeleton, makefile, testing
harness, reference
solution. Sample data is on agate in ~cs758/data/asn1.
Bug reports and suggestions regarding assignments are always
appreciated.
Lectures
Slides are posted on a `best effort' basis in case you'd like to
review - don't rely on my timeliness!
Other resources