Pre-Course Review (PCR) of Prior Offerings Form Course Name: Introduction to Operating Systems Course No.: CS-520 A Session: Fall Instructor: Igor Faynberg Date: August 28, 2012 This form is for you to indicate how assessment results of prior offerings have helped you to plan an improved offering this semester. 1. List the materials from prior offerings of this course (and possibly other courses) that you have reviewed as part of your preparation to teach this course this term. Clearly indicate the course numbers, semesters offered, and types of materials reviewed in each case. I have taught this course for the past 10 years, the last time in the Fall Semester of 2011. I have reviewed all documentation (PCR, ICE, and SPAD) from the Fall 2011 offering. I have always reviewed students’ assessments carefully. I am also regularly checking the current literature (i.e., new OS book editions and publications) as well as OS course pages at Columbia, Princeton, and University of Pennsylvania to ensure that the program is up to date. 2. Indicate any resulting adjustments in your teaching plan based on your review of the above materials. That is, what, if any, improvements are suggested by the assessment results from prior courses? I am planning to emphasize Cloud Computing. To this end, I will add material that helps students understand virtualization. In addition, to reflect the industry movement to replace PC with the browser, I will spend more time on the Web matters and also on Real-time Multimedia (in the I/O lecture). Overall, my goal remains to make the study most relevant to the current industry needs and trends. 3. Indicate which outcomes will be covered by this offering of the course. This information will be used to ensure that the program is covering all of its outcomes adequately. Therefore, it is important that you underestimate rather than overestimate the outcomes you plan to cover; i.e., if you are unsure that a particular outcome will be covered then do not mention it. I plan to cover all 13 outcomes, deeming all of them necessary, as follows: Program outcome (see list at www.stevens.edu/compsci/ Version July10 Course outcome Instrument to be used for this course outcome accreditation/prog_out.html) 2. [design] Be experienced with design and implementation of a significant software artifact. 2.[design] Be experienced with design and implementation of a significant software artifact. 3. [expertise] Possess deep 1. Explain how memory is allocated among multiple processes. (runtime) Final 2. Explain how the data structures of the UNIX file system serve to map file names to blocks of a storage device. (hardware-interface) Homework # 6, problem #9 3. Explain the value and dangers of in-memory caching of file system disk blocks; describe the algorithms for checking block and file consistency. (runtime) Homework assignment #6, 4. Explain how virtual memory is implemented with paging and segmentation. (runtime) Final exam problems ## 3 and 5. Explain in detail how a virtual address is translated into a physical address on at least one common hardware architecture. (hardwareinterface) Quiz 6. Explain the value and drawbacks of “nontraditional” hardware architectures for supporting virtual memory; e.g., inverted page table and TLB-only. (hardware-interface) Homework #5, problem #5. knowledge in at least one significant sub-area of computer science. 2. [design] Be experienced with design and implementation of a significant software artifact. 2. [design] Be experienced with design and implementation of a significant software artifact. 2. [design] Be experienced with design and implementation of a significant software artifact. [design] Be experienced with design and implementation of a significant software artifact. 3. [expertise] Possess deep knowledge in at least one significant sub-area of Version July10 problems ## 7 and 8; Final exam, problem #6 4 computer science. 2. [design] Be experienced with design and implementation of a significant software artifact. 1. [development] Program competently in at least one major general purpose 7. List causes of interrupts and traps and explain how an operating system, in concert with hardware support, services interrupts and systems call traps. (hardware-interface) Midterm exam, problems ## 3 8. Implement a C program that uses UNIX’s file system interface. (software) Homework assignment # 6, 9. Analyze proofs of some classic concurrency protocols and devise similar protocols with some conditions changed. (problemsolving) Homework assignment #1, 10. Apply semaphores to solving a wide range of multi-processing synchronization problems. (concurrency) Homework assignment #1, and 4 problem #10. programming language. 2. [design] Be experienced with design and implementation of a significant software artifact. 2. [design] Be experienced with design and implementation of a significant software artifact. 3. [expertise] Possess deep knowledge in at least one Problems ##1, 2, 3, 8, and 10; Midterm exam, problem #1. significant sub-area of computer science. 2. [design] Be experienced with design and implementation of a significant software artifact. problems ## 9 and 10; Homework assignment #4, problem #7; Final exam, problem #1 1. [development] Program competently in at least one major general purpose Version July10 11. Apply the deadlock detection algorithm to a given state of a system of processes and Homework #4 (all problems together) programming language. 2. [design] Be experienced with resources, and determine whether a given state of a system is safe. (concurrency) Final exam, problem #2 design and implementation of a significant software artifact. 1. [development] Program competently in at least one major general purpose programming language. 2. [design] Be experienced with design and implementation 12. Develop discrete-eventbased simulation programs using the pseudo-random number generators and apply these programs to simulating process scheduling in operating systems. (software) Homework assignments ##2 13. Explain the principles of OS security, basic types of attacks, and common countermeasures. (runtime). Final exam, problems ## 7 and and 3. of a significant software artifact. 2. [design] Be experienced with design and implementation of a significant software artifact. 8. 3. [expertise] Possess deep knowledge in at least one significant sub-area of computer science. Extend this table as needed to accommodate all instruments that will be used to cover outcomes. If you use multiple instruments for a single course outcome, list each instrument on a separate line. Version July10