# CS61A - Summer 2013 - All Practice Problems and Notes

Below are a list of Notes and Practice Problems related to this course. Notes are longer explanations of topics that are discussed in class. They include simpler examples and are aimed at being conceptual. Practice problems are tougher, discussion-level and exam-level material that allows you to practice what you have learned. Almost all problems include solutions but allow you to work before viewing the answers. If you have any questions about adding more material, contact me.

### Notes:

### Practice Problems:

Below are a list of practice problems, test what you've learned!

- Modulus In Logic Challenge Logic
- Finding the Greatest Common Divisor using Logic Challenge Logic
- Once an Infinite Sequence, Always an Infinite Sequence Challenge Iterators
- Better Fib Memoization
- Tree to Reversed List Challenge Tree Recursion
- Is My Tree Binary and Searchable? Challenge Tree Recursion
- Insert Into Binary Search Tree Challenge Tree Recursion
- Post Order Traversal of a Binary Tree Challenge Tree Recursion
- Pre Order Traversal of a Binary Tree Challenge Tree Recursion
- In Order Traversal of a Binary Tree Challenge Tree Recursion
- Flip Tree Challenge Tree Recursion
- Orders of Growth Practice Orders Of Growth
- Designing Classes and Using Inheritance Inheritance
- In Place Functions Challenge Mutable Data
- Pets Own the Owners Object Oriented Programming
- Tuples Practice Iterables
- Map and Filter Rlist (Object Version) Challenge Rlists
- Sort Rlist Challenge Rlists
- Filter Rlist Rlists
- Map Rlist Rlists
- Mutable Reverse List Challenge Recursion
- Merge Sort Challenge Recursion
- Binary Search Recursion
- Find Secret Using Recursion Challenge Recursion
- Longest Length of the Same Character in a String Challenge Recursion
- Sum Digits Recursion
- Newton's Method Practice Challenge Newtons Method
- What Would Python Print? Challenge Lambdas
- Functions Inside Functions Higher Order Functions
- What Are Functions? Basics