CS 758/858: Algorithms
Professor Wheeler Ruml
TA Steve Wissow
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
11: handout, skeleton, checker, reference, image
segmenter. Sample images are in ~cs758/data/asn11 on agate.
- Asst
10: handout,
skeleton,
testing harness (11/4, 8:30am),
ui harness,
reference (11/1, 11am).
Also provided are:
graph-info,
txt2graph (sample input),
subgraph,
random-graph, and
osm2graph.
A sample graph.
More sample graphs are in ~cs758/data/asn10 on agate.
- Asst
9: handout, skeleton, testing
harness, reference, slow
reference, sample images.
- Asst 8: handout.
- Asst
7: handout, sample
grammars, CNF grammar
converter, harness, skeleton
(10/4, 12:40pm), reference
(10/4, 2:50pm), undergrad reference
(10/7, 10:10am), 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
(9/10, 8:30am),
testing
harness (9/16, 3:55pm),
reference (9/6, 2:20pm).
Sample data is available on agate in ~cs758/data/asn3.
- Asst 2: handout.
- Asst
1: handout, skeleton
(8/30, 11:30am), makefile, testing
harness (9/6/24, 8:03am), reference
solution. Sample data is on agate in ~cs758/data/asn1 and a
generator is here (8/30, 10:30am).
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