How-tos

In-class Activities

Sample solutions for in-class assignments will be made available on GitHub.

Day # Activity
1 Course Intro and Welcome to DSA
2 Greedy Algorithms Teaser, Order of Growth, and Some Kotlin
3 Arrays, Linked Lists, and Intro to Abstract Datatypes
4 Stack Implementation Walkthrough and Challenge Problems
5 Choose Your Own Adventure and Intro to Graphs
6 Graph data structures, depth-first and breadth-first search
7 DAGs, Dijkstra’s Algorithm, and Heaps
8 A-Star Search and Intro to Sorting
9 More Sorting and More Divide and Conquer
10 Divide and Conquer and Intro to Dynamic Programming
11 More Dynamic Programming
12 Dynamic Programming Wrapup and Starting Our Deep Dive
13 Reviewing Assignment 5 and Starting Assignment 6
14 Project Work Time
15 Associative Arrays and Hashing

Assignments

Due at beginning of class # Assignment
3 Hello Kotlin and Getting to Know You
5 Linked Data Structures
8 Graph Searching and Shortest Paths
10 Sorting Algorithms
12 Divide and Conquer and Dynamic Programming
15 Individual Deep Dive
17 Associative Arrays and Applications

Oral Quiz Practice Problems