Summer 2014 Exam 2
- if the LaTeX typesetting doesn't render.
Changes from Exam 1 are in bold.
2050 VLSB, 7pm - 9pm on Thursday, July 31, 2014. Fill out the Exam 2 Conflict Form if you have a conflict.
- pencil and eraser
- two front and back 8.5x11" cheatsheets (the idea is you bring your old cheatsheet and one new one)
- a copy of The Rules
- You can write on your copy of The Rules (8.5x11"), giving you 3 cheatsheets total.
- Any sort of electronics
- Cell phones are okay, but must be turned off for the duration of the exam
New topics for Exam 2:
|Exam 2 Topics|
|nonlocal and functions using nonlocal|
|Mutable Python data structures and functions on them|
|Environment Diagrams on the above|
|Object Oriented Programming|
|Iterators, Iterables and Generators|
Topics from Exam 1 (you are expected to know these, but they will not be the focus of the exam):
|Exam 1 Topics|
|Higher-order functions and Lambda expressions|
| Linked lists (ignore tuples and OOP); Also known as |
|Environments / Environment diagrams (Note that our Env. Diagrams are compatible with Fall 2012 and onward.)|
|Abstract data types|
|Trees (We haven't covered BSTs or Trees in Scheme)|
|Orders of growth|
|Halting problem (Extra Credit)|
Will be updated soon with Exam 2 specific information
All the skills from Exam 1 still apply:
- Identifying the Operator and Operands
- Drawing Function Boxes
- Identifying Domain and Range
- Drawing Box and Pointers
- Environment Diagrams
- Identifying the Theta of a function
- Matthew's Week 4 Practice Problems (solutions)
- Youri/Beth's Review
- Practice problems from previous semesters, especially...
Problems to Focus on from Past exams
Will be added
- Fall 2011
- Fall 2012
- Spring 2013
- Summer 2013
- Fall 2013
- Spring 2014
Staff Guides and Websites
Will be added
How to study
Here is an old algorithm for studying for tests: For each topic on the exam, find problems on them and do them. START ON THE TOPICS YOU'RE MOST UNFAMILIAR WITH! If you can solve them on your own, move on. Else if you are stuck, look at the solution and figure out if you are missing a trick or if you do not understand the concepts. If the problem is that you are stuck on some random trick, just learn the trick. Stare at the solutions, ask Piazza, your TA, etc. Questions you should ask at this stage: What is the problem asking me to do? How was I suppose to follow the instructions to solve the problem? What part of the problem do I not understand? What is the fastest way to clear up that misunderstanding? Then if you think you are still stuck conceptually, review and learn the concept, however you learn best. Suggestions for picking up concepts quickly (~1-2 hours): Discussion notes typically have a very concise recap of the thing they are going over. There are guides for particularly tricky things on the wiki, like Hanoi, powerset, etc. Find them and go over them. Ask a TA: "what is the best way to learn X?" If these do not work and you are still shaky after an hour or two, it might be worth watching a lecture or reading the notes. Be sure to try out some more problems as you're learning!