CS 312, Section 001 |
Instructor: Brian Price
Class Page: http://rivit.cs.byu.edu/~bprice/CS312
Schedule
Last updated: 2007 April 17
Optional readings are enclosed in (parentheses).
Note: Keys to homework assignments are available on Blackboard.
Date |
Lecture |
Topics |
|
Homework, Projects |
Deadlines |
|
Week 1 |
||||||
5/2 |
1 |
Asymptotic notation: Duality, Limit rule; |
Sections 0, 1.1 |
Install Visual Studio 2005 HW #1: 0.1 (a-e, g, m), 0.3 (a,b) |
--- |
|
5/4 |
2 |
Asymptotic notation:
Max rule; |
Sections 1.2, 1.3 |
HW #2: 1.25 (replace 125 with 126 for the exponent), Simple Fermat primality tester for small numbers |
HW #1 |
|
Week 2 |
||||||
5/7 |
3 |
Divide & Conquer Multiplication; |
Sections 1.4, 2.1 and 2.2 |
Project #1: Divide & Conquer - Convex Hull |
distro | HW #2 |
HW #3: 1.27, 2.1, 2.5(a-f) |
||||||
5/9 |
4 |
HW #4: Part I Exercises (Section 1.3), Part II Exercises (Section 2.3) |
HW #3 |
|||
5/11 |
5 |
Recurrence Relations Notes, Parts III & IV Section 2.3 |
HW #5: Part III Exercises (Section 3.2) #1-2, Problem 2.4 in book (using Master Theorem where possible) |
HW #4 | ||
Week 3 |
||||||
5/14 |
6 |
Sections 2.4, 2.5, 2.6 |
HW #6: Cancelled |
Project #1 |
||
| HW #5 | ||||||
5/16 |
7 |
Graph
algorithms: Formulating problems as graphs; |
Chapter 3 |
distro | Improvement #1 |
|
| Read the Project #2 Guidelines and understand problem #3.31 HW #7: 3.4 (graph ii only), 3.15 |
HW #6 | |||||
5/18 |
8 |
Worked example of algorithm for finding strongly connected components |
Sections 3.4, 4.1-4.5 |
Work through Problem 3.31 for Project #2 HW #8: 4.1 |
HW #7 |
|
Week 4 |
||||||
5/21 |
9 |
Dijkstra's algorithm; Efficiency with various Priority Queue implementations; Greedy algorithms: |
Sections 4.6-4.7, 5.1 |
HW #9: Cancelled |
HW #8 |
|
5/23 |
10 |
Sections 5.2 |
distro | Project #2 |
||
| HW #10: Cancelled | HW #9 | |||||
5/24 |
Mid-Term Exam in Testing Center |
|||||
5/25 |
||||||
5/25 |
11 |
Dynamic Programming; |
Sections 5.3, 5.4, 6.1, 6.2 |
Improvement #2 |
||
Week 5 |
||||||
5/28 |
- |
|
||||
5/30 |
12 |
Sections 6.3, 6.4 |
HW #12: find optimal alignment by hand of ATGCC and
TACGCA, and this |
--- |
||
6/1 |
13 |
Chain Matrix Multiplication; |
Section 6.5 |
Project #4: Gene Sequence Alignment |
distro | Project #3 |
| HW #11 | ||||||
Week 6 |
||||||
6/4 |
14 |
Section 6.6; |
HW #13: 7.1, 7.2 | Improvement #3 | ||
| HW #12 | ||||||
6/6 |
15 |
Section 7.2-7.4 |
HW #14: 7.10 | HW #13 | ||
6/8 |
16 |
Section 7.6; Section 8.2: pp. 243-247 |
Project #4 | |||
| HW #14 | ||||||
Week 7 |
||||||
6/11 |
17 |
Back-tracking search: Graph
coloring, 8
Guided search; |
Sections 9.1-9.2 | Project #6: Solving the TSP with Branch & Bound | distro | Improvement #4 |
| HW #15: 9.2 (use 0-1 Knapsack instead of Rudrata Path) | ||||||
6/13 |
18 |
Solving the TSP with Branch and Bound Solving the TSP with Branch and Bound (cont.) |
Project #5 |
|||
| HW #15 | ||||||
6/15 |
19 |
A* Search and Admissible Heuristics; Randomized Algorithms; |
Russell & Norvig 4.1-4.2 "Virtual Chapter" (beginning with the gray box on p. 29) |
See last slide in the lecture notes; not to be turned in; good practice for final exam. |
HW #16 |
|
Week 8 |
||||||
6/18 |
20 |
--- |
Project #6 |
|||
|
No late work accepted after this date | |||||
6/19 |
- |
|
||||
6/20 |
- |
|||||