CS480 Operating Systems Spring 2023 Section 01, 02
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CS480 Operating Systems Spring 2023
Section 01, 02
Schedule number: 14381, 14382
COURSE OVERVIEW AND DESCRIPTION:
File system, I/O management, inter-process communication, memory management, processes and threads, program structures, thread synchronization, virtual memory.
Prerequisites: Computer Science 210 (previously 310) and 240 (previously 237). Course Type: Mandatory core course in the program
For more information, please see Canvas as well as the tentative schedule below.
STUDENT LEARNING OUTCOMES
Course-Level Student Learning Outcomes
1. Describe the fundamental structure and design of these systems. Understand the role of operating systems as an abstraction layer between the user and the architecture, and as a resource manager for applications to share computer hardware.
2. Implement, apply and/or evaluate algorithms associated with resource management such as coordinated access to shared memory buffers, protection of user and system data, and ensuring system stability.
3. Identify and evaluate design tradeoffs in operating systems and other complex programs.
4. Develop more complex programs in C or C++ by applying advanced techniques such as making function calls through variables pointing to functions.
5. Work collaboratively using pair programming techniques.
6. Comprehend and reflect on the impact of computer software on the health and well-being of society through discussion of system-critical applications and the need for more comprehensive testing (e.g., fly by wire aviation systems, pace- makers).
7. Engage in operating systems design projects.
Relationship to CS Program Course Outcomes
This course essentially addresses the following CS Program course outcomes:
1. SO-1: Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions .
2. SO-2: Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
3. SO-3: Communicate effectively in a variety of professional contexts .
4. SO-4: Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
5. SO-5: Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
6. SO-6: Apply computer science theory and software development fundamentals to produce computing-based solutions.
COURSE MATERIALS
TEXT: Tanenbaum, A. S. and Bos, H. (2015). Modern Operating Systems. Boston, MA: Pearson. ISBN-10: 0-13-359162-X ISBN-13: 978-0-13-359162-0 |
Required |
SDSU Bookstore O’Reilly online (See Canvas)
Amazon |
Lecture Notes / Slides Note: lecture notes / slides are strictly SDSU properties, posting and sharing any course materials on any online platform outside SDSU Canvas are strictly prohibited. |
n/a |
Canvas |
Materials (including texts, readings, course fees, equipment, and any technology requirements) |
Required or optional |
Where and how it can be obtained |
COURSE DESIGN
The following topics are covered:
• Processes & Threads
• Memory Management & Virtual Memory
• Synchronization & Inter-process Communication
• File Systems
• I/O Devices
• Selected topics in Cloud Computing or Security if time permits.
Scored activities and weighting by percentage of total score:
Attendance and in-class participation |
5% |
Programming Assignments |
60% |
Mid-term exam |
15% |
Final exam (cumulative) |
20% |
Total |
100% |
Assignments (60% of the grade):
Start the assignments and ask questions early, do NOT expect help on the due date.
Problem sets consist of questions and programming assignments. The number of problem sets varies from semester to semester, but there are typically five to six problem sets. Questions may be quantitative or qualitative in nature. For qualitative questions you are expected to give responses in grammatically correct complete sentences. For quantitative problems, you must show your work in order to receive credit.
Some exercise problems and short answer questions in homework and exams are evaluated using coarse grading, as in a lot of cases, it is very difficult to systematically determine that one answer is worth a certain number of points, versus another answer. Points are assigned based upon broad categories that indicate the degree of mastery:
Excellent (E): 100%
Good (G): 95%
Mostly Right (MR): 85%
Right Track (RT): 75%
Valiant Effort (VE): 40%
Fail/Unacceptable (F): 0%
Note on programs: Whether as part of a lab or problem set, programs must be well structured and commented, and follow industry best coding practices, such as:
• Design and implement clean interfaces between modules.
• NO global variables.
• NO hard code – Magic numbers, etc.
• Have proper code structure between .h and.cpp files.
Frequently, students make their lives more difficult by simply writing the program without thinking first. The use of good program design will make your life significantly easier. In addition, an emphasis should be made on making your programs readable. Use meaningful variable names and comment as you write the program rather than adding comments at the end. Functionality may be evaluated automatically, be sure to follow specified interfaces and naming conventions. Good design and structure are expected; programs are not assessed as excellent or good simply because they work. You are not expected to comment every line nor to comment obvious lines of code (e.g. counter = counter + 1), but you must provide enough documentation such that a reasonable programmer can easily follow your code. Failure to do so will result in the program earning a lower number of points. See the course FAQ for guidelines on appropriate program structure.
Exams (35% of the grade)
There will be one midterm exam and one final exam, closed or open-book is to be decided. Generally, exams emphasize on understanding of concepts and you should expect essay questions in addition to any short answer or quantitative questions. If you cannot attend an exam, contact me before the exam as early as you can. You must have extenuating circumstances beyond your control for not attending the exams, and I will be the sole judge as to whether the circumstances warrant your absence from the assessments.
Do NOT expect any make-up exam.
If using webcams during exams: During this course, I may require students to use Respondus Lockdown Browser, or to require webcam use during course sessions. I will notify students in advance of examinations requiring webcam use.
GRADING POLICIES
Grading Scale:
• A: 100%-93%; A-: 92.99%-90%;
• B+: 89.99%-87%; B: 86.99%-83%; B-: 82.99%-80%;
• C+: 79.99%-77%; C: 76.99%-73%; C-: 72.99%-70%;
• D+: 69.99%-67%; D: 66.99%-63%; D-: 62.99%-60%;
• F: 59.99%-0%.
Late Turn in Homework and Report Assignments are usually due at the beginning of class. Any assignments turned in after the beginning of class will be counted late. Late assignments will be accepted up to one class period after the due date with a penalty of 10% of the possible number of points.
CLASS POLICIES
Attendance:
Students must present in all scheduled exams/quizzes and are strongly encouraged to attend and participate in lecture discussions.
a. You must attend first week classes to keep your enrollment with the class.
b. You are expected to attend all lectures. Class attendance and participation are tracked as part of the class grade.
Phones/computers should be silenced. Computers may be used only to take notes and participate in lecture as instructed. The instructor may request any student engaging in distracting behavior to leave the class session and that student will be required to leave and may not return until the next class.
Please see below for classroom conduct standards.
Drops/Refunds/Withdrawal Procedures
It is the responsibility of the student desiring to drop the course to turn in the necessary drop forms, BY THE PUBLISHED DROP DATE.
Students are required to:
• Make use of the online course materials available via Canvas. Access to these materials is available once you have registered to the course.
• Complete readings, assignments, quizzes/exams by the dates indicated on the syllabus.
• Check email on a daily basis.
• Participate in asynchronous online discussions.
2023-01-29