I was a teaching assistant for UC Berkeley’s data structures course (three semesters), algorithms course (one semester), and synthetic biology course (one semester). I also lectured for the linear algebra section for Columbia University’s Introduction to Theoretical Neuroscience course (one semester).

Below are notes and practice problems I created for students, as well as useful resources I compiled.

## Notes and Practice Problems

- Git
- Java Intro
- Java: Static and Dynamic Typing
- Asymptotic Analysis
- Midterm 1 Review: [Worksheet] [Solutions]
- HashCodes and HashMaps
- Binary Search Trees
- Balanced Search Trees
- Midterm 2 Review: [Worksheet] [Solutions]
- Graphs
- Graph Algorithms
- Sorting Algorithms
- Disjoint Sets and Minimum Spanning Tree Algorithms
- Finals Review: [Worksheet] [Solutions]

## Helpful Videos

Review videos are super helpful in the data structures part of the course! Here are a few people who made great resources on data structures (I found these to be extremely useful when I was taking the course):

- 5 Minute Data Structures These videos hit on all the main points of each data structure in a quick, easy-to-review way
- Graph Algorithms Much more in-depth review of graph algorithms with examples, pseudo-code, and actual code implementation