./../../private/data/10/header.jpg
./../../private/data/10/header2.jpg
./../../private/data/10/header3.jpg
×
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
7.) Concurrency
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

Audio/Video Recording

Module Content

Module Overview

In this module we dive into theory and learn about proving properties of our algorithms!


Module Outline

  • Lecture outline
    • 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
    • Asymptotic Notation
    • (Maybe) Big-O of Linked Arrays/Linked List/Stack/Queue.

Slides


(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!