The midterm will be a 72-hour take-home exam, though it is only intended to take you 1 - 4 hours. You will be given the entire window to work on the exam.
The exam will be run via question prompts in Gradescope and may involve using computational artifacts (i.e., text, source, assembly, and executable files) on a computer terminal. Responses are submitted via Gradescope.
You will be allowed to ask clarifying questions about the exam to the course staff on Ed Discussion and in office hours. We want to make sure that you are interpreting the questions correctly and not answering the wrong questions, but we cannot help you with the process of solving the exam questions. The exams are open book/notes (e.g., website, book, readings, lecture notes, recordings, attu, CSE VM, midterm reference sheet).
Memory, Data, and Addressing: pointers, endianness, data sizes, bitwise operators
Number Representation: binary, integers, floating point
x86-64 Topics: registers, instructions, control flow
Procedures and the Stack: stack structure, calling conventions, register conventions, recursion
Building an Executable: compiling, linking, loading
Winter 2022 | Wolfson | Exam | Solutions |
Winter 2020 | Anderson | Exam | Solutions |
Autumn 2019 | Hsia | Exam | Solutions |
Summer 2019 | Wolfson | Exam | Solutions |
Spring 2019 | Anderson | Exam | Solutions |
Winter 2019 | Willsey | Exam | Solutions |
Autumn 2018 | Hsia | Exam | Solutions |
Summer 2018 | Hsia | Exam | Solutions |
Spring 2018 | Grossman | Exam | Solutions |
Winter 2018 | Wyse | Exam | Solutions |
Autumn 2017 | Hsia | Exam | Solutions |
Spring 2017 | Anderson | Exam | Solutions |
Winter 2017 | Ceze | Exam | Solutions |
Autumn 2016 | Hsia | Exam | Solutions |
Spring 2016 | Holt | Exam | Solutions |
Winter 2016 | Grossman | Exam | Solutions |
Autumn 2015 | Anderson | Exam | Solutions |
The final will be a 72-hour take-home exam, though it is only intended to take you 1 - 4 hours. You will be given the entire window to work on the exam.
The exam will be run via question prompts in Gradescope and may involve using computational artifacts (i.e., text, source, assembly, and executable files) on a computer terminal. Responses are submitted via Gradescope.
You will be allowed to ask clarifying questions about the exam to the course staff on Ed Discussion and in office hours. We want to make sure that you are interpreting the questions correctly and not answering the wrong questions, but we cannot help you with the process of solving the exam questions. The exams are open book/notes (e.g., website, book, readings, lecture notes, recordings, attu, CSE VM, final reference sheet).
Arrays and Structs: alignment, fragmentation, buffer overflow
Caching: locality, associativity, cache parameters and performance, AMAT
Processes: fork, execv, exceptions, context switching, zombies
Virtual Memory: paging, address translation, disk and swap space, protection and sharing
Dynamic Memory Allocation: fragmentation, free lists (implicit, explicit), garbage collection, memory bugs
C and Java: object representation
Autumn 2019 | Hsia | Exam | Solutions |
Summer 2019 | Wolfson | Exam | Solutions |
Spring 2019 | Anderson | Exam | Solutions |
Winter 2019 | Willsey | Exam | Solutions |
Autumn 2018 | Hsia | Exam | Solutions |
Summer 2018 | Hsia | Exam | Solutions |
Spring 2018 | Grossman | Exam | Solutions |
Winter 2018 | Wyse | Exam | Solutions |
Autumn 2017 | Hsia | Exam | Solutions |
Spring 2017 | Anderson | Exam | Solutions |
Winter 2017 | Ceze | Exam | Solutions |
Autumn 2016 | Hsia | Exam | Solutions |
Spring 2016 | Holt | Exam | Solutions |
Winter 2016 | Grossman | Exam | Solutions |
Autumn 2015 | Anderson | Exam | Solutions |