James A. Foster

Back Home Up Next

Analysis of Algorithms (Sp '96)

CS 495/Math 475

Instructor: Dr. James A. Foster

This course covers techniques for analysing the efficiency of algorithms, and for using this information to design better ones.

Here is the syllabus as is currently stands.

This document contatins:
bullet Announcements
bullet General information
bullet Programming Project
bullet Homework (usually with solutions)
bullet Tests (with solutions once you've taken them)
bullet Interesting Stuff
bullet Course FTP Site
Please drop any suggestions or comments into the suggestion box.


  1. Here are some notes on NP completeness.
  2. Here are some notes on P, NP, and all that jazz.
  3. Here are some notes on the probabilistic election of a leader in a ring.
  4. Greg Hall has graciously agreed to make his C code for biomial heaps to everyone. Here are some additional notes on using this code.
  5. Here is a perl script which computes the closed form for a linear homogenous recurrence relation when you give it the roots and multiplicities of the characteristic polynomial. Feel free to copy it over and play with it.
  6. Jason Evans' instance generator for three processor scheduling is available via ftp. Thanks, Jason.
  7. Solutions to homework one are available now.

General Information

bullet Instructor: James A. Foster
bullet Office: JEB B24
bullet Phone: 885-7062
bullet Office Hours: 2:30-3:20 MWF, 3:20-4:20 W
bullet Email: foster@cs.uidaho.edu
bullet Texts
bullet Fundamentals of Algorithmics, Brassard and Brately. Prentice Hall, 1995. (Req'd)
bullet Computers and Intractability, Garey and Johnson. Freeman, 1979. (Recommended)
Grades will be determined approximately as follows:
bullet Midterm: 30%
bullet Final: 35%
bullet Project: 25%
bullet Homework: 10%
Classroom participation will be considered, too.

Programming Project

In this course, we implement three programs for the three processor scheduling problem. One uses a simple exhaustive search, another uses backtracking, and the third uses branch and bound. For details, see the project description.

Here is a description of the criteria by which project papers are graded, and hints for getting a higher grade.


There will be approximately eight homework assignments (every two weeks). However, these will be graded on a pass/fail basis, where students who turn in the homeworks and make a genuine effort will pass. I will provide solutions.

Here are the homework assignments for this semester:

Assignment Due Date Solutions
One 2 Feb Here
Two 28 Feb Here
Three 8 March Here
Four 15 April Here
Five 8 May Here

See the homepage from 1994 for past homework.


Here is Test One (with answers). The average score was 65.1 with a standard deviation of 20.5. Letter grades are:

Range Grade Number of People
102-85 A 7
84-65 B 20
64-40 C 10
39-21 D 5
20-0 F 3

Here is Test Two (with answers). The average score was 129 with a standard deviation of 15.5. Letter grades are:

Range Grade Number of People
150-131 A 20
130-111 B 12
110-91 C 7
90-51 D 0
50-0 F 0

And here are some tests from years gone by:
bullet Midterm from 1992
bullet Midterm from 1994
bullet Final from 1994

Interesting Stuff

bullet uidaho.cs.theory for discussions of theoretical computer science at UI. You may use this newsgroup for discussions about this course.
bullet comp.theory for discussions of theoretical CS world-wide



Last Updated 01/13/2003 15:56 -0800