Exams
Exam Overview
There will be three in-person exams in this course: two midterms and one final. All exams are cumulative, meaning topics covered in earlier exams may (re-)appear in later ones.
Midterm 1 (In-person): Thursday, July 10, 2025 (during your registered section)
Midterm 2 (In-person): Thursday, July 31, 2025 (during your registered section)
Final Exam (In-person): Friday, August 22, 2025 (1:10 - 2:10pm)
Midterm 1 Details
Midterm 1 Policies
Midterm 1 will be in person on Thu, July 10, 2025, during your registered section time (10:50 - 11:50am for Section A, 12:00 - 1:00pm for Section B).
- To Bring: pencil, eraser, one page (U.S. letter, double-sided) of handwritten notes
- Provided: midterm 1 reference sheet, printed exam with white space for work, time keeping
- Not Allowed: notes, calculator, cell phone, or any other electronic device
Midterm 1 Topics
- Memory, Data, and Addressing: pointers, endianness, data sizes, bitwise operators
- Number Representation: binary, integers, floating point
Midterm 2 Details
Midterm 2 Policies
Midterm 2 will be in person on Thu, July 31, 2025, during your registered section time (10:50 - 11:50am for Section A, 12:00 - 1:00pm for Section B).
- To Bring: pencil, eraser, one page (U.S. letter, double-sided) of handwritten notes
- Provided: midterm 2 reference sheet, printed exam with white space for work, time keeping
- Not Allowed: notes, calculator, cell phone, or any other electronic device
Midterm 2 Topics (Will also include topics from before Midterm 1)
- x86-64 Topics: registers, instructions, control flow
- Procedures and the Stack: stack structure, calling conventions, register conventions, recursion
- Building an Executable: compiling, linking, loading
- Arrays and Structs: alignment, fragmentation
- Buffer Overflow
Final Details
Final Policies
The final exam will be in person on Fri August 22, 2025, 1:10-2:10pm (during scheduled lecture time). While the primary focus for the exam will be topics covered since the second midterm, topics from earlier in the quarter may also be on the exam.
- To Bring: pencil, eraser, one page (U.S. letter, double-sided) of handwritten notes
- Provided: final reference sheet, printed exam with white space for work, time keeping
- Not Allowed: notes, calculator, cell phone, or any other electronic device
Final Topics (Will also include topics from before Midterms 1 & 2)
- Caching: locality, associativity, cache parameters and performance, AMAT
- Dynamic Memory Allocation: fragmentation, free lists (implicit, explicit, segregated), garbage collection, memory bugs
- Processes: fork, execv, exceptions, context switching, zombies
- Virtual Memory: paging, address translation, disk and swap space, protection and sharing
- C and Java: comparisons, object representation, dynamic dispatch
Practice Exams
Because of the two-midterm structure this quarter, many of the old exams won't align perfectly with the topics we covered before each midterm. When preparing, you should skip over any questions from topics we haven't covered.