Contents

ISA Exam Overview

Exam Logistics

The exam will be in person during class time.

You may bring a provided paper blue book that you can fill with your own notes to the exam (you may not bring textbooks or electronic material). Blue books will be available the week before the exam in class or picked up from Alexa’s office (W116).

Honor Code

The exam is subject to the Honor Code.

You may not give or receive help on the exam. You may not share details of the exam questions or what material is covered until exam solutions have been released to everyone in the course. At that point, you can discuss the exam with other current CS240 students (you should not provide this information to any future CS240 students). Do not discuss the specific exam questions with past or future CS240 students.

You are encouraged to study with other students and can prepare your own paper notes with other students.

Reference material

The exam does not focus on memorization and will include specific required information for certain sections (e.g., you do not need to memorize all x86-64 instructions, which would be an impossible task). However, you should know offhand, for example, how to read an x86 addressing mode, how structs are aligned in C programs, or how to deference a pointer.

In addition to the per-question reference material, the following reference pages will be provided: ISA reference pages

Topics

  • The exam focoses on topics under the Hardware-Software Interface part of the course, plus Processes and Shells.
    • While the exam does not focus on topics from the earlier Computational Building Blocks part of the course, the ideas are connected, so facility with those ideas may still help.
    • +Optional topics are excluded.
    • Process Model is included, but will not be worth a substantial number of points, because the associated assignment is due around the time of the exam. You should be comfortable the high-level behavior of fork, exec, and wait calls as described in lecture and lab.
    • Later topics, starting with Memory Allocation, are excluded.
  • The exam assumes familiarity with the concepts used by assignments associated with the exam topics.

Study Materials

The following materials may be of use in studying for the exam:

  • Lecture slides, videos, and associated exercises
  • Lab exercises
  • Assignments
  • Practice slides from class 04/08 (solutions).
  • Review materials and Midterm/Final exams from a similar course at University of Washington in Autumn 2016 or later:
    • These sample exams follow a similar style to the CS 240 exam. Sample solutions are available.
    • It is sometimes necessary to pick and choose problems.
      • The topics relevant for CS 240 are split across the Midterm and Final exams in this other course.
      • These sample exams may also cover some topics, such as floating point numbers, caching, or virtual memory, that will not be covered by this CS 240 exam, and some topics, such as integer representation and bitwise operations, that still matter, but will not be a primary focus of this CS 240 exam.
    • Avoid the exams prior to Autumn 2016, which use an older version of x86 that will confuse you.
    • An incomplete list of suggested problems:
      • Winter 2019:
        • Midterm: 2, 3, 4
        • Final: 1, 2, 3, 4
      • Autumn 2018:
        • Midterm: 2, 3, 4, 5
        • Final: M2, M3, M4, M5, F6
  • The chapters we have used in the CSAPP book include many excellent practice problems (with solutions at the end of the chapter) and homework problems.

Revisions

Exam revisions for Exam 1: HW are due on Monday, May 6 via this Google form.

On any exam problem where you got 2+ points off, you can revise your answer to earn back credit up to the total number of points on the problem minus 2 (or 1+ point off on some problems). Such problems are marked in your Gradescope feedback.

For each problem, the revision must include:

  1. Your revised answer.
  2. A phrase or 1-2 sentences reflecting on why you got your previous answer. For example, “I forgot that we were working with signed numbers” or “I mixed up number of bits and number of bytes” would be good reflections.

You should not discuss your revisions with any other students or the tutors, though you may discuss revisions with the two instructors. You can discuss the general concepts with other students and the tutors. You should not use any reference material outside of the CS240 website and textbook(s).

You are encouraged to use any resources on the CS240 website as you make your revisions and to discuss your revisions with the two instructors.