Difference between revisions of "Fall 2014 Final"

From CS 61A Wiki
Jump to: navigation, search
[unchecked revision][checked revision]
(Practice Problems)
(Reviews and Guides)
 
(2 intermediate revisions by 2 users not shown)
Line 85: Line 85:
 
* Tree recursion
 
* Tree recursion
 
</div>
 
</div>
 +
  
 
== Skills ==
 
== Skills ==
Line 103: Line 104:
 
* Identifying Domain and Range
 
* Identifying Domain and Range
 
* Environment Diagrams
 
* Environment Diagrams
 +
  
 
== 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 ==
Line 118: Line 120:
 
=== Guerrilla Section Worksheets ===
 
=== Guerrilla Section Worksheets ===
 
* [http://tinyurl.com/cs61afa14guerrilla5 Scheme] ([http://tinyurl.com/kme7e49 Solutions])
 
* [http://tinyurl.com/cs61afa14guerrilla5 Scheme] ([http://tinyurl.com/kme7e49 Solutions])
 +
  
 
== Practice Midterms ==
 
== Practice Midterms ==

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