| Syllabus (including office hours) | Latest Info | Saunders' homepage | CISC homepage | UDel homepage |

## Latest Info page, CISC 320 Algorithms, Spring, 2010

Some useful links: The Standard Template Library. The STL Documentation at SGI.

This page contains a brief summary of each class topic and the associated reading. This page morphs frequently, being updated at least weekly. You may need to reload it at each viewing to avoid being shown a stale version from your browser cache. Most recent items are at the top. Last updated May 17, 2010.

Future: Brief predictions of class topics to be covered.

Fri, May 21    Final Exam --- 10:30am to 12:30pm in 328 Purnell (our classroom)
From the syllabus: "The final exam will be 1/4 on the first half and 3/4 devoted to the second half. The exams are closed book and closed note."

Past: Brief summaries of class topics covered in reverse chronological order.

Mon, May 17

Fri, May 14    Chapter 8

• minimum distance between points in the plane
• Provably undecidable problems

Wed, May 12

• NP-complete problems
• Cook's theorem (reduction of NP to circuit-SAT).

Mon, May 10    Chapter 8

• Many, many reductions amongst hard problems
• Extra credit homework: hw6-ex.pdf, due Monday, May 17.

Fri, May 7    Chapter 8

• The problem class P.
• Reductions of one hard problem to another.
• SAT, 3-SAT, and Circuit SAT.
• Homework assignment: hw5.pdf, due Thursday, May 13.

Wed, May 5    Chapter 6.6

• Finish all pairs shortest paths
• ...compare to Gaussian elimination for solving linear systems, and
• Warshall's algorithm for transitive closure.

Mon, May 3    Chapter 8

• Traveling Salesman variants
• Hamiltonian (Rudrata) path and cycle problems
• All pairs shortest paths

Fri, Apr 30    Chapter 6.5, 6.6

• chain matrix multiplication in O(n3).
• Traveling Salesman in O(n22n).
• further considerations on the cost analysis of dynamic programming solutions

Wed, Apr 28    Chapter 6.4

• Implementing memoization
• Knapsack in O(nW)
• hw4 due tomorrow at 3:30.

Mon, Apr 26    Chapter 6.3

• Edit Distance and bioinformatics

Fri, Apr 23    Chapter 6.1, 6.2

• Longest increasing subsequences
• Use of memoization in Maple

Wed, Apr 21    Chapter 5.2

• Data Compression: Huffman codes
• Note: no homework is due this week (see note of Apr 16)
• Homework assignment: hw4.pdf, due Thursday, April 29.

Mon, Apr 19    Chapter 5.1

• union-find (5.1.4): costs O(log(n)) per op with union by weight,
• and costs amortized O(log*(n)) per op with also path compression.
• handout: union-find.cc

Fri, Apr 16    Chapter 5.1

• Cut property (5.1.2)
• finish MST: Prim's algorithm, PrimMST.h
• Change in plan: Homework 4 will be due Thursday, April 22. It will include exercises 5.2 and 5.3 among others.

Wed, Apr 14    Chapter 5.1

• minimal spanning trees: Prim's algorithm (5.1.5)
• Homework 3 due (but accepted without penalty until end of TA office hours Thursday).

Mon, Apr 12    Chapter 4.5, 5.1,

• finish with d-ary heaps (4.5.3)
• minimal spanning trees: Kruskal's algorithm (5.1.3)

Fri, Apr 9    Chapter 4.8

Wed, Apr 7    Chapter 4

• heaps

Mon, Apr 5    Chapter 4.5, 4.6, 4.8

• midterm returned, reviewed
• priority queues: heaps,

Fri, Mar 26    Midterm exam

Wed, Mar 24    Chapter 4.5

• Go over HW2, review for exam

Mon, Mar 22    Chapter 4.4

Fri, Mar 19    Finish Chapter 3

• Directed acyclic Graphs
• strongly connected components

Wed, Mar 17    Reading: DPV Chapter 4.1 through 4.4

• tree, forward, back, cross edges vis a vis depth first search
• Review of FFT

Mon, Mar 15    Reading: DPV Chapter 3.3, 3.4

• Brief follow up on roots of unity
• Directed graphs, DFS

Fri, Mar 12    Reading: DPV Chapter 2.6

• FFT continued: roots of unity, inverse FFT.
• hw1 returned.

Wed, Mar 10     Reading: DPV Chapter 2.6

• Polynomial Multiplication via evaluation and interpolation
• Fast Fourier Transform
• Homework assignment: hw2.pdf, due Wednesday, March 17.

Mon, Mar 8     Reading: DPV Chapter 3.1, 3.2

• Introduction to graphs

Fri, Mar 5     Reading: DPV Chapter 2.5

• Strassen's Matrix Multiplication algorithm

Wed, Mar 3     Reading:DPV Chapter 2.4 2.5

• merge sort
• Matrix Multiplication

Mon, Mar 1     Reading: DPV Chapter 2.3

Fri, Feb 26     Reading: DPV Chapter 2.1, 2.2, 2.3

• The divide and conquer strategy
• The key analysis tool: master theorem.
• Examples: faster integer multiplication, merge sort

Wed, Feb 24    Reading: DPV Chapter 1.2, 1.3, 2.1

• tools used in RSA: modexp, primality, faster multiply
• Homework assignment: hw1.pdf, due Wednesday, March 3.(typos fixed Mar2)

Mon, Feb 22    Reading: DPV Chapter 1.4

• Public key encryption
• RSA encryption system

Fri, Feb 19    Reading: DPV Chapter 1.2

• Extended Euclidean Algorithm

Wed, Feb 17    Reading: DPV Chapter 0, 1.2

• Approximating functions: "f(n) is about g(n)", "f is roughly proportional to g", "f is Theta of g".
• Modular arithmetic: "What is the units digit of <expression> in base N?"
• Modular inversion and extended gcd computation.

Mon, Feb 15    Reading: DPV Chapter 1.1

• Multiplication and division of nonnegative integers.