# CS 199: Even More Practice Spring 2021

### Companion Practice Sessions for Programming with CS 125

Session timings with zoom links are posted on the CS 125 Calendar

Ask questions about the class and vote on topics for the next session on the Course Forum.

If you're taking the class for credit make sure to attend 12 sessions. You can find the attendance link here. To submit anonymous feedback, go here. The coding environment for the course will be the course home page.

## Spring 2021: EMP

Jackie's Zoom recordings playlist accessible on YouTube.

Akhila's Zoom recordings playlist accessible on YouTube.

- May 3: Midterm Review and Python [Single Page / Raw]
- Apr 30: Generics and Streaming [Single Page / Raw]
- Apr 26: MORE Recursion, MORE Trees, and MORE Sorting [Single Page / Raw]
- Apr 23: Sorting Algorithms [Single Page / Raw]
- Apr 20: Trees and Recursion [Single Page / Raw]
- Apr 16: Recursion [Single Page / Raw]
- Apr 9: MODIFIED Linked Lists, MORE Runtime Analysis, and MORE Maps [Single Page / Raw]
- Apr 6: MORE on Linked Lists, Hashing, and Maps [Single Page / Raw]
- Apr 2: Linked Lists [Single Page / Raw]
- Mar 30: MORE on Anonymous Classes and Interfaces, MORE on Lambda Expressions, MORE on Algorithm Analysis [Single Page / Raw]
- Mar 26: Lists and List Implementations, Algorithm Analysis, and Lambda Expressions [Single Page / Raw]
- Mar 23: MORE on Interfaces, Anonymous Classes, and Iterables and Iterators [Single Page / Raw]
- Mar 19: More on JSON Serialization, Interfaces, and Abstract Classes/Methods [Single Page / Raw]
- Mar 16: JSON Serialization, Reverse Engineering, Interfaces [Single Page / Raw]
- Mar 12: More About References, Java Memory Management, Imports and Libraries [Single Page / Raw]
- Mar 9: Upcasting and Downcasting Revisited, References, Shallow and Deep Copy [Single Page / Raw]
- Mar 5: Inheritance Cont., Polymorphism, Upcasting/Downcasting Mechanisms [Single Page / Raw]
- Mar 2: This Keyword, Static Methods/Fields, and Inheritance [Single Page / Raw]
- Feb 26: Objects, Constructors, Encapsulation, Java Compilation/Execution [Single Page / Raw]
- Feb 23: CSV Parsing, Java Objects, and Java Object Methods [Single Page / Raw]
- Feb 19: Assertions, Do-While Statements, Switch Statements, and More Multidimensional/String Problems [Single Page / Raw]
- Feb 16: MORE Multidimensional Arrays, MORE Strings and String Functions, and null [Single Page / Raw]
- Feb 12: Multidimensional Arrays, Strings and Algorithms, and More Functions [Single Page / Raw]
- Feb 9: Function Overloading, Void Return, Strings [Single Page / Raw]
- Feb 5: Algorithms, Functions, While Loops, and Error Types [Single Page / Raw]
- Feb 2: Compound Conditional Statements, Arrays, and For Loops [Single Page / Raw]
- Jan 29: Variables/Datatypes, Operations on Variables, and Conditional Statements and Expressions [Single Page / Raw]

Hosted by Jackie Chan and Akhila Ashokan.

## Fall 2020: EMP

- Dec 03 Fin
- Dec 01 Arrays, Lists, Maps
- Nov 19 Sorting, Trees
- Nov 17 Recursion, Trees
- Nov 12 Recursion, Trees
- Nov 10 Maps, Throwing Exceptions, Catching Exceptions and Exception Handling Patterns
- Nov 05 LinkedList, Maps, Memoization
- Oct 29 LinkedList, HashFunctions, Maps
- Oct 27 Big O, ArrayList, LinkedList
- Oct 22 Big O, ArrayList review, Practice Leetcode
- Oct 20 Using Interfaces, Defining Interfaces, Lambdas
- Oct 15 Fun With Interfaces, Abstract Classes, Grid Printing
- Oct 13 Libraries and Imports, Type Inference and Serialization
- Oct 08 Tuesday Review, Shallow vs Deep Copying, Dot Notation
- Oct 06 Upcasting and Downcasting, Super/This for Constructors, Equals
- Oct 01 This keyword, Static, Inheritance, Polymorphism, Casting
- Sep 29 Getters and Setters, Constructor Overloading, OOP Functionality
- Sep 24 Function Overloading, Multidimsional Arrays, CSV Parsing

Also check out week by week Fall2020 Quiz Prep for more reivew and practice problems.

## Spring 2019: EMP

Most of the slides are similar to Fall 2018. The newer content (problems + some explainations) for the whole semester combined are here.

## Fall 2018: EMP

Completely different from the Fall2020 onwards, so it's new content and another chance to review and look over the same concepts again.

More detailed step by step explainations, high effort diagrams, links to leetcode and new problems.

Lecture recordings playlist Youtube

- Week 13 Dec 6 - Exceptions/Errors, Try catch, Hash functions, Generics, Where to go from here?
- Week 12 Nov 29 - Web, Web APIs, Web Slinging, Web Shooting, Exceptions/Errors
- Week 11 Nov 15 - Merge Sort, Quick Sort, Stack Trace, "String" tree, Linked List, Trees
- Week 10 Nov 8 - Reversing List, Binary Tree, Sorting algorithms, BST
- Week 9 Nov 1 - ArrayList, LinkedList, Doubly LinkedList, Trees, Recursion, BST
- Week 8 Oct 25 - Algorithms, Runtime, Big O, Lists, Inheritance, Super
- Week 7 Oct 18 - References, Interfaces, Abstract, Inheritance, Array Problems
- Week 6 Oct 11 - Polymorphism, Visibility with Inheritance, Overloading, Casting, Array Problems
- Week 5 Oct 4 - Constructors, Getters, Setters, Inheritance, Super
- Week 4 Sep 27 - Objects, Visibility and Scope
- Week 3 Sep 20 - 2D Array, Nested for loops, Null vs Empty Arrays, Do while, casting
- Week 2 Sep 13 - Loops, Arrays, Algorithms and Functions, Strings, Dot Notation
- Week 1 Sep 6 - Main, User input, Primitive Types and Variables, Condtions and Loops

The source code of the website can be found on Github. Feel free to report issues or even open up a Pull Request.

The Fall 2020 slides are generated from Markdown using an open source tool Marp.

Style sheet inspired from here.