Exams

Exam Overview

All of our exams are in-person, on paper, individual exams.

Quizzes: Every Wednesday from Week 3 through Week 8 during the first 10 minutes of lecture (DEM 104, 13:10 - 13:20 pm)

  • Practice Quiz (ungraded): Thursday 7/2 (in section)
  • Quiz #1: Wednesday 7/8 (in lecture)
  • Quiz #2: Wednesday 7/15 (in lecture)
  • Quiz #3: Wednesday 7/22 (in lecture)
  • Quiz #4: Wednesday 7/29 (in lecture)
  • Quiz #5: Wednesday 8/5 (in lecture)
  • Quiz #6: Wednesday 8/12 (in lecture)
Final Exam: This class has a 2-hour cumulative final exam. The exam will be held on the last section and the last lecture in Week 9:
  • Final Exam (Part 1): Thursday 8/20 (in section)
    • Section AA: 10:50 - 11:50 in BNS 115
    • Section AB: 12:00 - 12:00 in BNS 203
  • Final Exam (Part 2): Friday 8/21 in DEM 104 (in lecture)

See the "Quiz Policies" and "Final Policies" sections below for more details.

Quiz Details

Quiz Policies

Quizzes are held in-person during the first 10 minutes of lecture on Wednesdays from Week 3 through Week 8.

  • To Bring: student ID, pencil, eraser, scientific calculator (optional)
  • Provided: relevant reference materials (all portions of the final reference sheet that pertain to content already covered in lecture), printed exam with white space for work, time keeping
    • Countdown timer and exam clarifications will be projected in the lecture hall
  • Not Allowed: books, notes, cell phone (silence and put away), watches, AI/AR glasses, hats, graphing calculator, or any other electronic device (unless specifically allowed by an approved accommodation)

Each student's lowest quiz grade will be automatically dropped.


Quiz Topics

Quizzes target the content covered in the previous week of class. The content cutoff for each quiz is the previous Wednesday's lecture (inclusive). This means that the last homework assignment covered by the quiz is due on Monday (2 days before the quiz on Wednesday).

While each quiz targets primarily the new material covered since the last quiz, knowledge of previous course content may still be relevant as foundational knowledge. As such, quizzes act as frequent checkpoints for understanding of course materials. If your quiz score is unexpectedly low, you are encouraged to meet with the instructor to discuss how the course staff can best support your learning moving forward.


Quiz Practice

Previous iterations of this course offered a midterm exam instead of quizzes. Past CSE 351 midterms covered the following 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

While this iteration of the course does not offer a midterm exam, questions asked on past midterms may be reflective of questions asked on quizzes covering the same topics. An archive of previous midterms is provided below for practice.

Past Midterm Exam Database

Spring 2026
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Winter 2026
Exam [PDF]   |   Solutions [PDF]   |   Garza
Autumn 2025
Exam [PDF]   |   Solutions [PDF]   |   Hsia/Hu
Summer 2025 (2)
Exam [PDF]   |   Solutions [PDF]   |   Michael
Summer 2025 (1)
Exam [PDF]   |   Solutions [PDF]   |   Michael
Winter 2020
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Autumn 2019
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Summer 2019
Exam [PDF]   |   Solutions [PDF]   |   Wolfson
Spring 2019
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Winter 2019
Exam [PDF]   |   Solutions [PDF]   |   Willsey
Autumn 2018
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Summer 2018
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2018
Exam [PDF]   |   Solutions [PDF]   |   Grossman
Winter 2018
Exam [PDF]   |   Solutions [PDF]   |   Wyse
Autumn 2017
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2017
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Winter 2017
Exam [PDF]   |   Solutions [PDF]   |   Ceze
Autumn 2016
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2016
Exam [PDF]   |   Solutions [PDF]   |   Holt
Winter 2016
Exam [PDF]   |   Solutions [PDF]   |   Grossman
Autumn 2015
Exam [PDF]   |   Solutions [PDF]   |   Anderson

Final Details

Final Policies

The final exam is cumulative and covers content from all topic groups in roughly equal proportion.

The exam is divided into two 60-minute sessions. Part 1 of the exam will be held on 8/20 during quiz section, and Part 2 of the exam will be held on 8/21 during lecture. Please attend your registered quiz section; we will print out exactly as many exams as there are registered students for each section. We will distribute the exam(s) early and you can read and fill out the cover page of the exam, but you should not look at the exam questions until you are told to begin.

  • To Bring: student ID, pencil, eraser, TWO double-sided sheets of handwritten notes (these must be written by hand on paper, not written on an electronic device and printed out), scientific calculator (optional)
  • Provided: final reference sheet [PDF], printed exam with white space for work, time keeping
    • Countdown timer and exam clarifications will be projected in the exam room
  • Not Allowed: books, printed notes, cell phone (silence and put away), watches, AI/AR glasses, hats, graphing calculator, or any other electronic device (unless specifically allowed by an approved accommodation)

Final Topics (cumulative)

  • 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
  • Arrays and Structs: alignment, fragmentation, buffer overflow
  • Buffer Overflow
  • Caching: locality, cache parameters and policies, performance, code analysis
  • Dynamic Memory Allocation: allocation and deallocation (fragmentation, coalescing, policies), allocator implementation details (heap block organization, free lists), garbage collection, memory bugs
  • Processes: fork, execv, exceptions, context switching, zombies
  • Virtual Memory: paging, address translation, disk and swap space, protection and sharing

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


Final Practice

Past Final Exam Database

Winter 2026
Exam [PDF]   |   Solutions [PDF]   |   Garza
Autumn 2025
Exam [PDF]   |   Solutions [PDF]   |   Hsia/Hu
Summer 2025
Exam [PDF]   |   Solutions [PDF]   |   Michael
Spring 2025
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Autumn 2019
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Summer 2019
Exam [PDF]   |   Solutions [PDF]   |   Wolfson
Spring 2019
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Winter 2019
Exam [PDF]   |   Solutions [PDF]   |   Willsey
Autumn 2018
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Summer 2018
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2018
Exam [PDF]   |   Solutions [PDF]   |   Grossman
Winter 2018
Exam [PDF]   |   Solutions [PDF]   |   Wyse
Autumn 2017
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2017
Exam [PDF]   |   Solutions [PDF]   |   Anderson
Winter 2017
Exam [PDF]   |   Solutions [PDF]   |   Ceze
Autumn 2016
Exam [PDF]   |   Solutions [PDF]   |   Hsia
Spring 2016
Exam [PDF]   |   Solutions [PDF]   |   Holt
Winter 2016
Exam [PDF]   |   Solutions [PDF]   |   Grossman
Autumn 2015
Exam [PDF]   |   Solutions [PDF]   |   Anderson