CS209 Class Notes
Spring 2023 Semester

Michael Eckmann
Skidmore College

Monday, March 27, 2023
Revisit mergesort runtime analysis, more divide and conquer - MaxCSS, Tower of Hanoi
Friday, March 24, 2023
divide and conquer - finish mergesort, analyze runtime
merge_sorting.py
Wednesday, March 22, 2023
finish memoized change making, divide and conquer - mergesort
coins.py
merge_sorting.py (incomplete)
Monday, March 20, 2023
recursion, memoization
recursive_funs.py (contains memoized fib)
coins.py (contains greedy fewest coins (for U.S. coin denominations), and recursive algorithm that works with any denominations)
Friday, March 10, 2023
continue recursion
recursive_funs.py
binary_search_tree.py
testbst.py
Wednesday, March 08, 2023
continue recursion (lecture given during lab session(s))
recursive_funs.py
Monday, March 06, 2023
finish remove method in Binary Search Tree implementation, recursion
binary_search_tree.py (includes remove)
testbst.py
recursive_funs.py
Friday, March 03, 2023
continue Binary Search Trees implementation (parent reference, remove)
Wednesday, March 01, 2023
continue Binary Search Trees implementation
binary_search_tree.py (still incomplete)
testbst.py
Monday, February 27, 2023
Binary Search Trees operations and implementation
binary_search_tree.py (started, incomplete)
Friday, February 24, 2023
Trees, Binary Trees, Binary Search Trees
Wednesday, February 22, 2023
more solutions and analysis of Maximum Contiguous Subsequence (MaxCSS) Problem
max_css.py (contains all 3 algorithms)
Monday, February 20, 2023
recap of Big O, Big Omega, Big Theta, Maximum Contiguous Subsequence (MaxCSS) Problem
max_css.py (contains only the brute force solution)
Friday, February 17, 2023
use definitions of Big O, Big Omega, Big Theta
Wednesday, February 15, 2023
Induction Proofs, Big O, Big Omega, Big Theta
Monday, February 13, 2023
continue Algorithm Analysis
Friday, February 10, 2023
start Algorithm Analysis
Wednesday, February 08, 2023
more Linked Lists
linked_list.py (contains all methods we wrote including remove)
Monday, February 06, 2023
more Linked Lists
linked_list.py
Friday, February 03, 2023
comments regarding Lab work, start Linked Lists
linked_list.py
Thursday, February 02, 2023
after beginning of lab
playing_cards.py (complete)
test_cards.py
Wednesday, February 01, 2023
after beginning of lab
playing_cards.py (complete)
test_cards.py
Wednesday, February 01, 2023
more Python Review, dictionaries, writing our own classes
countwords.py (complete)
playing_cards.py (incomplete)
Monday, January 30, 2023
more Python Review, in, file input
lottery.py
textexample.txt
countwords.py (incomplete)
Friday, January 27, 2023
more Python Review
numberstats.py (with selectionSort implementation)
Wednesday, January 25, 2023
Introduction, start Python Review
guessgame.py
guessgame2.py (with too high/low hints)