Midterm Date & Location
The CIS 3800 Midterm Exam 1 (zero indexing, so this is the second exam) will be held Thursday December 7th from 7:00pm-9:00 pm in Meyerson B1.
Midterm 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 midterm is cummulative, and you can think of this midterm has having a “sub section” that covers the material on the first exam. You can replace your first midterm exam score with the score of the sub-section of the second midterm exam. This does not apply in reverse, we will not replace your sub-section score of the second midterm with your first midterm exam score.
To accommodate for the subsection of the second midterm exam being harder/easier than the first midterm exam itself, we have a formula that accounts for average and standard deviation.
- First, we calculate Potential Midterm Clobber Score with:
(second_midterm_sub_score - second_midterm_sub_mean) / second_midterm_sub_std_deviation * first_midterm_std_deviation + first midterm_mean
, capped at 100 - Then we take the maximum score between the calculated potential clobber score and the grade you had on the first 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 second midterm 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 first midterm. 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:
1st half of the Semester
- 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
- Virtual Memory
- High Level
- Multi Level Page Tables
- Inverted Page Tables
- Page Replacement policies
- TLB
- Memory Allocation
- Malloc Free Lists
- Buddy Algorithm
- Slab Allocator
- Fragmentaion:
- Internal Fragmentation
- External Fragmentation
- Memory Heirarchy
- The entire memory heirarchy
- Caches
- Spatial Locality
- Temporal Locality
- Threads
- processes vs threads
- parallelism
- user vs kernel threads
- pthreads
- ucontext
2nd half of the Semester
- Scheduling
- FCFS
- Shortest Job First
- Round Robin
- Round Robin Variants
- File System
- Linked List Allocation
- FAT
- I Nodes
- Directories
- Device Drivers
- Direct Memory Access
- IO Buffering
- RAID
- RAID 0
- RAID 1
- RAID 4
- RAID 5
- Concurrency
- Data Races
- Race Conditions
- Mutex
- Condition Variables
- Dining Philosophers
- Reader Writers
- Producer Consumer
- Amdhal’s Law
- Deadlock & Deadlock Detection/Avoidance/Prevention
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.
Midterm 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 midterm review 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 recitation and lectures the week of the midterm. Check the course schedule and we will post the materials when we have them ready.
Check-ins w/ Answers
- check-in 00 - answers
- check-in 01 - answers
- check-in 02 - answers
- check-in 03 - answers
- check-in 04 - answers
- check-in 05 - answers
- check-in 06 - answers
- check-in 07 - answers
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, the midterm 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.
First Half of the Semester
- process questions - answers
- signals questions - answers
- memory mangement questions - answers
- threads questions - answers