Exams
Midterm 3
Dates: Apr 24 - 26 Time Allowed: 2 hours 20 minutes (same as final exam)
Topics:
- Maps & Sets
- Binary Trees
- Binary Search Trees
- Graphs
- Graph & Tree Traversal
- ~Heaps~ cancelled due to Ford gas/fire alarm situation on 4/21
Note: I do not usually quiz you on vocab, but for this exam, please make sure you understand how to talk about graphs & trees using the terminology discussed in class. For example, with trees we talked about terminology like roots, branches, leaves, and with graphs we talked about nodes/vertices and edges as well as features of graphs like directed/undirected, degree, cycles, cliques, etc.
Midterm 2
Dates: Mar 27 - 29 Time Allowed: 2 hours
Topics:
- Stacks, Queues, and Deques
- Loops
- Recursion
- Searching & Sorting
Topics & Success Rates:
| Topic | M2 Achieved Mastery* | M2 Average |
|---|---|---|
| Stacks/Queues/Deques | 7 | 78% |
| Loops | 13 | 89% |
| Recursion | 12 | 81% |
| Sorting | 9 | 70% |
Midterm 1
Dates: Feb 20 - 22
Exam:
Topics & Success Rates:
| Topic | M2 Achieved Mastery* | M1 Achieved Mastery* | M1 Average |
|---|---|---|---|
| Abstract Data Types | 3 | 7 | 81% |
| Arrays | 3 | 9 | 85% |
| Linked Lists | 2 | 4 | 76% |
| Copy Depth | 1 | 11 | 86% |
| Iterators | 3 | 4 | 70% |
Topics To Review:
- A singly linked linked list allows fast (i.e., linear time) insertion and deletion when you have access to the node you want to insert or remove after. If you have to find a node, it’s expensive because traversing the list is O(n)
- Iterators allow you to abstract traversal on top of your implementation. Therefore, you can say something like
nextwithout worrying about how the data structure will find the next element. We can keep discussing iterators.
*Master is usually (arbitrarily) set at 90%. There are a lot of people who did extremely well who did not quite break 90%. I note 90% in particular just because of convention within the field.