Difference between revisions of "Fall 2014 Exam 2"

From CS 61A Wiki
Jump to: navigation, search
[unchecked revision][unchecked revision]
Line 69: Line 69:
 
* Tree recursion
 
* Tree recursion
 
</div>
 
</div>
 +
  
 
== Skills ==
 
== 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 the Operator and Operands
 
* Identifying Domain and Range
 
* Identifying Domain and Range
* '''Drawing Environment Diagrams!'''
+
* Environment Diagrams
 +
 
 +
 
 +
== Reviews and Guides ==
 +
[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]
  
 
== Practice Problems ==
 
== Practice Problems ==
Line 84: Line 98:
 
* [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/kpuxa32 Sequences, Data Abstraction, and Nonlocal] ([https://docs.google.com/a/berkeley.edu/document/d/1l-p6X81H0Ovv0A8apJuqRoNtVCQd3zBGvX5cRydOIus/edit#heading=h.gjdgxs Solution])
 
* [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])
 
* [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 ==
 
... Can be found on the [[Past exams]] page.
 
... Can be found on the [[Past exams]] page.

Revision as of 22:14, 22 October 2014

More useful things will show up here in the next few days.--Andrew (talk) 22:51, 22 October 2014 (PDT)

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

Immutable vs Mutable data Complete walk-through of Fall 2013 Midterm 2

Practice Problems

Guerrilla Section Worksheets


Practice Midterms

... Can be found on the Past exams page.