Participation

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

Lecture Material

A1
19.2.
Organizational Matters
Slides (Print version)
A2
19.2.
Python Intro
Slides (Print version)
Notebook: JupyterHub (VPN), Github
A3
20.2.
Sorting I: Selection and Insertion Sort
Slides (Print version)
Notebook: JupyterHub (VPN), Github
A4
20.2.
26.2.

Sorting II: Merge Sort
Slides (Print version)
Notebook: JupyterHub (VPN), Github

A5
26.2.
Runtime Analysis: Introduction and Selection Sort
Slides (Print 4-on-1, 1-on-1)
A6
27.2.
Runtime Analysis: Logarithm
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github

A7
27.2.

Runtime Analysis: Bottom-Up Merge Sort
Slides (Print 4-on-1, 1-on-1)
A8
5.3.
Runtime Analysis: Asymptotic Notation
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
A9
5.3.
Runtime Analysis: Application
Slides (Print 4-on-1, 1-on-1)
A10
6.3
Runtime Analysis: Divide-and-Conquer Algorithms
Slides (Print 4-on-1, 1-on-1)
A11
6.3
Runtime Analysis: Solving Recurrences
Slides (Print 4-on-1, 1-on-1)
A12
19.3
Sorting: Quicksort (& Heapsort)
Slides (Print 4-on-1, 1-on-1)
A13
19.3
Sorting: Lower Bound
Slides (Print 4-on-1, 1-on-1)
A14
20.3.
Sorting: Counting Sort & Radix Sort
Slides (Print 4-on-1, 1-on-1)
Notebooks:
counting sort on JupyterHub (VPN), counting sort on Github
radix sort on JupyterHub (VPN), radix sort on Github
A15
20.3.
Sorting: Overview & Outlook
Slides (Print 4-on-1, 1-on-1)
B1
26.3.
27.3.
Arrays and Linked Lists
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B2
27.3.
Abstract Data Types: Stacks & Queues
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github
B3
3.4.
Heaps, Heapsort and ADT Priority Queue
Slides (Print 4-on-1, 1-on-1)
Notebook: JupyterHub (VPN), Github, Github with solutions