BYU Computer Science

CS 312, Algorithm Analysis, Winter 2006

Schedule for Sections 002, 003  -- Ringger

Updated: 4/17/2006

Date

No.

Lecture Topic, Help Sessions, Exams

Reading
(Read before class)

Homework

Projects, Deadlines

Week 1

1/9 1

What is an Algorithm?

1.2, 2.1-2.8  (read after)

---

---

1/11

2

Asymptotic Notation: O,Θ, Ω

3.1-3.6

HW #1

---

1/13

3

Review: Tractability, Polynomial reduction, P, NP and NP-Complete

skim Ch.12

HW #2

HW #1

Week 2

1/16

-

Martin Luther King Jr. Day Holiday

1/18

4

Amortized Analysis

4.5-4.6

HW #3

HW #2

1/20

5

Greedy algorithms

6.1, 6.2

HW #4

HW #3

Week 3

1/23

6

Introduction to Visual Studio, Model-View-Controller Design Pattern, Working with C# 

(sample code)

Articles on MVC 

HW #5

HW #4

1/25

7

Shortest Paths and Spanning Trees

6.3, 6.4

HW #6

HW #5

1/26

-

Help Session Project #1

1/27

8

Spanning Trees (continued)

--- 

---

Early #1;

HW #6

Week 4

1/30

9

(Divisible) Knapsack (I)

6.5

HW #6.5

#1: Intelligent Scissors

2/1

10

Divide and Conquer

Binary Search

7.1, 7.2

HW #7

Improvement #1;

HW #6.5

2/3

11

Analysis of Quicksort, and Median

7.4.2, 7.5

HW #8

HW #7

Week 5

2/6

12

Matrix Multiplication,

Overview of Phylogenetics

7.6, Proj #2 guidelines (in the distribution zip file)

HW #9

HW #8

2/8

13

Cryptography

7.7, 7.8

---

HW #9

2/8 - Help Session Exam #1 (study list)

2/9

-

Exam 1 TAKE HOME

2/10

-

Exam 1 TAKE HOME

2/10 - Help Session Project #2 (in class)

2/11

-

Exam 1 TAKE HOME

Week 6

2/13

14

Recurrence Relations  (homogeneous)

Recurrences handout

 HW #10

 ---

2/14

-

Help Session Project #2

2/15

15

Non-Homogeneous Recurrence Relations

Recurrences handout

 HW #11

Early #2;

HW #10

2/17

16

Recurrence Relations - Change of Variable

Recurrences handout

 HW #12

#2: Phylogenetics

Week 7

2/20

-

President's Day Holiday

2/21

17

Virtual Monday

Dynamic Programming,

Making change

8.1

---

Improvement #2;

HW #11

2/22

18

Optimality and (Gene) Sequence Alignment

8.2, 8.3

HW #13

HW #12

2/23

-

Help Session Project #3

2/24

19

0/1 Knapsack (II)

8.4

HW #14

HW #13

Week 8

2/27

20

Shortest paths (Floyd's)

8.5,8.6

HW #15 

Early #3;

HW #14

3/1

21

Chained matrix multiplication; Recursion and memory functions

8.7, 8.8

---

#3: Drill Core Alignment

3/3

22

Graph algorithms

9.1-9.5

HW #16

Improvement #3;

HW #15

Week 9

3/6

23

Knapsack (III) with Backtracking; Depth-first Search, Breadth-first Search

9.6.1

HW #17

 HW #16

3/7 - Help Session Project #4

3/8

24

Graph Coloring, 8 Queens,  Bounding Functions

9.6.2

---

HW #17

3/8 - Help Session Exam #2 (study list)
3/9
- Exam #2 in Testing Center
3/10 - Exam #2 in Testing Center Early #4

3/11

- Exam #2 in Testing Center

Week 10

3/13

25

Branch and Bound: Job Assignment

9.7

 HW #18

#4: Articulation Points

3/15

26

B&B Knapsack (IV); MiniMax

9.8

 HW #19

Improvement #4;

HW #18

3/16

- Help Session Project #5

3/17

27

Traveling Salesperson B&B

 TSP with B&B Handout

 HW #20

HW #19

Week 11

3/20

28

Traveling Salesperson B&B

 TSP with B&B Handout

 HW #21

HW #20

3/22

29

Traveling Salesperson B&B

 TSP with B&B Handout

 ---

Early #5;

HW #21

3/24

30

A* and Admissible Heuristics

Russell & Norvig 4.1, 4.2

 HW #22

#5: TSP with B&B

Week 12

3/27

31

Probabilistic Algorithms

10.1-10.4

 HW #23

Improvement #5;

HW #22

3/28 - Help Session Project #6

3/29

32

Monte Carlo Algorithms: Primality Testing

10.6

 HW #24

HW #23

3/31

33

Monte Carlo Algorithms: Amplification of Stochastic Advantage

10.5

 HW #25

HW #24

Week 13

4/3

34

Numerical Probabilistic Algorithms,

Las Vegas Algorithms

10.7

 ---

Early #6;

HW #25

4/5

35

Linear Programming

Linear Programming Notes;

Optional: Cormen et al. ch. 29 intro. & 29.1, 29.2

 HW #26

#6: Monte Carlo TSP

4/7

36 Linear Programming: Slack Form

Linear Programming Notes

 HW #27

 HW #26

Week 14

4/10

37

Simplex Method

Linear Programming Notes;

Optional: Cormen et al. 29.3

 HW #28

 HW #27

4/12

38

Parallel Algorithms

11.1, 11.2, 11.3

 HW #29

 HW #28

4/12 - Help Session Project #7

4/14

39

Parallel Mergesort

11.4, 11.5, 11.6, 11.7

 ---

Early #7;

HW #29

Week 15

4/17

40

Last day of CS 312

Review for Final Exam

Study list

 ---

#7: Linear programming

4/18

-

Last day of  Fall Instruction  (no CS 312)

4/19

-

Reading day

4/20

-

Reading day

4/21

-

Friday: 11am - 2pm Section 001 Final Exam

4/25

-

Tuesday: 11am - 2pm Section 002 Final Exam

4/25

-

Tuesday: 7pm - 10pm Section 003 Final Exam