Quizzes

Quiz Dates

Quiz 1 Opens: July 5 (take-home, opens 11:59pm)
Quiz 1 Due: July 12 (take-home, due 11:59pm)

Quiz 2 Opens: July 22 (take-home, opens 11:59pm)
Quiz 2 Due: July 29 (take-home, due 11:59pm)

Quiz 3 Opens: August 12 (take-home, opens 11:59pm)
Quiz 3 Due: August 16 (take-home, due 11:59pm)

Quiz Policies

  • Each quiz will be take-home. Though it is only intended to take you 1 - 4 hours, You will be given the entire window to work on it.
  • The quizzes will be turned in on Gradescope and may involve using computational artifacts (i.e., text, source, assembly, and executable files) on a computer terminal.
  • You will be allowed to ask clarifying questions about the quizzes 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 questions.
  • The quizzes are open book/notes (e.g., website, book, readings, lecture notes, recordings, , and ).
  • Quizzes are intended to be completed individually, and all work must be your own.
    The only discussion allowed is with classmates following the "Abbott Elementary Rule". Writing on a board or shared piece of paper during the meeting is acceptable; however, you should not take any record (electronic or otherwise) 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 Abbott Elementary), 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.

Quiz Topics

Quiz 1: Data Representation

  • Memory, Data, and Addressing: pointers, endianness, data sizes, bitwise operators
  • Number Representation: binary, integers, floating point

Quiz 2: Program Execution

  • 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

Quiz 3: Memory Heirarchy

  • 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

Practice

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:

  • ()
  • ()

We also provide past exams for you to use. Because previous offerings of this course had two exams instead of three, the midterm and final topics do not align perfectly with the quiz topics. Also note that these exams were given in-person, so the format of these may differ from this quarter's quizzes.

Past Midterms:

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

Past Finals:

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