In-class notebooks for Fall 2020
- Aug 20-22 -- Strings (slicing, splitting); assertions; basic complexity; comprehensions; zipper iteration; filter [HTML Preview | Launch in Google Colab]
- Aug 25 -- References; pythontutor.com; shallow vs. deep copy; immutability; tuples; functions; lambdas; higher-order functions (passing functions to other functions) [HTML Preview | Launch in Google Colab]
- Aug 27 -- Example problem: longest consecutive subsequence ("one-at-a-time" vs. "data-parallel") [HTML Preview | Launch in Google Colab]
- Sep 1 -- Refactoring; two more data-parallel methods for the LCS example ("analyze-and-slice" vs. "transform-and-split") [HTML Preview | Launch in Google Colab]
- Sep 3 -- Notebook 1 sample solutions; default dictionaries (Notebook 2); Topic 4 teaser (Google Colab GPU demo) [HTML Preview | Launch in Google Colab | Topic 4 Teaser on Colab]
- Sep 15 -- Notebook 2 sample solutions; duck typing; higher-order functions) [Part A - HTML Preview | Launch Part A in Google Colab | [Part B - HTML Preview | Launch Part B in Google Colab]
- Sep 29 -- Review: Nested data structures + Midterm 1 Q&A [HTML Preview | Launch in Google Colab]
- Oct 8 -- Midterm 1 (see Canvas) and SQL vs. Pandas Review [HTML Preview | Launch in Google Colab
- Oct 15 -- Sparse data structures (user-movie example, SQL and Python) [HTML Preview | Launch in Google Colab
- Oct 20 -- COO-to-CSR [HTML Preview | Launch in Google Colab