Labs
Every week we have a designated lab period in which you’ll work on a problem set focused on the topics discussed that week. The lab problems are meant to be solved in class, during the designated lab time, working with your group. Myself and the LAs will be around to work with the groups, facilitate discussions and answer questions.
Labs are not graded and their goal is to help you learn. It is important that you strive to work through all problems, check your notes, formulate questions, discuss with your group, the LAs and the instructor, and get your questions answered. We will ocasionally go over solutions to some lab problems as a class and if you find that useful (or not) be sure to let me know how you feel so that we can adjust.
Overall you will find that most of your learning occurs in the lab.
- Lab 1, python-warmup.ipynb, python-insertionSort.ipynb
- Lab 2 (Asymptotics)
- Lab 3 (Recurrences)
- Lab 4 (Sorting)
- Lab5 (Sorting), python-mergeSort.ipynb, python-quickSort.ipynb
- Lab6 (selection)
- Lab7 (divide-and-conquer), python-karatsuba.ipynb
- Lab8 (dynamic programming), Fib.java
- Lab9 (dynamic programming)
- Lab10 (greedy)
- Lab11 (graphs basics)
- Lab12 (more graphs basics)
- Lab13 (shortest paths)