syllabus
title: Algorithms
number: NSC469
faculty: Jim Mahoney
credits: 4
time: Tue/Thu 11:30 - 12:50
place: Sci 217
level: intermediate
prereq: some programming and discrete math
work: weekly assignments and midterm/final projects or exams TBA
text: "Introduction to the Design & Analysis of Algorithms, 2nd edition"
Anany Levitin, ISBN 0-321-35828-7
blurb:
A close look at the classic recipes and the ideas behind
them in computer science. Topics may include ideas from
searching, sorting, data structures, randomness, compression,
parsing, cryptography and so on. This is an intermediate level
foundation course, strongly recommended for folks considering
further work in computer science. The primary programming
language will (I think) be C, though some assignments may
be done in one of your choice.
(We'll discuss this at the start of the term.)
schedule: (tentative)
Tue/Thu text_chapter
Sep 4 intro class
9, 11 C, pointers, data structures
16, 18 1 - euclid's algorithm
23, 25 2 - efficiency analysis
30, 2 3 - brute force
Oct 7, 9 4 - divide and conquer
14, 16 5 - decrease (midterm grades due 10th)
21, 24 6 - transform
28, 30 7 - space vs time
Nov 4, 6 9 - greedy
11, 13 10 - iterative improvement
18, 20 11 - P, NP, and all that
25 12 - coping with limitations
Dec 2, 4 other - random, genetic, ...
9