Difference between revisions of "Fall 2014 Final"

From CS 61A Wiki
Jump to: navigation, search
[unchecked revision][checked revision]
(Topics)
(Reviews and Guides)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
'''Check for updates in the next few days. --[[User:Andrew|Andrew]] ([[User talk:Andrew|talk]]) 16:58, 6 December 2014 (PST)'''
 +
 +
'''Also check the pages for [[Fall 2014 Exam 1]] and [[Fall 2014 Exam 2]] for more resources.'''
 +
 
== Topics ==
 
== Topics ==
 
=== Final Topics ===
 
=== Final Topics ===
Line 81: Line 85:
 
* Tree recursion
 
* Tree recursion
 
</div>
 
</div>
 +
  
 
== 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 97: Line 107:
  
 
== Reviews and Guides ==
 
== Reviews and Guides ==
* [https://d1b10bmlvqabco.cloudfront.net/attach/hoxc5uu6sud761/gozdkhgdUbT/htdlpko411i0/Python__Immutable_vs_Mutable.pdf Immutable vs Mutable data]
+
* [https://piazza.com/class/hx2jz3h2i112h8?cid=4565 Quick Guide to SQL and Recursive Queries]
* [http://www.ocf.berkeley.edu/~shidi/cs61a/61a-fa13-midterm2-walkthrough.pdf Complete walk-through of Fall 2013 Midterm 2]
+
* [https://piazza.com/class/hx2jz3h2i112h8?cid=2886 Append vs Cons vs List]
* [http://youripark.github.io/tutorials.html Youri's tutorials (environment diagrams, OOPs, Orders of Growth)]
+
* [https://piazza.com/class/hx2jz3h2i112h8?cid=2962 All Scheme Resources]
* [https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Guide to Orders of Growth and Function Runtime]
+
* [https://piazza.com/class/hx2jz3h2i112h8?cid=4754 Coffee Latte video walkthrough]
  
 
== Practice Problems ==
 
== Practice Problems ==
* [https://piazza.com/class/hx2jz3h2i112h8?cid=2493 Environment Diagram Practice]
+
* [https://piazza.com/class/hx2jz3h2i112h8?cid=4720 Andrew's Last Discussion worksheet/solutions]
* [http://albertwu.org/cs61a/review/mt2 Albert Wu's Midterm 2 Practice Problems]
+
* [http://albertwu.org/cs61a/review/final Albert Wu's Final Practice Problems]
* [https://docs.google.com/document/d/1RlXy9xpyRE8JPbEDrU4YSoxR5f4N2QAgFCwPodzOPYc Andrew Huang's Midterm 2 Review Questions]
+
 
* [http://markmiyashita.com/cs61a/sp14/ Mark Miyashita's old TA website]
 
* [http://markmiyashita.com/cs61a/sp14/ Mark Miyashita's old TA website]
 
* [http://youripark.github.io/practice.html Youri Park's Practice Problems]
 
* [http://youripark.github.io/practice.html Youri Park's Practice Problems]
  
 
=== Guerrilla Section Worksheets ===
 
=== Guerrilla Section Worksheets ===
* [http://tinyurl.com/kpuxa32 Sequences, Data Abstraction, and Nonlocal] ([https://docs.google.com/a/berkeley.edu/document/d/1l-p6X81H0Ovv0A8apJuqRoNtVCQd3zBGvX5cRydOIus/edit#heading=h.gjdgxs Solution])
+
* [http://tinyurl.com/cs61afa14guerrilla5 Scheme] ([http://tinyurl.com/kme7e49 Solutions])
* [https://docs.google.com/a/berkeley.edu/document/d/1jNw2buNjlCDObUF8EUUMXyBN4QgEWD1uQJ0_9A6-AyU/edit OOP and Recursive Objects] ([https://docs.google.com/a/berkeley.edu/document/d/1jNw2buNjlCDObUF8EUUMXyBN4QgEWD1uQJ0_9A6-AyU/edit Solutions])
+
 
  
 
== Practice Midterms ==
 
== Practice Midterms ==
Line 117: Line 126:
 
===Problems to Focus on from [[Past exams]]===
 
===Problems to Focus on from [[Past exams]]===
 
'''Not comprehensive, but a good start'''
 
'''Not comprehensive, but a good start'''
 
 
Can be sorted by year or by Topic! (Default is by topic)
 
Can be sorted by year or by Topic! (Default is by topic)
  
<strong>Note: Replace Rlist with Link</strong>
 
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
! Question
 
! Question
 
! Topic
 
! Topic
 
|-
 
|-
| Fall 2011 Midterm 1 (4)
+
| Summer 2013 Final (9b)
| Data Abstraction
+
| Iterators and Generators
|-
+
| 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)
+
| Fall 2011 Final (6a)
| Generic Functions
+
| Iterators and Generators
 
|-
 
|-
| Summer 2014 Midterm 1 (8)
+
| Fall 2013 Final (3e)
| Orders of Growth
+
| Calculator
 
|-
 
|-
| Summer 2012 Final (2)
+
| Summer 2013 Midterm 2 (7)
| Orders of Growth
+
| Scheme
 
|-
 
|-
| Summer 2013 Midterm 2 (2)
+
| Fall 2013 Final (1c)
| Orders of Growth
+
| Scheme
 
|-
 
|-
 
|}
 
|}

Latest revision as of 01:22, 8 December 2014

Check for updates in the next few days. --Andrew (talk) 16:58, 6 December 2014 (PST)

Also check the pages for Fall 2014 Exam 1 and Fall 2014 Exam 2 for more resources.

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

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)

Question Topic
Summer 2013 Final (9b) Iterators and Generators
Fall 2011 Final (6a) Iterators and Generators
Fall 2013 Final (3e) Calculator
Summer 2013 Midterm 2 (7) Scheme
Fall 2013 Final (1c) Scheme