CS
1501 Tentative Syllabus for Spring 2006
Information without a CLASS
# is tentative and may be significantly altered. Reexamine this page
frequently, as additional references, Web links, examples and other information
may be added throughout the term. Please also see the Algorithm
Animations page (thanks to Jonathan Beaver), which demonstrates many of the
algorithms covered throughout the course.
Tentative Midterm Dates:
·
Midterm
1: Monday October 2
·
Midterm
2: Monday November 13
·
Midterm
3: Friday December 8 for the MWF 2PM class, and Monday December 11 for the MW
6PM class
You are responsible for being
available during these times. If you have an unavoidable conflict, talk to me
as early as possible.
Week # |
DATE |
REFERENCES |
TOPICS/OTHER INFO |
1 |
Monday August 28 |
Chapter 44 |
Introduction to the course Exhaustive search. Permutation Generation. 8 Queens: Java code for 8 Queens Recitations will meet this week |
2 |
Monday September 4 |
Chapter 17 |
Radix Search Trie Patricia Tree: Kirk’s
pseudo-code for search and insert No class Monday September 8 |
3 |
Monday September 11 |
Chapters 6, 7, 8 and 9 |
More Patricia Tree. Analysis of algorithms focusing on Bubble Sort, Insertion Sort and Quick Sort. |
4 |
Monday September 18 |
Chapter 19 |
More analysis of algorithms. String Searching: Naďve, Knuth-Morris-Pratt, Boyer-Moore Performance of String Matching Algorithms on Standard Text |
5 |
Monday September 25 |
Chapter 22 |
Compression: Run Length Encoding |
6 |
Monday October 2 |
|
Midterm 1 on Monday October 2. There exam is 50 minutes and covers up through String Searching. The test is quite long for 50 minutes, so arrive on time and be ready to roll. Here is the first midterm, with answers, from last spring. Here is a directory of many old midterms. |
7 |
Monday October 9 |
Chapter 16 |
Finish Compression: |
8 |
Monday October 16 |
Chapter 16 Chapter 19 for Karp-Rabin |
Hashing: Hash Functions and Universal Hashing Finger Printing and Karp-Rabin |
9 |
Monday October 23 |
Chapter 42 |
Dynamic Programming: Fibonnaci numbers Knapsack Edit Distance Best Source Describing Dynamic Programming Algorithm A Good Applet Showing how the Algorithm Works |
10 |
Monday October 30 |
Chapter 29, 30, 31 |
Graph algorithms: Representations: adjacency matrix and adjacency list Graph search (basically want the book calls priority first search) Breadth first search Connectivity Connected Components Prim’s minimum spanning tree algorithm (priority first search) Dijkstra’s shortest path algorithm (priority first search) Heap implementation of priority queues for priority first search |
11 |
Monday November 6 |
Chapter 33 |
Network flow Ford-Fulkerson 2 Edmonds-Karp enhancements to Ford-Fulkerson Here is a another animation of Ford-Fulkerson, besides the one on the course web page |
12 |
Monday November 13 |
|
The second midterm is on Monday November 13. I will be out of town this week. Christine will cover class. The midterm will cover lecture topics from compression through graph algorithms (not including network flow). The midterm will also cover assignment 2 and 3. Here is a directory of many old midterms, including the midterms from last spring. Note that some of compression was covered in the first midterm last spring. Depth First Search Biconnectivity |
13 |
Monday November 20 |
Chapter 23 |
Secret/Symmetric Key Cryptography Vernam/One-time pad cipher Public key Note that there is no class Wed,Thurs, Fri of this week due to Thanksgiving |
14 |
Monday November 27 |
Chapters 24 Chapter 34 |
Geometric Algorithms: Point in polygon Local Search: 2-Opt for TSP, 3-Opt for TSP |
15 |
Monday December 5 |
Chapter 45 |
NP-Completeness Undecidability of the Halting Problem Midterm 3: Friday
December 8 for the MWF 2PM class, and Monday December 11 for the MW 6PM
class. The exam will cover
lecture topics from Network flow through the end of the semester. The exam
will also cover assignments 4 and 5. |
·
Tentative
Schedule of Topics for semester
·
Ch 44 Exhaustive
Search
·
Ch 17 Radix
Searching.
·
Ch 6 Analysis of
Algorithms
·
Ch 7
Implementation of Algorithms
·
Ch 9 Quick Sort.
·
Ch 16 Hashing.
·
Ch 19 String
Searching: Naďve, Knuth-Morris-Pratt, Boyer-Moore, Rabin-Karp.
·
Ch 22 File
Compression. Run length encoding, Huffman, LZW, List update
·
Ch 42 Dynamic
Programming
·
Ch 23 Cryptology
·
Ch 29 Elementary
graph algorithms
·
Ch 30
Connectivity: biconnectivity. skip
union-find.
·
Ch 31 Weighted
graphs. Priority-first MST and shortest paths. skip Kruskals.
·
Ch 32 Directed
graphs. Topological sort. Skip the rest of the chapter.
·
Ch 33 Network
flow. Ford-Fulkerson. Discuss Karp-Edmonds heuristics
·
Ch 45
NP-completeness.
·
Ch 44 Exhaustive
search. Backtracking. Local search.
·
Ch 24 Elementary
geometry algorithms. Point in polygon