All course notebooks are listed below. These are organized by module, each of which contains multiple notebooks organized by topic.
These notebooks are prepared using Jupyter, an interactive environment for coding and presenting. There are multiple ways to view them:
- Dynamically: view a live version of the notebook using binder.
- Statically: view a static version of the notebook using nbviewer
- You can clone this repo and view the notebooks locally. Microsoft's VS Code natively supports jupyter.
Links for using methods 1 and 2 are provided below, but method 3 is the preferred method. Once set up, viewing and interacting with notebooks locally will be your smoothest option.
| Topic |
|---|
| Introduction to Programming |
| Variables live / static |
| Strings live / static |
| Input Output live / static |
| Conditionals live / static |
| Loops live / static |
| Functions live / static |
| Lists Sets Tuples live / static |
| Dictionaries live / static |
| Files live / static |
| Algorithms and Algorithm Analysis |
| Introduction live / static |
| Asymptotic Analysis live / static |
| Selection Sort live / static |
| Recursion live / static |
| Parallelism live / static |
| Recurrences Pt 1 live / static |
| Recurrences Pt 2 live / static |
| Merge Sort live / static |
| Data Structures |
| Object Oriented Programming live / static |
| Linked Lists live / static |
| Stacks And Queues live / static |
| Binary Search Trees live / static |
| Graphs live / static |
| Graph Exploration live / static |