Module 10 Primer on Proofs
1.) Overview of Computer Systems and Linux Crash Course
2.) The C Programming Language: Building Blocks and Data Structures
3.) Memory, Virtual Memory, and C-Strings (5009-Debugging)
4.) A peek into Assembly and CPU Architecture (And more debugging)
5.) Writing Bigger Software - Compilers, Linkers, and Code Generation
6.) Processes and the Memory Hierarchy
8.) Algorithms Foundations: Sorting - Selection, Insertion, Bubble
9.) Spring Break
10.) Primer on Proofs
11.) nLogn Sorts and How We Prove It
12.) Trees, Heaps, and Heapsort
13.) Introduction to Graphs
14.) Greedy Algorithms and Dynamic Programming
15.) Final Review and Course Wrap up
☰ Select another Module
Module 10 - Primer on Proofs
Readings/Warmup (Do before class)
Introduction to Data Structures and Algorithms Notes
(Nice summary of data structures and algorithm techniques)
MIT Notes on proofs
(More useful notes on proofs)
(Clear definition of Big-O)
Test Your Knowledge (Optional)
Test your knowledge on the readings
] (This is not graded)
Commented Code Samples (if any)
For now I am linking code samples here:
Github Code Repository for the course
Data Types and Data Structures
Nice summary of categorizing data structures
In this module we dive into theory and learn about proving properties of our algorithms!
How Do We Really ‘Know’ Something and prove it?
What's the point of proving something?
A Primer on Proof Techniques
Proving Algorithm Correctness for Searching and Sorting
(Maybe) Big-O of Linked Arrays/Linked List/Stack/Queue.
Direct Link to Slides
(Available to follow along during class)
(Graded) In-Class Activity link
In-Class Activity Link
This is graded, and only your first response is graded
This is an evaluation of what was learned in lecture.
Due one week from when the lecture takes place
Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!