https://www.ocf.berkeley.edu/~shidi/cs61a/w/api.php?action=feedcontributions&user=136.152.36.164&feedformat=atomCS 61A Wiki - User contributions [en]2024-03-29T08:26:37ZUser contributionsMediaWiki 1.22.6https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_1Summer 2014 Exam 12014-07-10T04:46:30Z<p>136.152.36.164: /* Practice Problems */</p>
<hr />
<div>{{purge}}<br />
<br />
<br />
== Logistics ==<br />
'''2050 VLSB, 7pm Thursday (July 10, 2014)'''<br />
<br />
Bring<br />
* pencil and eraser<br />
* one front and back 8.5x11" cheatsheet<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<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 />
<br />
== Topics ==<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 />
* '''[[Higher-order function]]s'''<br />
* '''[[ Recursion ]]'''<br />
* [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
* '''[[Recursion#Tree recursion|Tree Recursion]]'''<br />
* '''[[Environment]]s / [[Environment diagram]]s''' (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
* [[Sequence]]s<br />
* [[Abstract data type]]s<br />
* [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
* [[Linked list#Types | Deep lists]]<br />
* [[Orders of growth]]<br />
* [[Newton's method]]<br />
* [[Halting problem]] (Extra Credit)<br />
'''Bolded''' topics are going to have in-depth questions.<br />
<br />
<br />
== Side skills ==<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 />
<br />
== Practice Problems ==<br />
[https://docs.google.com/document/d/1zNMhevz0tuQXJA3xPgzm-VbES5D83Qgb_C7fzJOQJf4/edit?usp=sharing Summer 2014 Exam 1 Warmup Questions]<br />
<br />
[[Practice problems]] (From previous semesters. Easier than exam questions usually.)<br />
<br />
[https://docs.google.com/document/d/1GO2Ic2cK1wgcEv2rtm6eWxBu0pVCmphaCuu0-y1WyEA/edit?usp=sharing Guerrilla #1 - Higher Order Functions]<br />
([https://docs.google.com/document/d/1LidSsQm09e0fenbGOnpjujptGLSl--jA23aOQ5AjR24/edit?usp=sharing Solutions])<br />
<br />
[https://docs.google.com/document/d/1P0CZXh0AQR-5SpQupNk_7tmfzG63sFhKN3BYtZTZjtY/edit?usp=sharing Guerrilla #2 - Recursion]<br />
([https://docs.google.com/document/d/1MljYxhKLWQgh9sq387i1XGXROSJYEwCZIdJ6mWyhbJ8/edit?usp=sharing Solutions])<br />
<br />
('''Guerrilla section go from fundamental questions to midterm level and beyond.''')<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
* '''Fall 2011'''<br />
** Midterm 1: <br />
*** 4 (Data Abstraction)<br />
** Midterm 2: <br />
*** 4b (Overlap - string processing and recursion)<br />
* '''Summer 2012'''<br />
** Midterm 1:<br />
*** 1 (Order of evaluation)<br />
*** 2a, 2b (Order of evaluation and lambdas)<br />
*** 3a, 3c (Orders of growth: '''replace O with $\Theta$''')<br />
*** 6 (deep linked_lists and tree recursion: '''replace deep_irlist with a deep linked_list''')<br />
** Final:<br />
*** 2c (Orders of growth and recursion)<br />
* '''Fall 2012'''<br />
** Midterm 1: <br />
*** 1 (Functional calls and What Would Python Do?)<br />
*** 2 (Environment diagrams and lambdas)<br />
** Midterm 2:<br />
*** 4b (Strings and tree recursion)<br />
** Final:<br />
*** 2a (Environment diagram)<br />
* '''Spring 2013'''<br />
** Midterm 1:<br />
*** 2 (Environment diagrams, lambdas)<br />
*** 3 (Higher-order functions)<br />
** Midterm 2:<br />
*** 2b (Environment Diagram)<br />
** Final:<br />
*** 4a (HOF and lambdas)<br />
<br />
* '''Summer 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Lambda functions)<br />
** Final:<br />
*** 3b (Environment diagram)<br />
* '''Fall 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Environment diagrams)<br />
*** 3b, 3c (HOF and lambdas)<br />
*** 3d (Strings and iteration)<br />
** Final:<br />
*** 3a, 3c (Tree recursion)<br />
* '''Spring 2014'''<br />
** Midterm 1:<br />
*** 1 (HOF and What Would Python Do?)<br />
*** 2 (Environment Diagram)<br />
*** 3d (Tree recursion)<br />
** Midterm 2:<br />
*** 3 (Data Abstraction)<br />
<br />
== Staff Guides and Websites ==<br />
[http://youri.us/ Guides by Youri]<br />
<br />
[https://docs.google.com/document/d/1-klw_UtTGtR7dwQo1aQOKpPPKtzfSmkhvmNmiTKSiPY/edit?usp=sharing Jessica's Domain/Range guide to cons, car, and cdr on Discussion 3]<br />
<br />
[https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
[[ Guides#Andrew_Huang.27s_tips | Andrew's tips that apply for this midterm ]]<br />
<br />
[https://www.youtube.com/watch?v=ia60GQNKChI Andrew draws an environment diagram] ([https://docs.google.com/document/d/1RPUfcOggSXdEWeYptXgCVwDQF08JNbuOhd9qmDfEPhc/edit?usp=sharing original problem (and solutions)])<br />
<br />
[https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Orders of Growth and Function Runtime guide]<br />
<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.36.164https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_1Summer 2014 Exam 12014-07-09T20:32:23Z<p>136.152.36.164: </p>
<hr />
<div>{{purge}}<br />
<br />
<br />
== Logistics ==<br />
'''2050 VLSB, 7pm Thursday (July 10, 2014)'''<br />
<br />
Bring<br />
* pencil and eraser<br />
* one front and back 8.5x11" cheatsheet<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<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 />
<br />
== Topics ==<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 />
* '''[[Higher-order function]]s'''<br />
* '''[[ Recursion ]]'''<br />
* [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
* '''[[Recursion#Tree recursion|Tree Recursion]]'''<br />
* '''[[Environment]]s / [[Environment diagram]]s''' (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
* [[Sequence]]s<br />
* [[Abstract data type]]s<br />
* [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
* [[Linked list#Types | Deep lists]]<br />
* [[Orders of growth]]<br />
* [[Newton's method]]<br />
* [[Halting problem]] (Extra Credit)<br />
'''Bolded''' topics are going to have in-depth questions.<br />
<br />
== Side skills ==<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 />
<br />
== Practice Problems ==<br />
[https://docs.google.com/document/d/1zNMhevz0tuQXJA3xPgzm-VbES5D83Qgb_C7fzJOQJf4/edit?usp=sharing Summer 2014 Exam 1 Warmup Questions]<br />
<br />
[[Practice problems]] (From previous semesters. Easier than exam questions usually.)<br />
<br />
[https://docs.google.com/document/d/1GO2Ic2cK1wgcEv2rtm6eWxBu0pVCmphaCuu0-y1WyEA/edit?usp=sharing Guerrilla #1 - Higher Order Functions]<br />
([https://docs.google.com/document/d/1LidSsQm09e0fenbGOnpjujptGLSl--jA23aOQ5AjR24/edit?usp=sharing Solutions])<br />
<br />
[https://docs.google.com/document/d/1P0CZXh0AQR-5SpQupNk_7tmfzG63sFhKN3BYtZTZjtY/edit?usp=sharing Guerrilla #2 - Recursion]<br />
([https://docs.google.com/document/d/1MljYxhKLWQgh9sq387i1XGXROSJYEwCZIdJ6mWyhbJ8/edit?usp=sharing Solutions])<br />
<br />
('''Guerrilla section go from fundamental questions to midterm level and beyond.''')<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
* '''Fall 2011'''<br />
** Midterm 1: <br />
*** 4 (Data Abstraction)<br />
** Midterm 2: <br />
*** 4b (Overlap - string processing and recursion)<br />
* '''Summer 2012'''<br />
** Midterm 1:<br />
*** 1 (Order of evaluation)<br />
*** 2a, 2b (Order of evaluation and lambdas)<br />
*** 3a, 3c (Orders of growth: '''replace O with $\Theta$''')<br />
*** 6 (deep linked_lists and tree recursion: '''replace deep_irlist with a deep linked_list''')<br />
** Final:<br />
*** 2c (Orders of growth and recursion)<br />
* '''Fall 2012'''<br />
** Midterm 1: <br />
*** 1 (Functional calls and What Would Python Do?)<br />
*** 2 (Environment diagrams and lambdas)<br />
** Midterm 2:<br />
*** 4b (Strings and tree recursion)<br />
** Final:<br />
*** 2a (Environment diagram)<br />
* '''Spring 2013'''<br />
** Midterm 1:<br />
*** 2 (Environment diagrams, lambdas)<br />
*** 3 (Higher-order functions)<br />
** Midterm 2:<br />
*** 2b (Environment Diagram)<br />
** Final:<br />
*** 4a (HOF and lambdas)<br />
<br />
* '''Summer 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Lambda functions)<br />
** Midterm 2:<br />
*** 4 (Environment diagrams)<br />
*** 6 (Recursion and helper functions)<br />
** Final:<br />
*** 3b (Environment diagram)<br />
* '''Fall 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Environment diagrams)<br />
*** 3b, 3c (HOF and lambdas)<br />
*** 3d (Strings and iteration)<br />
** Final:<br />
*** 3a, 3c (Tree recursion)<br />
* '''Spring 2014'''<br />
** Midterm 1:<br />
*** 1 (HOF and What Would Python Do?)<br />
*** 2 (Environment Diagram)<br />
*** 3d (Tree recursion)<br />
** Midterm 2:<br />
*** 3 (Data Abstraction)<br />
<br />
<br />
== Staff Guides and Websites ==<br />
[http://youri.us/ Guides by Youri]<br />
<br />
[https://docs.google.com/document/d/1-klw_UtTGtR7dwQo1aQOKpPPKtzfSmkhvmNmiTKSiPY/edit?usp=sharing Jessica's Domain/Range guide to cons, car, and cdr on Discussion 3]<br />
<br />
[https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
[[ Guides#Andrew_Huang.27s_tips | Andrew's tips that apply for this midterm ]]<br />
<br />
[https://www.youtube.com/watch?v=ia60GQNKChI Andrew draws an environment diagram] ([https://docs.google.com/document/d/1RPUfcOggSXdEWeYptXgCVwDQF08JNbuOhd9qmDfEPhc/edit?usp=sharing original problem (and solutions)])<br />
<br />
[https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Orders of Growth and Function Runtime guide]<br />
<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. START ON THE ONES 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.36.164https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_1Summer 2014 Exam 12014-07-09T17:34:38Z<p>136.152.36.164: /* Problems to Focus on from Past exams */</p>
<hr />
<div>{{purge}}<br />
<div style="clear: right; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none; width: auto;" >__TOC__</div><br />
== Logistics ==<br />
'''2050 VLSB, 7pm Thursday (July 10, 2014)'''<br />
<br />
Bring<br />
* pencil and eraser<br />
* one front and back 8.5x11" cheatsheet<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<br />
<br />
Don't bring<br />
* Any sort of electronics<br />
* Cell phones are okay, but must be turn off for the duration of the exam<br />
<br />
<br />
== Topics ==<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 />
* '''[[Higher-order function]]s'''<br />
* '''[[ Recursion ]]'''<br />
* [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
* '''[[Recursion#Tree recursion|Tree Recursion]]'''<br />
* '''[[Environment]]s / [[Environment diagram]]s''' (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
* [[Sequence]]s<br />
* [[Abstract data type]]s<br />
* [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
* [[Deep lists]]<br />
* [[Orders of growth]]<br />
* [[Newton's method]]<br />
* [[Halting problem]] (Extra Credit)<br />
'''Bolded''' topics are going to have in-depth questions.<br />
<br />
== Side skills ==<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 />
<br />
== Practice Problems ==<br />
[https://docs.google.com/document/d/1zNMhevz0tuQXJA3xPgzm-VbES5D83Qgb_C7fzJOQJf4/edit?usp=sharing Summer 2014 Exam 1 Warmup Questions]<br />
<br />
[[Practice problems]] (From previous semesters. Easier than exam questions usually.)<br />
<br />
[https://docs.google.com/document/d/1GO2Ic2cK1wgcEv2rtm6eWxBu0pVCmphaCuu0-y1WyEA/edit?usp=sharing Guerrilla #1 - Higher Order Functions]<br />
([https://docs.google.com/document/d/1LidSsQm09e0fenbGOnpjujptGLSl--jA23aOQ5AjR24/edit?usp=sharing Solutions])<br />
<br />
[https://docs.google.com/document/d/1P0CZXh0AQR-5SpQupNk_7tmfzG63sFhKN3BYtZTZjtY/edit?usp=sharing Guerrilla #2 - Recursion]<br />
([https://docs.google.com/document/d/1MljYxhKLWQgh9sq387i1XGXROSJYEwCZIdJ6mWyhbJ8/edit?usp=sharing Solutions])<br />
<br />
('''Guerrilla section go from fundamental questions to midterm level and beyond.''')<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
* '''Fall 2011'''<br />
** Midterm 1: <br />
*** 4 (Data Abstraction)<br />
** Midterm 2: <br />
*** 4b (Overlap - string processing and recursion)<br />
* '''Summer 2012'''<br />
** Midterm 1:<br />
*** 1 (Order of evaluation)<br />
*** 2a, 2b (Order of evaluation and lambdas)<br />
*** 3a, 3c (Orders of growth: '''replace O with $\Theta$''')<br />
*** 6 (deep linked_lists and tree recursion: '''replace deep_irlist with a deep linked_list''')<br />
** Final:<br />
*** 2c (Orders of growth and recursion)<br />
* '''Fall 2012'''<br />
** Midterm 1: <br />
*** 1 (Functional calls and What Would Python Do?)<br />
*** 2 (Environment diagrams and lambdas)<br />
** Midterm 2:<br />
*** 4b (Strings and tree recursion)<br />
** Final:<br />
*** 2a (Environment diagram)<br />
* '''Spring 2013'''<br />
** Midterm 1:<br />
*** 2 (Environment diagrams, lambdas)<br />
*** 3 (Higher-order functions)<br />
** Midterm 2:<br />
*** 2b (Environment Diagram)<br />
** Final:<br />
*** 4a (HOF and lambdas)<br />
<br />
* '''Summer 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Lambda functions)<br />
** Midterm 2:<br />
*** 4 (Environment diagrams)<br />
*** 6 (Recursion and helper functions)<br />
** Final:<br />
*** 3b (Environment diagram)<br />
* '''Fall 2013'''<br />
** Midterm 1:<br />
*** 1 (Function calls and What Would Python Do?)<br />
*** 2 (Environment diagrams)<br />
*** 3b, 3c (HOF and lambdas)<br />
*** 3d (Strings and iteration)<br />
** Final:<br />
*** 3a, 3c (Tree recursion)<br />
* '''Spring 2014'''<br />
** Midterm 1:<br />
*** 1 (HOF and What Would Python Do?)<br />
*** 2 (Environment Diagram)<br />
*** 3d (Tree recursion)<br />
** Midterm 2:<br />
*** 3 (Data Abstraction)<br />
<br />
== Staff Guides and Websites ==<br />
[http://youri.us/ Guides by Youri]<br />
<br />
[https://docs.google.com/document/d/1-klw_UtTGtR7dwQo1aQOKpPPKtzfSmkhvmNmiTKSiPY/edit?usp=sharing Jessica's Domain/Range guide to cons, car, and cdr on Discussion 3]<br />
<br />
[https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
[[ Guides#Andrew_Huang.27s_tips | Andrew's tips that apply for this midterm ]]<br />
<br />
[https://www.youtube.com/watch?v=ia60GQNKChI Andrew draws an environment diagram] ([https://docs.google.com/document/d/1RPUfcOggSXdEWeYptXgCVwDQF08JNbuOhd9qmDfEPhc/edit?usp=sharing original problem (and solutions)])<br />
<br />
[https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Orders of Growth and Function Runtime guide]<br />
<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 />
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.36.164https://www.ocf.berkeley.edu/~shidi/cs61a/wiki/Summer_2014_Exam_1Summer 2014 Exam 12014-07-09T17:32:32Z<p>136.152.36.164: </p>
<hr />
<div>{{purge}}<br />
<div style="clear: right; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none; width: auto;" >__TOC__</div><br />
== Logistics ==<br />
'''2050 VLSB, 7pm Thursday (July 10, 2014)'''<br />
<br />
Bring<br />
* pencil and eraser<br />
* one front and back 8.5x11" cheatsheet<br />
* a copy of [http://ocf.berkeley.edu/~shidi/cs61a/guerrilla/env.txt The Rules]<br />
<br />
Don't bring<br />
* Any sort of electronics<br />
* Cell phones are okay, but must be turn off for the duration of the exam<br />
<br />
<br />
== Topics ==<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 />
* '''[[Higher-order function]]s'''<br />
* '''[[ Recursion ]]'''<br />
* [[Linked list]]s (ignore tuples and OOP); Also known as <code>rlists</code> in other semesters.<br />
* '''[[Recursion#Tree recursion|Tree Recursion]]'''<br />
* '''[[Environment]]s / [[Environment diagram]]s''' (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)<br />
* [[Sequence]]s<br />
* [[Abstract data type]]s<br />
* [[Trees]] (We haven't covered BSTs or Trees in Scheme)<br />
* [[Deep lists]]<br />
* [[Orders of growth]]<br />
* [[Newton's method]]<br />
* [[Halting problem]] (Extra Credit)<br />
'''Bolded''' topics are going to have in-depth questions.<br />
<br />
== Side skills ==<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 />
<br />
== Practice Problems ==<br />
[https://docs.google.com/document/d/1zNMhevz0tuQXJA3xPgzm-VbES5D83Qgb_C7fzJOQJf4/edit?usp=sharing Summer 2014 Exam 1 Warmup Questions]<br />
<br />
[[Practice problems]] (From previous semesters. Easier than exam questions usually.)<br />
<br />
[https://docs.google.com/document/d/1GO2Ic2cK1wgcEv2rtm6eWxBu0pVCmphaCuu0-y1WyEA/edit?usp=sharing Guerrilla #1 - Higher Order Functions]<br />
([https://docs.google.com/document/d/1LidSsQm09e0fenbGOnpjujptGLSl--jA23aOQ5AjR24/edit?usp=sharing Solutions])<br />
<br />
[https://docs.google.com/document/d/1P0CZXh0AQR-5SpQupNk_7tmfzG63sFhKN3BYtZTZjtY/edit?usp=sharing Guerrilla #2 - Recursion]<br />
([https://docs.google.com/document/d/1MljYxhKLWQgh9sq387i1XGXROSJYEwCZIdJ6mWyhbJ8/edit?usp=sharing Solutions])<br />
<br />
('''Guerrilla section go from fundamental questions to midterm level and beyond.''')<br />
<br />
===Problems to Focus on from [[Past exams]]===<br />
<br />
'''Fall 2011'''<br />
<br />
* Midterm 1: <br />
** 4 (Data Abstraction)<br />
* Midterm 2: <br />
** 4b (Overlap - string processing and recursion)<br />
<br />
'''Summer 2012'''<br />
<br />
* Midterm 1:<br />
** 1 (Order of evaluation)<br />
** 2a, 2b (Order of evaluation and lambdas)<br />
** 3a, 3c (Orders of growth: '''replace O with $\Theta$''')<br />
** 6 (deep linked_lists and tree recursion: '''replace deep_irlist with a deep linked_list''')<br />
* Final:<br />
** 2c (Orders of growth and recursion)<br />
<br />
'''Fall 2012'''<br />
<br />
* Midterm 1: <br />
** 1 (Functional calls and What Would Python Do?)<br />
** 2 (Environment diagrams and lambdas)<br />
* Midterm 2:<br />
** 4b (Strings and tree recursion)<br />
* Final:<br />
** 2a (Environment diagram)<br />
<br />
'''Spring 2013'''<br />
<br />
* Midterm 1:<br />
** 2 (Environment diagrams, lambdas)<br />
** 3 (Higher-order functions)<br />
* Midterm 2:<br />
** 2b (Environment Diagram)<br />
* Final:<br />
** 4a (HOF and lambdas)<br />
<br />
<br />
'''Summer 2013'''<br />
<br />
* Midterm 1:<br />
** 1 (Function calls and What Would Python Do?)<br />
** 2 (Lambda functions)<br />
* Midterm 2:<br />
** 4 (Environment diagrams)<br />
** 6 (Recursion and helper functions)<br />
* Final:<br />
** 3b (Environment diagram)<br />
<br />
'''Fall 2013'''<br />
<br />
* Midterm 1:<br />
** 1 (Function calls and What Would Python Do?)<br />
** 2 (Environment diagrams)<br />
** 3b, 3c (HOF and lambdas)<br />
** 3d (Strings and iteration)<br />
* Final:<br />
** 3a, 3c (Tree recursion)<br />
<br />
'''Spring 2014'''<br />
<br />
* Midterm 1:<br />
** 1 (HOF and What Would Python Do?)<br />
** 2 (Environment Diagram)<br />
** 3d (Tree recursion)<br />
* Midterm 2:<br />
** 3 (Data Abstraction)<br />
<br />
<br />
== Staff Guides and Websites ==<br />
[http://youri.us/ Guides by Youri]<br />
<br />
[https://docs.google.com/document/d/1-klw_UtTGtR7dwQo1aQOKpPPKtzfSmkhvmNmiTKSiPY/edit?usp=sharing Jessica's Domain/Range guide to cons, car, and cdr on Discussion 3]<br />
<br />
[https://piazza.com/class/hv3d500fcvs4d8?cid=109 Piazza's Useful posts and guides ]<br />
<br />
[[ Guides#Andrew_Huang.27s_tips | Andrew's tips that apply for this midterm ]]<br />
<br />
[https://www.youtube.com/watch?v=ia60GQNKChI Andrew draws an environment diagram] ([https://docs.google.com/document/d/1RPUfcOggSXdEWeYptXgCVwDQF08JNbuOhd9qmDfEPhc/edit?usp=sharing original problem (and solutions)])<br />
<br />
[https://docs.google.com/document/d/1TxfKmM3MlH032hjSUh92I0kQDVcvmitTSzYObGMr8Bk/edit?usp=sharing Orders of Growth and Function Runtime guide]<br />
<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 />
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.36.164