Participation

Please register for the course to gain access to the Adam workspace.

Lecture Material

A1
28.2.
Organizational Matters
Slides (Print 4-on-1, 1-on-1)
A2
28.2.
Python Intro
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A3
29.2.
Sorting I: Selection and Insertion Sort
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A4
29.2.
6.3.
Sorting II: Merge Sort
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A5
6.3.
Runtime Analysis: Introduction and Selection Sort
Slides (Print 4-on-1, 1-on-1)
A6
7.3.
Runtime Analysis: Logarithm
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A7
7.3.
Runtime Analysis: Bottom-Up Merge Sort
Slides (Print 4-on-1, 1-on-1)
A8
13.3.
Runtime Analysis: Asymptotic Notation
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A9
13.3.
Runtime Analysis: Application
Slides (Print 4-on-1, 1-on-1)
A10
14.3
Runtime Analysis: Divide-and-Conquer Algorithms
Slides (Print 4-on-1, 1-on-1)
A11
14.3
Runtime Analysis: Solving Recurrences
Slides (Print 4-on-1, 1-on-1)
A12
20.3
Sorting: Quicksort (& Heapsort)
Slides (Print 4-on-1, 1-on-1)
A13
20.3
Sorting: Lower Bound
Slides (Print 4-on-1, 1-on-1)
A14
21.3.
Sorting: Counting Sort & Radix Sort
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A15
21.3.
Sorting: Overview & Outlook
Slides (Print 4-on-1, 1-on-1)
B1
27.3.
3.4.
Arrays and Linked Lists
Slides (Print 4-on-1, 1-on-1)
Notebook linked-lists:
JupyterHub (VPN), Github
Notebook linked-lists-with-solutions:
JupyterHub (VPN), Github
Notebook doubly-linked-lists:
JupyterHub (VPN), Github
B2
3.4.
Abstract Data Types: Stacks & Queues
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B3
4.4.
Heaps, Heapsort and ADT Priority Queue
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B4
11.4.
17.4.
Hash Tables
Slides (Print 4-on-1, 1-on-1)
B5
17.4.
Binary Search Trees
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B6
18.4.
24.4.
Red-Black Trees
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B7
24.4.
Abstract Data Types: Maps & Sets
Slides (Print 4-on-1, 1-on-1)
C1
25.4.
Graph Exploration
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
C2
2.5.
Graph Exploration: Applications
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
C3
8.5.
Disjoint-set Data Structure/Union-Find
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
C4
16.5.
Minimum Spanning Trees
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
C5
22.5.
Shortest Paths: Foundations
Slides (Print 4-on-1, 1-on-1)
C6
23.5.
Shortest Paths: Algorithms
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
C7
29.5.
Graphs: Outlook
Slides (Print 4-on-1, 1-on-1)
C8
30.5.
Concepts
Slides (Print 4-on-1, 1-on-1)