#### CS456/556 FINAL EXAM #### Available : May 5 @ 12:01AM EDT Due : May 9 @ 11:59PM EDT I have to have all grades in by noon on May 13. I cannot grant any extensions beyond the date above. You will have the entire finals week to take the exam. Exam Grade Calculation: The Exams make up 50% of your total grade in this class. We have two exams: the midterm and the final. If you do better (percentagewise) on the final than on the midterm, then I will just use your final to calculate the exam portion of your grade. Otherwise, I will use both exams to make this calculation. # Structure of the Final # Canvas: This part will be similar in format to the midterm. Pretty much anything we've done this semester is fair game, so review your old quizzes and any notes you took, as well as the readings you've done. There will be a time limit on this section: probably 60-75 minutes. The number of questions is still to be determined, but expect it to be at least as long as the midterm. (Midterm had 30 questions) Mostly multiple choice, true-false, fill in the blank, there are a there are a few short answers in there too. Programming: You will be asked to write a program on the CS Server that does something, and submit it via handin like you did for homework. You will take a program in C and be asked to improve upon it using stuff we did in class. Both of these parts will be worth 50% of your final exam grade. All parts of the final will be due on May 9 at 11:59PM. You will have all of finals week to do the exam. Things you should know (Stuff we went over): - Basic System Calls - File I/O - the stat structure - the man pages for stat and inode will come in handy here - Processes - fork and exec functions - the directory structure - functions like opendir, readdir, closedir - Memory and allocators - malloc, calloc, free, sbrk - pthreads - probably a couple questions from the readings - Basic stuff on Assembly - opcode table, system calls, registers - tokenization, and lexical analysis - 1 or 2 questions on these