CS209 Class Notes
Spring 2024 Semester

Michael Eckmann
Skidmore College

Monday, April 29, 2024
Graphs, DFS, shortest path considerations
Friday, April 26, 2024
Graphs, BFS
Wednesday, April 24, 2024
efficiency of AVL tree operations, start Graphs
Monday, April 22, 2024
Exam 2
Friday, April 19, 2024
Balanced Binary Search trees, AVL trees
Wednesday, April 17, 2024
more Hash tables - describe double hashing
htqp.py (with suggestions on doing double hashing)
useht.py
Monday, April 15, 2024
more Hash tables
ll.py
hashtable.py (with sep. chaining collision handling)
hashtable.py (with quadratic probing collision handling)
useht.py
Friday, April 12, 2024
Hash tables
ll.py
hashtable.py (with sep. chaining collision handling)
useht.py (started)
Wednesday, April 10, 2024
Quicksort comments and analysis, start Hash tables
qs-with-size-check.py
Monday, April 8, 2024
Heapsort and Quicksort
qs.py
Friday, April 5, 2024
Implement a BinaryMaxHeap and PriorityQueue
pqheap.py
testheap.py
Wednesday, April 03, 2024
Priority Queue, Binary Heap
Monday, April 01, 2024
finish implementing Stack, implement a Queue, radix sort
stack.py
teststack.py
ll.py
queue1.py
testq.py
radixsortcode.py
testrs.py
Friday, March 29, 2024
finish apply D & C to Maximum CSS, apply to Towers of Hanoi, start Stacks and Queues
maxcssdc.py
testmaxcss.py
hanoi.py
stack.py (just started)
Wednesday, March 27, 2024
revisit MergeSort algorithm for runtime analysis, apply D & C to Maximum CSS
merge_sort.py
testms.py
maxcssdc.py (unfinished)
Monday, March 25, 2024
Guest lecture (Nelson Dellis) on Divide and Conquer and MergeSort
Friday, March 22, 2024
more Recursion - implement find max iteratively and recursively, fewest coins recursively and with memoization
BSTcode.py (with recursive find max)
testBST.py
fewcoins.py
Wednesday, March 20, 2024
more Recursion
BSTcode.py (with recursive insert)
testBST.py
recursivefuns.py
Monday, March 18, 2024
finish writing remove for a BST, start Recursion
BSTcode.py (complete)
recursivefuns.py
Friday, March 08, 2024
more Binary Search Trees
BSTcode.py (added parent reference to a node, and wrote remove method (still to finish))
Wednesday, March 06, 2024
in-class exam
Monday, March 04, 2024
more Binary Search Trees
BSTcode.py
testBST.py
Friday, March 01, 2024
Trees, Binary Trees, Binary Search Trees
BSTcode.py
Wednesday, February 28, 2024
Maximum Contiguous Subsequence problem, three algorithms to solve
exam1-topics-list.txt
maxcsscode.py
Monday, February 26, 2024
more Big O, Big Omega, Big Theta
Friday, February 23, 2024
Proof By Induction technique, Asymptotic notation - Big O, Big Omega, Big Theta definitions
Wednesday, February 21, 2024
more algorithm analysis - functions and their order
maxcode.py
Monday, February 19, 2024
more runtime algorithm analysis
Friday, February 16, 2024
start runtime algorithm analysis
Wednesday, February 14, 2024
more Linked Lists
ll.py
testsearch.py
Monday, February 12, 2024
more Linked Lists
ll.py
testll.py
Friday, February 09, 2024
references, start Linked Lists
ll.py
testll.py
Wednesday, February 07, 2024
overload the comparison operators in Card, example of effect of public vs. private instance variables, discussion on instance variables and methods for a few classes
playingcards.py
Monday, February 05, 2024
continue Python Review - finish writing Deck class
playingcards.py
testdeck.py
Friday, February 02, 2024
continue Python Review - write Card and Deck classes
playingcards.py
testcards.py
Wednesday, January 31, 2024
continue Python Review - sorting dictionaries, start classes
readwords.py (contains code to sort the words by frequency)
Monday, January 29, 2024
continue Python Review - split a string, dictionaries
readwords.py
Friday, January 26, 2024
continue Python Review - in (search), File I/O, split a string
lottery.py
textexample.txt
testread.py
Thursday, January 25, 2024
continue Python Review - for loops, calling functions, capturing returned value, selection sort
numberstats.py (code written in 1st lab session)
numstats.py (code written in 2nd lab session)
Wednesday, January 24, 2024
Introduction, start Python Review
guess1.py
guess2.py