Difference between revisions of "Fall 2014 Final"
From CS 61A Wiki
[unchecked revision] | [unchecked revision] |
(→Topics) |
(→Skills) |
||
Line 83: | Line 83: | ||
== Skills == | == Skills == | ||
+ | * Writing procedures in Scheme | ||
+ | * Figuring out the first x elements of an iterator/generator/stream | ||
+ | * Writing SQL queries, especially recursive ones | ||
+ | |||
+ | '''All the skills from Exam 2 still apply:''' | ||
* Draw Box and pointer diagrams for mutable data structures | * Draw Box and pointer diagrams for mutable data structures | ||
* Drawing Environment diagrams with nonlocal | * Drawing Environment diagrams with nonlocal | ||
Line 94: | Line 99: | ||
* Identifying Domain and Range | * Identifying Domain and Range | ||
* Environment Diagrams | * Environment Diagrams | ||
− | |||
== Reviews and Guides == | == Reviews and Guides == |
Revision as of 16:25, 6 December 2014
Contents
Topics
Final Topics
- Exceptions
- Scheme
- Scheme lists and dotted lists
- Parsing (syntactic analysis)
- Eval/Apply mutual recursion
- Dynamic vs lexical scope
- Tail calls
- Iterators
- Generators and generator functions
- Streams
- SQL
The upcoming final is cumulative, meaning you're expected to be familiar following midterm 1 and 2 topics.
Midterm 2 Topics
- Data abstraction
- Lists
- Functional pairs
- The sequence abstraction
- For statements
- Ranges
- Strings
- List comprehensions
- Dictionaries
- Dictionary comprehensions
- apply_to_all, keep_if, and reduce
- Linked lists (both ADT and class representation)
- Rooted trees (both ADT and class representation)
- Mutable data
- Nonlocal statements
- Identity vs. equality
- Class statements
- Invoking methods
- Dot expression evaluation
- Attribute assignment
- Bound methods vs functions
- Class vs instance attributes
- Inheritance
- str and repr strings
- Interfaces
- Property methods
- Special methods
- Type dispatching
- Type Coercion
- Counting calls and frames
- Memoization
- Orders of growth
- Sets
- Binary search trees
Midterm 1 Topics
- Primitive expressions
- Call expressions
- Import statements
- Expression trees
- Assignment statements
- Pure and non-pure functions
- Def statements and user-defined functions
- Applying user-defined functions
- Environments
- Environment diagrams
- Arithmetic operators
- Local assignment
- Conditional statements
- Boolean contexts
- Boolean operators
- Iteration with while statements
- Passing functions as arguments
- Nested def statements
- Functions as returned values
- Lambda expressions
- Currying
- Recursive functions
- Mutual recursion
- Tree recursion
Skills
- Writing procedures in Scheme
- Figuring out the first x elements of an iterator/generator/stream
- Writing SQL queries, especially recursive ones
All the skills from Exam 2 still apply:
- Draw Box and pointer diagrams for mutable data structures
- Drawing Environment diagrams with nonlocal
- Reading the problem critically/figuring out what the problem is asking
- Understanding doctests
- Designing classes for Object Oriented Programming problems
- Identifying the Theta of a function
All the skills from Exam 1 still apply:
- Identifying the Operator and Operands
- Identifying Domain and Range
- Environment Diagrams
Reviews and Guides
- Immutable vs Mutable data
- Complete walk-through of Fall 2013 Midterm 2
- Youri's tutorials (environment diagrams, OOPs, Orders of Growth)
- Guide to Orders of Growth and Function Runtime
Practice Problems
- Environment Diagram Practice
- Albert Wu's Midterm 2 Practice Problems
- Andrew Huang's Midterm 2 Review Questions
- Mark Miyashita's old TA website
- Youri Park's Practice Problems
Guerrilla Section Worksheets
Practice Midterms
... Can be found on the Past exams page.
Problems to Focus on from Past exams
Not comprehensive, but a good start
Can be sorted by year or by Topic! (Default is by topic)
Note: Replace Rlist with Link
Question | Topic |
---|---|
Fall 2011 Midterm 1 (4) | Data Abstraction |
Spring 2014 Midterm 2 (3) | Data Abstraction |
Summer 2014 Midterm 1 (6) | Data Abstraction |
Summer 2012 Midterm 1 (6) | Linked Lists (Deep irlists => Deep Linked Lists) |
Summer 2014 Midterm 1 (4) | Linked Lists |
Summer 2014 Midterm 2 (8) | Linked Lists and Python Lists (challenging) |
Summer 2014 Midterm 2 (2b) | Environment Diagrams with Mutable Objects |
Summer 2013 Midterm 2 (3a) | Environment Diagrams with Mutable Objects |
Fall 2013 Midterm 2 (2b) | Environment Diagrams with Mutable Objects |
Summer 2013 Final (3a) | Environment Diagrams with Mutable Objects |
Spring 2013 Midterm 2 (1a) | Environment Diagrams with Mutable Objects |
Spring 2013 Final (2) | Environment Diagrams with Mutable Objects |
Fall 2012 Midterm 2 (2b) | Environment Diagrams with Mutable Objects |
Summer 2014 Midterm 2 (2a) | Environment Diagrams with Nonlocal |
Summer 2013 Midterm 2 (3b) | Environment Diagrams with Nonlocal |
Summer 2013 Final (3a) | Environment Diagrams with Nonlocal |
Fall 2013 Midterm 2 (2a) | Environment Diagrams with Nonlocal |
Spring 2013 Midterm 2 (2a) | Environment Diagrams with Nonlocal |
Fall 2012 Midterm 2 (2a) | Environment Diagrams with Nonlocal |
Fall 2012 Final (2b) | Environment Diagrams with Nonlocal |
Summer 2012 Final (8) | Environment Diagrams with Nonlocal |
Fall 2011 Midterm 2 (1b) | Environment Diagrams with Nonlocal |
Fall 2011 Final (2a) | Environment Diagrams with Nonlocal |
Summer 2012 Midterm 2 (2) | Using Nonlocal |
Fall 2011 Midterm 2 (1a) | Using Nonlocal |
Summer 2014 Midterm 2 (3) | Python3 Lists |
Fall 2013 Midterm 2 (1) | Python Lists |
Summer 2013 Midterm 2 (1) | Python Lists |
Fall 2013 Final (2a) | Python Lists |
Fall 2012 Midterm 2 (1a, 4b) | Python Lists |
Fall 2012 Final (1a) | Python Lists |
Summer 2012 Midterm 2 (1) | Python Lists |
Fall 2011 Midterm 2 (2) | Python Lists |
Summer 2013 Midterm 2 (4) | Dictionaries |
Summer 2012 Final (11) | Dictionaries |
Summer 2014 Midterm 2 (7) | Trees |
Summer 2014 Midterm 1 (5) | Trees |
Summer 2013 Midterm 2 (5, 6) | Trees |
Fall 2013 Midterm 2 (3c) | Trees |
Fall 2013 Final (4c, see r_list object in 4b) | Trees |
Spring 2013 Final (1) | Trees |
Fall 2012 Midterm 2 (3b) | Trees |
Fall 2012 Final (3b, 3d) | Trees |
Fall 2011 Midterm 2 (4e) | Trees |
Summer 2014 Midterm 2 (1) | Object Oriented Programming |
Summer 2013 Final (2, 6) | Object Oriented Programming |
Spring 2013 Midterm 2 (1b, 5) | Object Oriented Programming |
Fall 2013 Midterm 2 (3a, 4) | Object Oriented Programming |
Fall 2013 Final (4b) | Object Oriented Programming |
Spring 2013 Final (5) | Object Oriented Programming |
Fall 2012 Midterm 2 (1b, 3a) | Object Oriented Programming |
Fall 2012 Final (3a) | Object Oriented Programming |
Summer 2012 Midterm 2 (4, 5) | Object Oriented Programming |
Summer 2012 Final (9) | Object Oriented Programming |
Fall 2011 Midterm 2 (3) | Object Oriented Programming |
Fall 2011 Final (1) | Object Oriented Programming |
Summer 2013 Final (4) | Generic Functions |
Summer 2014 Midterm 1 (8) | Orders of Growth |
Summer 2012 Final (2) | Orders of Growth |
Summer 2013 Midterm 2 (2) | Orders of Growth |