Flag | Lecture | Lab | Homework | Project |
---|---|---|---|---|
✅ | 1. Introduction | Lab00 | ||
✅ | 2. Functions | HW01 | ||
✅ | 3. Control | Lab01 | ||
✅ | 4. Higher-Order Functions | The Game of Hog | ||
✅ | 5. Environments | HW02 | ||
✅ | 6. Recursion | Lab02 | ||
✅ | 7. Tree Recursion | |||
✅ | 8. Design + Exceptions | HW03 | ||
✅ | 9. Function Examples | Lab03 | ||
✅ | 10. Decorator + Containers | |||
✅ | 11. Data Abstraction | |||
✅ | 12. Dictionaries, Trees | Autocorrected Typing Software | ||
✅ | 13. Mutable Values | Lab05 | ||
✅ | 14. List mutation + Identity + Nonlocal | |||
✅ | 15. Iterators + Generators | HW04 | ||
✅ | 16. Objects + Classes | Lab06 | ||
✅ | 17. Inheritance + Composition | Ants Vs. SomeBees | ||
✅ | 18. Special Object Methods | HW05 | ||
✅ | 19. Recursive Objects | Lab07 | ||
✅ | 20. Complexity | |||
✅ | 21. Memoization | |||
✅ | 22. Generics | Lab08 | ||
✅ | 23. Fun with Iterables | |||
✅ | 24. Scheme | Lab10 | HW06 | |
✅ | 25. Scheme Examples | |||
😴 | 26. Calculator | HW07 | ||
😴 | 27. Interpreters | Lab11 | ||
😴 | 28. Undecidability (optional) | Scheme Interpreter | ||
😴 | 29. Macros | HW08 | ||
✅ | 30. Declarative Programming | Lab12 | ||
✅ | 31. Regular Expressions | |||
✅ | 32. BNF: Backus-Naur Form | HW09 | ||
✅ | 33. Review: Regular Expressions + BNF | Lab13 | ||
✅ | 34. Review: Scheme | |||
✅ | 35. Intro to SQL (optional) | |||
✅ | 36. Review: Linked Lists + Trees | Lab14 | ||
✅ | 37. OOP: Review + Design | |||
✅ | 38. Conclusion |
- HW02: Church numeral
- HW03: change_coins, make_anonymous_factorial
- HW05: Yield Paths
- Lecture 21: Memoization(avoid redundant computations) and Dynamic Programming(do in order without ever having to test to make sure that everything is available before)
- Proj03: Optional Problem 2
- HW07: Without Duplicates
- Proj04: Problem 18 & 19