Exam Date & Location
The CIS 4480/5480 Final Exam will be held Monday May 5th from 9:00am-11:00 am.. The exam is split across two locations. Your last name will decide which room you will take it in
- If your last name starts with the letter A through O (inclusive) the you will take the exam in Chem 102
- If your last name starts with the letter P through Z (inclusive) the you will take the exam in DRLB A1
Exam Policies
You will have 120 minutes to complete the exam. We will be beginning as soon as possible, so please show up to class early if you can. We will the distribute the exam early so that you can read and fill out the front page of the exam, but you should not look at the exam questions until you are told to begin. During the exam, some course staff will be walking around the room to answer any clarifying questions and watch out for any cheating cases.
Materials
- To Bring: pencil, eraser, up to TWO double-sided sheets (standard Letter size, 8.5x11 inch) of notes.
- Provided: printed exam with space to show work, time keeping
- Not Allowed: watch, hat, calculator, cell phone, or any other electronic device.
Clobber Policy
The clobber policy allows you to demonstrate mastery of past material with regard to exams. This exam is cummulative, and you can think of this exam has having a “sub section” that covers the material on the first exam. You can replace your midterm exam score with the score of the sub-section of the final exam. This does not apply in reverse, we will not replace your sub-section score of the final with your midterm exam score.
To accommodate for the subsection of the final exam being harder/easier than the midterm exam itself, we have a formula that accounts for average and standard deviation.
- First, we calculate Potential Midterm Clobber Score with:
(final_sub_score - final_sub_mean) / final_sub_std_deviation * midterm_std_deviation + midterm_mean
, capped at 100 - Then we take the maximum score between the calculated potential clobber score and the grade you had on the midterm. The higher of the two will automatically be used to calculate your course grade.
Cheating
Cheating is a very serious issue and will be vigorously prosecuted. You are not allowed to:
- Discuss the exam with anyone who has taken it before you or will take it after you
- Bring in outside information outside of the allowed note sheet mentioned above.
- Pass of any work as your own.
- Starting the exam early or ending the exam late
We cannot create a detailed list of everything that would be considered cheating, this would be beyond reasonable to create and to expect students to read. It is up to you know when you are cheating, if you are unsure for any reason if something is cheating, you can ask the instructor. Though if you have to ask, it will likely be considered cheating.
Topics
The final exam topics will cover everything from the beginning of the class, with some exceptions. Below you can find a list of some of the course topics and some of the topics that are exempt from the final If a topic is not listed below, you can ask about whether it is testable material.
Topic Exceptions
- We will not ask questions to see if you memorized the minutiae of various C functions. If needed, we will provide the relvant parts of the corresponding man page(s) for you.
- We will not ask you questions about systems programming saftey or C++. We may use psuedo-code that in some way looks like C++, but it should be straightforward. For example, if we have a question with pseudo-code that envolves a linked list, we may have have the pseudocode contain the following variable declaration:
list<int> values;
. This is just for sake of shortening the pseudo code we provide as the C standard library does not provide such generic data structures.
Potential Topics:
- System Calls
- File Descriptors
- read/write and I/O
- process system calls (fork, pipe, etc)
- Processes
- Process Groups
- Terminal Control
- Inter Process Communication
- pipes
- signals
- Memory Heirarchy
- The entire memory heirarchy
- Caches
- Spatial Locality
- Temporal Locality
- FAT & LINUX / UNIX file systems
- contigious Allocation
- Linked-List Allocation
- FAT
- Inodes
- directories
- Super blocks
- Scheduling
- History & ENIAC
- FCFS
- SJF
- Round Robin & Variants
- Multi Level Feedback Queues
- CFS
- Earliest Eligible Virtual Deadline First
- Threads
- Threads vs Processes
- Mutexes & data races
- Thread Interleaving
- Concurrency
- Data Races
- Race Conditions
- Mutex
- Condition Variables
- Dining Philosophers
- Reader Writers
- Producer Consumer
- Amdhal’s Law
- Deadlock & Deadlock Detection/Avoidance/Prevention
- Virtual Memory
- High Level
- Multi Level Page Tables
- Page Replacement policies
- TLB
- Memory Allocation
- Malloc Free Lists
- best / worst / first fit
- Arena Allocators
- Buddy Algorithm
- Slab Allocator
- Fragmentaion:
- Internal Fragmentation
- External Fragmentation
- Malloc Free Lists
If you don’t see something listed above as a potential topic or an exception, then feel free to post on Ed and we will clarify whether you may be tested on it in the exam.
Exam Practice
Advice
We highly recommend that you do some of these questions in a “test-taking environment” before going over the answers. The questions that will be gone over in the review during lecture will likely be more similar in style to what can be expected on the exam.
You may also find it helpful to review old homework assignments, lecture polls and check-in quizzes while studying.
Practice Questions
There will be some review questions gone over in lecture and recitation around the time of the exam. Check the course schedule and we will post the materials when we have them ready.
Final Exam Review
The TA’s will hold a final exam review session on Saturday May 3rd from 6pm to 8pm, tentatively in Towne 217.
Old Review Questions
Note that these review questions are written by a different instructor, so while they still may be useful for practicing the course topics and exam-taking skills, our exam will feel different in the kind of questions that are asked. Some of the questions will also asked things not gone over in this course. If you are unsure if something has been covered, feel free to ask on the course ed.
- process questions - answers
- signals questions - answers
- memory mangement questions - answers
- input output questions - answers
- concurrency questions - answers
- deadlocks questions - answers
Old Exams
Note that the 23fa exams was written following a different topic ordering, so some of the topics have not been covered yet. Some of these questions may be useful for practicing the course topics and exam-taking skills, but some of the questions will also asked things not gone over in this course yet. If you are unsure if something has been covered, feel free to ask on the course ed.
23fa also had two midterms instead of a midterm and a final, which affects the exam design.