| CS 415, Section 001 | Sonoma State University | Spring, 2023 |
|
Algorithm Analysis
|
||
|
Instructor: Henry M. Walker
Lecturer, Sonoma State University | ||
Although much of this course is well developed, some details can be
expected to evolve as the semester progresses.
Any changes in course details will be announced promptly during class.
| Tuesday | Thursday |
|---|---|
| January 24 Getting Started
Introduction to Algorithmic Analysis
Reading:
| January 26
Functions, Growth Rates, Most Significant Terms
Examples of Algorithmic Analysis
Reading:
Assignment on Analysis of Non-recursive Algorithms Due: Thursday, February 2 |
| January 31
Maintenance in the Software Life Cycle
Algorithmic Analysis via Experimentation
Reading
| February 2
Recursive Algorithms
Reading
In-class Quiz #1 Assignment on Analysis of Non-recursive Algorithms, Recursive Relations, and Program Format Due: Tuesday, February 14 |
| February 7
Analysis of Recursive Algorithms
Reading
| February 9
Decrease and Conquer
Introduction to Assertions
Readings:
Assignment on Recursive Algorithms, Insertion Sort, and Assertions Due: Thursday, February 16 |
| February 14
Graphs and Internal Representations
Loop Invariants: singly-nested loops
Reading:
| February 16
Loop Invariants with Nested Loops
In-class Quiz #2 Assignment on Graph Basics and Invariants for Singly-nested Loops Due: Tuesday, February 28 |
| February 21
Loop Invariants/Divide and Conquer Algorithms
Graphs and Topological Sorting
Readings:
| February 23
Reflections on Topics to Date
Assignment on Topological Sorting, Partition, and Quicksort Due: Tuesday, March 7 |
| February 28
Brute Force and Exhaustive Search
Divide-and-Conquer
Readings:
| March 2
Transform and Conquer
Readings:
In-class Quiz #3 Assignment on Brute Force Algorithms, Merge Sort, and Heaps Due: Tuesday, March 14 |
| March 7
Transform-and-Conquer
Algebraic Manipulation for Efficiency
Reading
| March 9
Time to Catch Up Assignment on Sorting and Using Algebra to Improve Efficiency Due: Thursday, March 30 |
| March 14
Test 1 (March 14) | March 16
Films and Responses: Outside Class Activity Assignment involving Films Email responses by Tuesday, March 28 |
| March 21
Spring Break (Tuesday, March 21) | March 23
Spring Break (Thursday, March 23) |
| March 28
Notes from solutions to Test 1 More Algebra for Efficiency
Space and Time Trade-offs: Dynamic Programming
Reading
| March 30
Hashing
Hashing
Reading:
Assignment on Binary Exponentiation, Dynamic Programming, and Hashing Due: Thursday, April 13 |
| April 4
Hashing
Numeric Data Representation
Reading: | April 6
Some Consequences of Numeric Data Representation
In-class Quiz #4 Quiz Revision Due: Tuesday, April 18 Assignment on Consequences of Numeric Representation Due: Tuesday, April 18 |
| April 11
Greedy Techniques
Reading:
| April 13
Greedy Techniques
Reading:
Assignment on Greedy Algorithms Due: Tuesday, April 25 |
| April 18
Time to catch up | April 20
Test 2 |
| April 25
Notes from solutions to Test 2 Introduction to Class P and NP | April 27
Limitations of Algorithm Power
Reading:
In-class Quiz #5 Assignment on Classes P and NP Due: Tuesday, May 9 |
| May 2
Classes P and NP
More Limitations of Computing
Reading:
| May 4
More Limitations of Computing
In-class Quiz #6 Coping with Limitations of Algorithm Power
Reading:
Assignment on Coping with Limitations of Computing Due: Thursday, May 11 However, if this assignment is submitted on Tuesday, May 9, it will be graded and returned on Thursday, May 11. |
| May 9
Time to Catch Up | May 11
Last day of class: Thursday, May 11 |
| May 16
Exam: Tuesday, May 16: 1:00-3:00 | May 18 |
|
created 22 June 2021 developed and refined Summer 2021 revised Summer 2022 revised January 2023 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |