ISA Exam
Contents
ISA Exam Overview
- The exam timeline is marked on the calendar:
- info: Monday 8 April
- inclass: Thursday 18 April
- revisions: Monday 6 May
- The exam is a paper exam covering topics listed below.
- Some study suggestions are included below.
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
, andwait
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
- Winter 2019:
- 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:
- Your revised answer.
- 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.