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.

Some notes

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

Huffmans

LZW (Source1, Source2 )

List Update/Move-To-Front

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:

Entropy

Source Coding Theorem

Kolmogorov Complexity

 

8

Monday

October

16

Chapter 16

Chapter 19 for Karp-Rabin

Hashing:

Hash Functions and Universal Hashing

Finger Printing and Karp-Rabin

Hash Tables

Bloom Filters

9

Monday

October

23

Chapter 42

Dynamic Programming:

Fibonnaci numbers

Subset Sum

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

Cryptography

Secret/Symmetric Key Cryptography

Vernam/One-time pad cipher

 

Public key
RSA
Digital Signature

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

Stable Marriage

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