CS 415, Section 001 | Sonoma State University | Spring, 2024 |
Algorithm Analysis
|
||
Instructor: Henry M. Walker
Lecturer, Sonoma State University |
Although much of this course has been well developed in recent semesters, the SSU CS faculty recently have approved a partially-updated course description. Currenly, the Web site is reasonably stable, but modest refinements are possbile.
Since May, 2024, the California Faculty Association (CFA) – the labor union of professors, lecturers, librarians, counselors, and coaches across the 23 California State University campuses – has been in negotiations with the management of the California State University System. After a one-day strike on Monday, January 22, the two sides have reached a tentative agreement, and the strike has been called off. Effective Tuesday, January 23, SSU classes (including CS 415) will be held as scheduled.
Tuesday | Thursday |
---|---|
January 23 Getting Started
Introduction to Algorithmic Analysis
Reading:
| January 25
Functions, Growth Rates, Most Significant Terms
Examples of Algorithmic Analysis
Reading:
Assignment on Analysis of Non-recursive Algorithms Due: Thursday, February 1 |
January 30
Maintenance in the Software Life Cycle
Algorithmic Analysis via Experimentation
Reading
| February 1
Recursive Algorithms
Reading
In-class Quiz #1 Assignment on Analysis of Non-recursive Algorithms, Recursive Relations, and Program Format Due: Thursday, February 8 |
February 6
Analysis of Recursive Algorithms
Reading
Decrease and Conquer
| February 8
Introduction to Assertions
Readings:
Assignment on Recursive Algorithms, Insertion Sort, and Assertions Due: Thursday, February 15 |
February 13
Graphs and Internal Representations
Loop Invariants: singly-nested loops
Reading:
| February 15
Loop Invariants with Nested Loops
Readings:
In-class Quiz #2 Assignment on Graph Basics and Invariants for Singly-nested Loops Due: Thursday, February 22 |
February 20
Loop Invariants/Divide and Conquer Algorithms
Graphs and Topological Sorting
| February 22
Readings:
More about Quicksort
Due: Thursday, February 29 |
February 27
Reflections on Topics to Date
| February 29
Brute Force and Exhaustive Search
Divide-and-Conquer
Readings:
In-class Quiz #3 !Assignment on Brute Force Algorithms and Merge Sort Due: Thursday, March 7 |
March 5
Transform and Conquer
Readings:
| March 7
Transform-and-Conquer
Algebraic Manipulation for Efficiency
Reading
Assignment on Heaps, Sorting, and Using Algebra to Improve Efficiency Due: Thursday, March 14 |
March 12
Time to Catch Up | March 14
Test 1 (March 14) |
March 19
Spring Break (Tuesday, March 19) | March 21
Spring Break (Thursday, March 21) |
March 26
Notes from solutions to Test 1 More Algebra for Efficiency
Space and Time Trade-offs: Dynamic Programming
Reading
| March 28
Hashing
Hashing
Reading:
!Assignment on Binary Exponentiation, Dynamic Programming, and Hashing Due: Thursday, April 4 |
April 2
Hashing
Numeric Data Representation
Reading: | April 4
Some Consequences of Numeric Data Representation
In-class Quiz #4 Assignment on Consequences of Numeric Representation Due: Thursday, April 11 |
April 9
Numerical Approximation Algorithms
Algorithms
Reading:
Greedy Techniques
Reading:
| April 11
Greedy Techniques
Reading:
Assignment on Greedy Algorithms Due: Thursday, April 18 |
April 16
Time to catch up | April 18
Test 2 |
April 23
Notes from solutions to Test 2 Graph Approximation Methods
Reading:
| April 25
Graph Approximation Methods, Continued
Reading (Continued):
Assignment on Approximation Methods Due: Thursday, May 2 |
April 30
RSA Encryption
Film:
In-class Quiz #5 | May 2
More RSA Encryption
Assignment on RSA Encryption (with an Extra Credit Option) Due: Thursday, May 9 However, if this assignment is submitted on Tuesday, May 7, it will be graded and returned on Thursday, May 9. |
May 7
Time to Catch Up In-class Quiz #6 | May 9
Last day of class: Thursday, May 9 |
May 14
Exam: Tuesday, May 14: 1:00-3:00 | May 16 |
created 22 June 2021 developed and refined Summer 2021 revised Summer 2022 revised January 2023 revised Summer 2023 |
|
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |