Time: Thursday, 12/17, 3 pm - 6 pm (3 hours long)
Locations: Seat assignments have been emailed to you.
The campus map shows locations of all rooms.
The exam is closed note, except for:
- A 1-page (front and back) hand written sheet of notes that you create yourself (it may not be shared).
- The Midterm 1 Study Guide. A copy of this study guide will be provided with your exam.
- The Midterm 2 Study Guide. A copy of this study guide will be provided with your exam.
- The Final Study Guide. A copy of this study guide will be provided with your exam.
The exam will cover all topics from lecture up to and including Friday, November 20th.
Midterm 1 topics
- Functions and Expressions
- Control Structures
- Higher Order Functions
- Environment Diagrams
- Tree Recursion
Midterm 2 topics
- Data Abstraction
- Lists, Dictionaries, and Sequences
- Trees (data abstraction)
- Mutable Objects and Functions
- Object-Oriented Programming
- Linked Lists (OOP)
- Trees (OOP)
- Orders of Growth
- Tail recursion
- Iterators and Generators
This material is described in the following parts of Composing Programs:
- Chapter 1 except for Newton's method (1.6.5) and decorators (1.6.9)
- Chapter 2 except for implementing lists & dictionaries (2.4.7), dispatch dictionaries (2.4.8), propagating constraints (2.4.9), and implementing classes and objects (2.6)
- Chapter 3
- Sections 4.1-4.3 except for the Python implementation of streams in 4.2.6
You should be prepared to answer questions that relate closely to the projects and homework assignments (not including challenge problems). You should also know how to draw an environment diagram by hand.
The best way to study for the final is to try practice problems and understand their solutions.
- Past exams and solutions
- Labs and Discussions
TA-created practice problems:
- 61A practice problems: You can use the Resource/Piazza Search bar on the main page to search for topics. Try typing in "practice" or "recursion"!
- Python Tutor for drawing environment diagrams
Regular office hours will be held during RRR week in B6 Evans. Come with questions or ask for a review of any topic.
There will be topic-based review sessions held at the normal discussion times and locations. You are welcome to attend any discussion.
|Th 09:30-11||101 Wheeler||Linked lists|
|Th 09:30-11||30 Wheeler||Tail Recursion|
|Th 09:30-11||B56 Hildebrand||Tree Recursion|
|Th 09:30-11||105 Latimer||Scheme|
|Th 09:30-11||102 Latimer||SQL|
|Th 11-12:30||240 Mulford||Tail Recursion|
|Th 11-12:30||B56 Hildebrand||Streams|
|Th 11-12:30||141 Giannini||Tree Recursion|
|Th 11-12:30||215 Dwinelle||Linked Lists|
|Th 11-12:30||242 Hearst Gym||Iterators / Generators|
|Th 12:30-2||3109 Etcheverry||Scheme|
|Th 12:30-2||122 Barrows||SQL|
|Th 12:30-2||12 Haviland||Streams|
|Th 12:30-2||30 Wheeler||Iterators / Generators|
|Th 2:00-3:30||9 Evans||Trees|
|Th 2:00-3:30||70 Evans||Tree Recursion|
|Th 2:00-3:30||136 Barrows||Linked Lists|
|Th 2:00-3:30||140 Barrows||Scheme|
|Th 2:00-3:30||121 Wheeler||Tree Recursion|
|Th 3:30-5||175 Barrows||Streams|
|Th 3:30-5||156 Dwinelle||Linked Lists|
|Th 3:30-5||155 Barrows||Iterator/Generator|
|Th 3:30-5||110 Barker||SQL|
|Th 3:30-5||587 Barrows||OOP|
|Th 5-6:30||3 Evans||Trees|
|Th 5-6:30||B56 Hildebrand||Iterator / Generator|
|Th 5-6:30||105 Latimer||Streams|
|Th 5-6:30||24 Wheeler||Tail Recursion|
|Th 5-6:30||70 Evans||SQL|
|Th 6:30-8||70 Evans||Linked Lists|
|Th 6:30-8||3 Evans||Mutable Objects|
|Th 6:30-8||102 Latimer||Environment Diagrams|
|Fri 09:30-11||405 Soda||Interpreters|
|Fri 09:30-11||310 Soda||Trees|
|Fri 09:30-11||320 Soda||Orders of Growth|
|Fri 09:30-11||299 Cory||OOP|
|Fri 11-12:30||320 Soda||Mutable Objects|
|Fri 11-12:30||299 Cory||Interpreters|
|Fri 11-12:30||405 Soda||OOP|
|Fri 11-12:30||310 Soda||Trees|
|Fri 12:30-2||310 Soda||Orders of Growth|
|Fri 12:30-2||320 Soda||Environment Diagrams|
|Fri 12:30-2||299 Cory||OOP|
|Fri 12:30-2||405 Soda||Trees|
HKN will hold a review session on Saturday, December 12th from 5-8 pm in HP Auditorium, Soda Hall.
Contact John DeNero directly by email if you cannot take the final exam at the regular time. Aside from very few exceptions, the only reason to take the final late is if you have another final exam at exactly the same time.