Important Handouts
- Syllabus
- Note that the schedule of topics was updated to reflect the updated semester calendar due to inclement weather in February.
Lecture Notes
Lecture note slide-decks will be updated as we cover more material.
- Chapter 2 Analysis Notes
- Notes from class – Module 01
- These are the notes I wrote out while lecturing up through about the end of February.
- Divide and Conquer (The end)
- Graphs – I
- Graphs – II – Topological Sorting
- Graphs – III – Dijkstra’s Algorithm
- BGL – Repo
- GN Algorithm
- Minimum Spanning Trees
- Union Find
- Dynamic Programming
- Dynamic Programming – 2
- Exact String Matching – I
- Materials referenced from Dr. Ben Langmead
- Boyer-Moore – Pulling it Together
- Approximate String Matching
- Approximate String Matching II (or click here for pdf if you prefer)
Take Home Final Exam
Programming Projects
- Fill the Walls (Handout is the Slide Deck)
- Github Assignment Link for repository creation.
- You should have the option to create a new Team or join one that already exists. Coordinate with your partner if you are doing this in teams of 2.
- Sorting Analysis
- Github Assignment Link for Repo Creation
- Community Detection
- Its a Race… Prim and Kruskal MST
Homework Assignments
Midterm
Good Reference Materials
- Algorithm and Data Structure Cheatsheet
- Recurrence Relations
- Recurrences – Notes by Prof. Jeff Erickson at UIUC – See section three on material related to the using recursion trees to solve recurrences.
- Geeks for Geeks – Recursion Trees and the Master Method
- More on Sorting Algos
- Sorting Algorithms – a blog post with some nifty animations
- Sorting Algorithms Wikipedia Page
- Effective Modern CMake
- Features of Modern C++