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.

CLASS #

DATE

REFERENCES

TOPICS/OTHER INFO

1

Wednesday

January 4

Chapter  7 and Chapter 44

Intro to the course.. Exhaustive search. Permutation Generation.8 Queens.  Java code for 8 Queens

2

Friday

January 6

Chapter 17

Radix Search Trie

3

Monday

January 9

Chapter 17

Patricia Tree. Kirk’s pseudo-code for search and insert

4

Wednesday

January 11

Chapter 9 and

 

Finish Patricia Trees

 

5

Friday

January 13

Chapter 6

analysis of algorithms

 

Monday

January 16

 

No Class. Martin Luther King day

6

Wednesday

January 18

Chapter 9

Quicksort and analysis of algorithms

 

Friday

January 20

 

No Class. I am out of town at an academic conference

7

Monday

January 23

Chapter 19

String Searching: Naïve and Knuth-Morris-Pratt

8

Wednesday

January 25

Chapter 19

String Searching: Boyer Moore

Performance of String Matching Algorithms on Standard Text

9

Friday

January 27

 

Quicksort, Randomized Algorithms, Pseudo-Random number generators and algorithms

10

Monday

January 30

Chapter 22

File Compression,

Huffman’s Algorithm,

Entropy

Source Coding Theorem

11

Wednesday

February 1

 

Lempel-Ziv Welch(LZW)

Source1, Source2

12

Friday

February 3

 

Move to Front Compression

13

Monday

February 6

Chapter 16

 Celebrate Steeler Super Bowl Win

Hashing:

good hash functions, fingerprinting, Horner’s method,

Bloom Filters

14

Wednesday

February 8

 

More Hashing

Rabin-Karp String Matching Algorithms

open addressed,: linear probing, primary clustering, double hashing closed address: linear chaining,

15

Friday

February10

 

First Midterm Exam

The exam will cover the material up through file compression. Many old midterms, practice midterms and solutions can be found at

http://www.cs.pitt.edu/~kirk/cs1501/OldExams/

Note that the exact topics covered and the order that the topics are covered changes each semester. So none of these midterms perfectly match the topics we have covered. But they give you some idea of the type of questions you can expect.

16

Monday

February 13

Chapter 42

Dynamic Programming:

Fibonacci Numbers

17

Wednesday

February 15

 

More Dynamic Programming

Subset Sum

 

Friday

February 17

 

No class. Please attend CS Day

19

Monday

February 20

 

Even More Dynamic Programming

Knapsack

20

Wednesday

February 22

 

Yet More Dynamic Programming

Edit Distance

Best Source Describing Algorithm

A Good Applet Showing how the Algorithm Works

21

Friday

January 24

 

Introduction to Assignment 4

22

Monday

February 27

 

More Introduction to Assignment 4

No recitation this week

23

Wednesday

March 1

Chapter 29

Graph Algorithms:

Graph Representations: Adjacency Matrix, Adjacency List

Graph Search

Breadth First Search

 

Friday

March 3

 

No Class.

 

Saturday March 4

To

Sunday

March 12

 

SPRING BREAK !

24

Monday March 13

Chapter 31

Graph Algorithms

Minimum Spanning Tree

 

25

Wednesday

March 15

Chapter 31

Graph Algorithms

Dijkstra’s Algorithm for Single Source Shortest Path

26

Friday

March 17

Chapter 11

Heaps

 

27

Monday

March 20

Chapter 30

Graph Algorithms

Depth First Search

 

28

Wednesday

March 22

 

Second Midterm Exam

The exam will cover from Hashing through heaps . Here is  a list of topics that will be covered on the midterm.. Many old midterms, practice midterms and solutions can be found at

http://www.cs.pitt.edu/~kirk/cs1501/OldExams/

Note that the exact topics covered and the order that the topics are covered changes each semester. So none of these midterms perfectly match the topics we have covered. But they give you some idea of the type of questions you can expect.

29

Friday

March 24

Chapter 30

Graph Algorithms

Depth First Search

Biconnectivity

30

Monday

March 27

 

NP-Completeness

Undecidability of the Halting Problem

31

Wednesday

March 29

Chapter 45

NP-completeness

32

Friday

March 31

 

NP-completeness

Local Search

2-OPT heuristic for Traveling Salesman Problem

Animation for 2-Opt

33

Monday

April 3

 

3-OPT Heuristic for Traveling Salesman

34

Wednesday

April 5

Chapter 33

Network Flow

Ford-Fulkerson

Here is a another animation of Ford-Fulkerson, besides the one on the course web page

35

Friday

April 7

 

Network Flow

Ford-Fulkerson

36

Monday April 10

Chapter 34

Bipartite Matching

Stable Marriage

Some slides

Example where male-optimal and female optimal differ

37

Wednesday

April 12

Chapters 23, 36

Cryptography

Secret/Symmetric Key Cryptography

Vernam/One-time pad cypher
Public key
RSA
Digital Signature
exponentiation of large numbers

38

Friday

April 14

 

Cryptography
Public key
RSA
Digital Signature
exponentiation of large numbers

39

Monday

April 17

Chapter 24

Geometric Algorithms

Point in Polygon

40

Wednesday

April 19

 

Geometric Algorithms

41

Friday

April 21

 

Midterm 3

Review Sheet