Exams

Exam Overview

Midterm Exam Due: Saturday, November 4, 2023 (take-home, due 11:59 pm)

Final Review Session: Friday, December 8, 2023 (on Zoom, 4:30 - 6:30 pm)

Final Exam Due: Wednesday, December 13, 2023 (take-home, due 11:59 pm)

The exams will be open for 72 hours, with the due dates as shown above.
See the "Midterm Policies" and "Final Policies" sections below for more details.

Midterm Details

Midterm Policies

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/seaside, midterm reference sheet).
  • The only discussion allowed is with classmates following the "The Gilligan's Island Rule". Writing on a board or shared piece of paper during the meeting is acceptable; however, you should not take any written (electronic or otherwise) record away from the meeting. Everything that you derive from the collaboration should be in your head. After the meeting, engage in at least a half-hour of a mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain and should prevent your written answers from being too similar to one another's. In all other cases, discussion with other people, including online forums, message boards, and "homework help" sites is prohibited.

Midterm Topics

  • 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

Some of the old exams may contain questions on topics that we did not cover before the midterm this quarter; you should skip over such questions.


Midterm Practice

The following Midterm Review packet will be used in the Midterm Review section.

  • Midterm Review Packet (solutions)

The following are past exam questions written by Justin at another institution and may prove useful in studying, though most are likely harder than what you will encounter on your exams:

Past Midterm Exam Database

Winter 2020
Exam   |   Solutions   |   Anderson
Autumn 2019
Exam   |   Solutions   |   Hsia
Summer 2019
Exam   |   Solutions   |   Wolfson
Spring 2019
Exam   |   Solutions   |   Anderson
Winter 2019
Exam   |   Solutions   |   Willsey
Autumn 2018
Exam   |   Solutions   |   Hsia
Summer 2018
Exam   |   Solutions   |   Hsia
Spring 2018
Exam   |   Solutions   |   Grossman
Winter 2018
Exam   |   Solutions   |   Wyse
Autumn 2017
Exam   |   Solutions   |   Hsia
Spring 2017
Exam   |   Solutions   |   Anderson
Winter 2017
Exam   |   Solutions   |   Ceze
Autumn 2016
Exam   |   Solutions   |   Hsia
Spring 2016
Exam   |   Solutions   |   Holt
Winter 2016
Exam   |   Solutions   |   Grossman
Autumn 2015
Exam   |   Solutions   |   Anderson

Final Details

Final Policies

The final will also 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/seaside, final reference sheet).
  • The only discussion allowed is with classmates following the "The Gilligan's Island Rule". Writing on a board or shared piece of paper during the meeting is acceptable; however, you should not take any written (electronic or otherwise) record away from the meeting. Everything that you derive from the collaboration should be in your head. After the meeting, engage in at least a half-hour of a mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain and should prevent your written answers from being too similar to one another's. In all other cases, discussion with other people, including online forums, message boards, and "homework help" sites is prohibited.

Final Topics (not cumulative)

  • 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, segregated), garbage collection, memory bugs
  • C and Java: comparisons, object representation, dynamic dispatch

Some of the old exams contain questions on topics that we did not cover this quarter; you should skip over such questions.


Final Practice

The following Final Review packet will be used in the Final Review section as well as the actual Final Review session.

  • Final Review Packet (solutions)

The following are past exam questions written by Justin at another institution and may prove useful in studying, though most are likely harder than what you will encounter on your exams:

Past Final Exam Database

Autumn 2019
Exam   |   Solutions   |   Hsia
Summer 2019
Exam   |   Solutions   |   Wolfson
Spring 2019
Exam   |   Solutions   |   Anderson
Winter 2019
Exam   |   Solutions   |   Willsey
Autumn 2018
Exam   |   Solutions   |   Hsia
Summer 2018
Exam   |   Solutions   |   Hsia
Spring 2018
Exam   |   Solutions   |   Grossman
Winter 2018
Exam   |   Solutions   |   Wyse
Autumn 2017
Exam   |   Solutions   |   Hsia
Spring 2017
Exam   |   Solutions   |   Anderson
Winter 2017
Exam   |   Solutions   |   Ceze
Autumn 2016
Exam   |   Solutions   |   Hsia
Spring 2016
Exam   |   Solutions   |   Holt
Winter 2016
Exam   |   Solutions   |   Grossman
Autumn 2015
Exam   |   Solutions   |   Anderson