Difference between revisions of "Fall 2014 Exam 2"

From CS 61A Wiki
Jump to: navigation, search
[unchecked revision][checked revision]
(Practice Midterms)
 
(13 intermediate revisions by one user not shown)
Line 1: Line 1:
'''More useful things will show up here in the next few days.--[[User:Andrew|Andrew]] ([[User talk:Andrew|talk]]) 22:51, 22 October 2014 (PDT)'''
 
  
 
== Topics ==
 
== Topics ==
Line 88: Line 87:
 
* [https://d1b10bmlvqabco.cloudfront.net/attach/hoxc5uu6sud761/gozdkhgdUbT/htdlpko411i0/Python__Immutable_vs_Mutable.pdf Immutable vs Mutable data]
 
* [https://d1b10bmlvqabco.cloudfront.net/attach/hoxc5uu6sud761/gozdkhgdUbT/htdlpko411i0/Python__Immutable_vs_Mutable.pdf Immutable vs Mutable data]
 
* [http://www.ocf.berkeley.edu/~shidi/cs61a/61a-fa13-midterm2-walkthrough.pdf Complete walk-through of Fall 2013 Midterm 2]
 
* [http://www.ocf.berkeley.edu/~shidi/cs61a/61a-fa13-midterm2-walkthrough.pdf Complete walk-through of Fall 2013 Midterm 2]
 +
* [http://youripark.github.io/tutorials.html Youri's tutorials (environment diagrams, OOPs, Orders of Growth)]
 +
* [https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Guide to Orders of Growth and Function Runtime]
  
 
== Practice Problems ==
 
== Practice Problems ==
Line 94: Line 95:
 
* [https://docs.google.com/document/d/1RlXy9xpyRE8JPbEDrU4YSoxR5f4N2QAgFCwPodzOPYc Andrew Huang's Midterm 2 Review Questions]
 
* [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]
  
 
=== Guerrilla Section Worksheets ===
 
=== Guerrilla Section Worksheets ===
Line 102: Line 104:
 
... Can be found on the [[Past exams]] page.
 
... Can be found on the [[Past exams]] page.
 
===Problems to Focus on from [[Past exams]]===
 
===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)
 
Can be sorted by year or by Topic! (Default is by topic)
 +
 
<strong>Note: Replace Rlist with Link</strong>
 
<strong>Note: Replace Rlist with Link</strong>
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
! Question
 
! Question
 
! Topic
 
! 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)
 
| Summer 2013 Midterm 2 (3a)
Line 125: Line 151:
 
| Fall 2012 Midterm 2 (2b)
 
| Fall 2012 Midterm 2 (2b)
 
| Environment Diagrams with Mutable Objects
 
| Environment Diagrams with Mutable Objects
 +
|-
 +
| Summer 2014 Midterm 2 (2a)
 +
| Environment Diagrams with Nonlocal
 
|-
 
|-
 
| Summer 2013 Midterm 2 (3b)
 
| Summer 2013 Midterm 2 (3b)
Line 158: Line 187:
 
| Fall 2011 Midterm 2 (1a)
 
| Fall 2011 Midterm 2 (1a)
 
| Using Nonlocal
 
| Using Nonlocal
 +
|-
 +
|-
 +
| Summer 2014 Midterm 2 (3)
 +
| Python3 Lists
 
|-
 
|-
 
| Fall 2013 Midterm 2 (1)
 
| Fall 2013 Midterm 2 (1)
Line 185: Line 218:
 
| Summer 2012 Final (11)
 
| Summer 2012 Final (11)
 
| Dictionaries
 
| Dictionaries
 +
|-
 +
| Summer 2014 Midterm 2 (7)
 +
| Trees
 +
|-
 +
| Summer 2014 Midterm 1 (5)
 +
| Trees
 
|-
 
|-
 
| Summer 2013 Midterm 2 (5, 6)
 
| Summer 2013 Midterm 2 (5, 6)
Line 206: Line 245:
 
| Fall 2011 Midterm 2 (4e)
 
| Fall 2011 Midterm 2 (4e)
 
| Trees
 
| Trees
 +
|-
 +
| Summer 2014 Midterm 2 (1)
 +
| Object Oriented Programming
 
|-
 
|-
 
| Summer 2013 Final (2, 6)
 
| Summer 2013 Final (2, 6)
Line 243: Line 285:
 
| Generic Functions
 
| Generic Functions
 
|-
 
|-
| Summer 2013 Midterm 2 (2)
+
| Summer 2014 Midterm 1 (8)
 
| Orders of Growth
 
| Orders of Growth
 
|-
 
|-
 
| Summer 2012 Final (2)
 
| Summer 2012 Final (2)
 +
| Orders of Growth
 +
|-
 +
| Summer 2013 Midterm 2 (2)
 
| Orders of Growth
 
| Orders of Growth
 
|-
 
|-
 
|}
 
|}

Latest revision as of 15:25, 25 October 2014

Topics

Midterm 2 Topics

Here is a list of things that we'll focus on this midterm.

  • 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

The upcoming midterm is cumulative, meaning you're expected to be familiar following 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

  • 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)

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