Midterm 1 Information
- Time: 7pm-9:10pm Monday 9/22 (exam will start promptly at 7:10)
Locations:
Logins cs61a-aa through cs61a-awz (531 logins) in 1 Pimentel
Logins cs61a-ax through cs61a-kz (564 logins) in 2040 & 2050 VLSB
Logins cs61a-la through cs61a-vz (244 logins) in 10 Evans
Logins cs61a-wa through cs61a-zz (102 logins) in 306 Soda
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.
Topics Covered
The exam will cover all course topics through Chapter 1.7 of Composing Programs, except for Newton's method (1.6.5) and decorators (1.6.9). Those topics include:
- 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
Particular emphasis will be given to user-defined functions, assignment, iteration, higher-order functions, and environment diagrams.
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.
Preparation
Review session: 3-4:30pm and 4:30-6pm on Saturday 9/20 in 1 Pimentel
HKN review session: 12-3pm on Sunday 9/21 in 2060 VLSB
Make-Up Exam
8pm-10pm on Monday 9/22 in 405 Soda
9am-11am on Tuesday 9/23 in 271 Soda