https://www.ocf.berkeley.edu/~shidi/cs61a/w/api.php?action=feedcontributions&user=136.152.38.24&feedformat=atomCS 61A Wiki - User contributions [en]2024-03-29T07:11:47ZUser contributionsMediaWiki 1.22.6https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_2Summer 2014 Exam 22014-07-26T04:53:39Z<p>136.152.38.24: /* Practice Problems */</p>
<hr />
<div>{{purge}}<br />
<br />
<br />
== Logistics ==<br />
Changes from Exam 1 are in '''bold'''.<br />
<br />
2050 VLSB, 7pm - 9pm on Thursday, '''July 31, 2014'''. Fill out the [https://docs.google.com/forms/d/15EC0TjCmun27Kp-w2i6Nz0IisUmRoStpUnzXeqhamgg/viewform?usp=send_form Exam 2 Conflict Form] if you have a conflict.<br />
<br />
Bring<br />
* pencil and eraser<br />
* '''two''' front and back 8.5x11" cheatsheet'''s (the idea is you bring your old cheatsheet and one new one)'''<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<br />
** You can write on your copy of The Rules (8.5x11"), giving you '''3''' cheatsheets total.<br />
<br />
Don't bring<br />
* Any sort of electronics<br />
** Cell phones are okay, but must be turned off for the duration of the exam<br />
<br />
== Topics ==<br />
<br />
New topics for Exam 2:<br />
{| class="wikitable"<br />
! Exam 2 Topics<br />
|-<br />
| nonlocal and functions using nonlocal<br />
|-<br />
| Mutable Python data structures and functions on them<br />
|-<br />
| Environment Diagrams on the above<br />
|-<br />
| Object Oriented Programming<br />
|-<br />
| Interfaces and 'Magic' methods<br />
|-<br />
| [[Linked_list#OOP_ADT | Linked Lists]] (Known as Rlists in previous semesters)<br />
|-<br />
| Mutable Trees (the kind with datum and children attributes)<br />
|-<br />
| [[Iterator]]s, [[Iterable]]s and [[Generator]]s<br />
|-<br />
| [[Generic function]]s<br />
|-<br />
| [[Interpreter]]s<br />
|-<br />
| [[Scheme]]<br />
|}<br />
<br />
Topics from Exam 1 (you are expected to know these, but they will not be the focus of the exam):<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
! Exam 1 Topics<br />
|-<br />
| [[Python]] Basics<br />
* [[expression]]s<br />
* [[Statement#Conditional_statements|if statement]]<br />
* [[Iteration#While_loop | while statement]]<br />
* [[Statement#Assignment_statement | assignment statement]]<br />
* [[Statement#Function_definition | def statement]]<br />
* [[Boolean#Boolean | booleans]]<br />
* [[Number#Number | numbers]]<br />
* [[String#String | strings]]<br />
* [[Function]]s<br />
* [[Expression#Call_expressions | Function Call Evaluation]]<br />
|-<br />
| [[Higher-order function]]s and [[Lambda | Lambda expressions]]<br />
|-<br />
| [[ Recursion ]]<br />
|-<br />
| [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
|-<br />
| [[Recursion#Tree recursion|Tree Recursion]]<br />
|-<br />
| [[Environment]]s / [[Environment diagram]]s (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
|-<br />
| [[Sequence]]s<br />
|-<br />
| [[Abstract data type]]s<br />
|-<br />
| [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
|-<br />
| [[Linked list#Types | Deep lists]]<br />
|-<br />
| [[Orders of growth]]<br />
|-<br />
| [[Newton's method]]<br />
|-<br />
| [[Halting problem]] (Extra Credit)<br />
|}<br />
<br />
== Other skills ==<br />
Will be updated soon with Exam 2 specific information<br />
<br />
All the skills from Exam 1 still apply:<br />
<br />
* Identifying the Operator and Operands<br />
* Drawing Function Boxes<br />
* '''Identifying Domain and Range'''<br />
* '''Drawing Box and Pointers'''<br />
* '''Environment Diagrams'''<br />
* Identifying the Theta of a function<br />
<br />
== Practice Problems ==<br />
* [https://docs.google.com/document/d/1Zi-IM4Ptq2ymN0qtM6axqWryQpLLNthMZNoXKZBuu2E/edit?usp=sharing Andrew's Midterm 2 Warmup Questions]<br />
* [https://d1b10bmlvqabco.cloudfront.net/attach/hv3d500fcvs4d8/hktwxogd3mt47t/hxtvand63zl7/midtermdisc01.pdf Matthew's Week 4 Practice Problems] ([https://d1b10bmlvqabco.cloudfront.net/attach/hv3d500fcvs4d8/hktwxogd3mt47t/hxxzmp0tdtiv/midtermdisc01_sol.pdf solutions])<br />
* [http://tinyurl.com/q5c7cnl Youri/Beth's Review ]<br />
* [[Practice problems]] from previous semesters, especially...<br />
** [https://www.dropbox.com/s/z6nlsgp0chfd6fc/environment_review.pdf Environment Diagram Review]<br />
** [http://albertwu.org/cs61a/review/ Albert's website]<br />
** [http://markmiyashita.com/cs61a/ Mark's website]<br />
<br />
=== Guerrilla 61A ===<br />
* [https://piazza.com/class/hv3d500fcvs4d8?cid=1114 Object Oriented Programming and Recursive Objects]<br />
* [https://piazza.com/class/hv3d500fcvs4d8?cid=977 Sequences, nonlocal and Objects]<br />
<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
Will be added<br />
<br />
* '''Fall 2011'''<br />
<br />
* '''Fall 2012'''<br />
<br />
* '''Spring 2013'''<br />
<br />
* '''Summer 2013'''<br />
<br />
* '''Fall 2013'''<br />
<br />
* '''Spring 2014'''<br />
<br />
== Staff Guides and Websites ==<br />
Will be added<br />
* [http://youripark.github.io/practice.html Youri's website]<br />
* [https://d1b10bmlvqabco.cloudfront.net/attach/hoxc5uu6sud761/gozdkhgdUbT/htdlpko411i0/Python__Immutable_vs_Mutable.pdf Quick Guide on Mutability]<br />
* [https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
== How to study ==<br />
<pre>Here is an old algorithm for studying for tests:<br />
For each topic on the exam, find problems on them and do them.<br />
START ON THE TOPICS YOU'RE MOST UNFAMILIAR WITH!<br />
If you can solve them on your own, move on.<br />
Else if you are stuck, look at the solution and figure out if you<br />
are missing a trick or if you do not understand the concepts.<br />
If the problem is that you are stuck on some random trick,<br />
just learn the trick.<br />
Stare at the solutions, ask Piazza, your TA, etc.<br />
Questions you should ask at this stage:<br />
What is the problem asking me to do?<br />
How was I suppose to follow the instructions<br />
to solve the problem?<br />
What part of the problem do I not understand?<br />
What is the fastest way to clear up that misunderstanding?<br />
Then if you think you are still stuck conceptually, review<br />
and learn the concept, however you learn best.<br />
<br />
Suggestions for picking up concepts quickly (~1-2 hours):<br />
Discussion notes typically have a very concise recap of the<br />
thing they are going over.<br />
There are guides for particularly tricky things on the wiki,<br />
like Hanoi, powerset, etc.<br />
Find them and go over them.<br />
Ask a TA: "what is the best way to learn X?"<br />
If these do not work and you are still shaky after an hour<br />
or two, it might be worth watching a lecture or reading<br />
the notes. Be sure to try out some more problems as you're learning!</pre></div>136.152.38.24https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_2Summer 2014 Exam 22014-07-26T03:36:59Z<p>136.152.38.24: /* Staff Guides and Websites */</p>
<hr />
<div>{{purge}}<br />
<br />
<br />
== Logistics ==<br />
Changes from Exam 1 are in '''bold'''.<br />
<br />
2050 VLSB, 7pm - 9pm on Thursday, '''July 31, 2014'''. Fill out the [https://docs.google.com/forms/d/15EC0TjCmun27Kp-w2i6Nz0IisUmRoStpUnzXeqhamgg/viewform?usp=send_form Exam 2 Conflict Form] if you have a conflict.<br />
<br />
Bring<br />
* pencil and eraser<br />
* '''two''' front and back 8.5x11" cheatsheet'''s (the idea is you bring your old cheatsheet and one new one)'''<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<br />
** You can write on your copy of The Rules (8.5x11"), giving you '''3''' cheatsheets total.<br />
<br />
Don't bring<br />
* Any sort of electronics<br />
** Cell phones are okay, but must be turned off for the duration of the exam<br />
<br />
== Topics ==<br />
<br />
New topics for Exam 2:<br />
{| class="wikitable"<br />
! Exam 2 Topics<br />
|-<br />
| nonlocal and functions using nonlocal<br />
|-<br />
| Mutable Python data structures and functions on them<br />
|-<br />
| Environment Diagrams on the above<br />
|-<br />
| Object Oriented Programming<br />
|-<br />
| [[Linked_list#OOP_ADT | Linked Lists]]<br />
|-<br />
| Mutable Trees<br />
|-<br />
| [[Iterator]]s, [[Iterable]]s and [[Generator]]s<br />
|-<br />
| [[Generic function]]s<br />
|-<br />
| [[Interpreter]]s<br />
|-<br />
| [[Scheme]]<br />
|}<br />
<br />
Topics from Exam 1 (you are expected to know these, but they will not be the focus of the exam):<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
! Exam 1 Topics<br />
|-<br />
| [[Python]] Basics<br />
* [[expression]]s<br />
* [[Statement#Conditional_statements|if statement]]<br />
* [[Iteration#While_loop | while statement]]<br />
* [[Statement#Assignment_statement | assignment statement]]<br />
* [[Statement#Function_definition | def statement]]<br />
* [[Boolean#Boolean | booleans]]<br />
* [[Number#Number | numbers]]<br />
* [[String#String | strings]]<br />
* [[Function]]s<br />
* [[Expression#Call_expressions | Function Call Evaluation]]<br />
|-<br />
| [[Higher-order function]]s and [[Lambda | Lambda expressions]]<br />
|-<br />
| [[ Recursion ]]<br />
|-<br />
| [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
|-<br />
| [[Recursion#Tree recursion|Tree Recursion]]<br />
|-<br />
| [[Environment]]s / [[Environment diagram]]s (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
|-<br />
| [[Sequence]]s<br />
|-<br />
| [[Abstract data type]]s<br />
|-<br />
| [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
|-<br />
| [[Linked list#Types | Deep lists]]<br />
|-<br />
| [[Orders of growth]]<br />
|-<br />
| [[Newton's method]]<br />
|-<br />
| [[Halting problem]] (Extra Credit)<br />
|}<br />
<br />
== Other skills ==<br />
Will be updated soon with Exam 2 specific information<br />
<br />
All the skills from Exam 1 still apply:<br />
<br />
* Identifying the Operator and Operands<br />
* Drawing Function Boxes<br />
* '''Identifying Domain and Range'''<br />
* '''Drawing Box and Pointers'''<br />
* '''Environment Diagrams'''<br />
* Identifying the Theta of a function<br />
<br />
== Practice Problems ==<br />
* [https://d1b10bmlvqabco.cloudfront.net/attach/hv3d500fcvs4d8/hktwxogd3mt47t/hxtvand63zl7/midtermdisc01.pdf Matthew's Week 4 Practice Problems] ([https://d1b10bmlvqabco.cloudfront.net/attach/hv3d500fcvs4d8/hktwxogd3mt47t/hxxzmp0tdtiv/midtermdisc01_sol.pdf solutions])<br />
* [http://youripark.github.io/practice.html Youri's website]<br />
* [http://tinyurl.com/q5c7cnl Youri/Beth's Review ]<br />
<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
Will be added<br />
<br />
* '''Fall 2011'''<br />
<br />
* '''Fall 2012'''<br />
<br />
* '''Spring 2013'''<br />
<br />
* '''Summer 2013'''<br />
<br />
* '''Fall 2013'''<br />
<br />
* '''Spring 2014'''<br />
<br />
== Staff Guides and Websites ==<br />
Will be added<br />
<br />
[https://d1b10bmlvqabco.cloudfront.net/attach/hoxc5uu6sud761/gozdkhgdUbT/htdlpko411i0/Python__Immutable_vs_Mutable.pdf Quick Guide on Mutability]<br />
<br />
[https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
== How to study ==<br />
<pre>Here is an old algorithm for studying for tests:<br />
For each topic on the exam, find problems on them and do them.<br />
START ON THE TOPICS YOU'RE MOST UNFAMILIAR WITH!<br />
If you can solve them on your own, move on.<br />
Else if you are stuck, look at the solution and figure out if you<br />
are missing a trick or if you do not understand the concepts.<br />
If the problem is that you are stuck on some random trick,<br />
just learn the trick.<br />
Stare at the solutions, ask Piazza, your TA, etc.<br />
Questions you should ask at this stage:<br />
What is the problem asking me to do?<br />
How was I suppose to follow the instructions<br />
to solve the problem?<br />
What part of the problem do I not understand?<br />
What is the fastest way to clear up that misunderstanding?<br />
Then if you think you are still stuck conceptually, review<br />
and learn the concept, however you learn best.<br />
<br />
Suggestions for picking up concepts quickly (~1-2 hours):<br />
Discussion notes typically have a very concise recap of the<br />
thing they are going over.<br />
There are guides for particularly tricky things on the wiki,<br />
like Hanoi, powerset, etc.<br />
Find them and go over them.<br />
Ask a TA: "what is the best way to learn X?"<br />
If these do not work and you are still shaky after an hour<br />
or two, it might be worth watching a lecture or reading<br />
the notes. Be sure to try out some more problems as you're learning!</pre></div>136.152.38.24