Course web site: https://www.cs.csub.edu/~gordon/3600/
This course meets:
MWF 8:00am - 9:50am in room-240 (lecture 32365)
Thurs 7:20am - 9:50pm in room-240 (lab 32366)
The topics below are the general subjects of the course, and will be introduced and discussed sequentially as the course progresses. Subjects could be added or removed.
Week | Chapter | Topic list |
---|---|---|
Week 1 | Chapters 1 & 2 | Operating systems overview |
Week 2 | Chapters 1 & 2 | Historical development |
Week 3 | Chapter 3 | Process description & control |
Week 4 | Chapter 4 | Principles of threaded programs |
Week 5 | Chapter 4 | SMP & microkernels |
Week 6 | Chapter 5 | Principles of concurrency |
Week 7 | Chapter 5 | Semaphores |
Week 8 | Chapter 6 | Principles of deadlock & starvation |
Week 9 | Chapter 6 | Linux kernel concurrency |
Week 10 | Chapter 7 | Memory management |
Week 11 | Chapter 8 | Virtual memory |
Week 12 | Chapter 9 | Uni-processor scheduling algorithms |
Week 13 | Chapter 10 | Real-time scheduling |
Week 14 | Chapter 11 | I/O scheduling |
Week 15 | Chapter 15 | Security issues |
Operating Systems: Internals and Design Principles 9th edition by William Stallings Pearson ISBN-13: 9780134670959 (Some earlier editions acceptable)
(Optional book) The C Programming Language (ANSI C) 2nd Edition by Brian Kernighan and Dennis Ritchie Prentice Hall ISBN-13: 978-0131103627 ISBN-10: 0131103628
(Optional book) The Linux Programming Interface A Linux and UNIX System Programming Handbook by Michael Kerrisk No Starch Press, Inc. ISBN-13: 978-1593272203 ISBN-10: 1593272200
Student Learning Outcomes
This course covers the following ACM/IEEE Computer Science 2013 Body of Knowledge student learning outcomes in Operating Systems (OS):This course covers the following ACM/IEEE Computer Engineering 2004 Body of Knowledge student learning outcomes in Operating Systems (CE-OPS):
This course covers the following ACM/IEEE Computer Engineering 2016 Body of Knowledge student learning outcomes in System Resource Management (SRM):
ABET Outcome Coverage The course maps to the following performance indicators for Computer Science (CAC/ABET) and Computer Engineering (EAC/ABET): (CAC Outcome 1) An ability to analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. Laboratory and homework assignments (CAC Outcome 2) An ability to design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline. Final project (EAC Outcome 1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. Laboratory and homework assignments (EAC Outcome 2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors. Final project (EAC Outcome 6): An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgement to draw conclusions. Laboratory and homework assignments
Labs, homework, quizzes, etc. 50% ********** Midterm exam-1 15% *** Project 20% **** Final exam 15% *** -------------------------------------------- Total 100% Grading scale used during the semester... A 93% A- 90% B+ 87% B 83% B- 80% C+ 77% C 73% C- 70% D+ 67% D 63% D- 60% F 0%
Other course details... Classroom sessions Class sessions will be in Science-III room 240. Attendance Class attendance is required. Please be in your seat and ready when the period begins. Attendance marks: Late arrival to class - 1 mark Unexcused absence - 1 mark Each attendance mark is a small deduction from your overall grade. Deduction amount begins at 0.5% Deduction increases slightly with each occurance. For example: 1 late arrival = 0.5% deduction 10 late arrivals = 5.9% deduction 20 late arrivals = 13.8% deduction Repeated disruptions of class due to late arrivals can cause added penalties. Labs Lab attendance is required. Labs are hands-on assignments to be done during the class period. Lab rules: 1. Must not be late to lab. 2. Must work the entire lab period, unless excused by instructor. If you finish a lab, ask if it's ok to leave. 3. Your program must compile and run at the end of a lab period. A program that does not compile could receive a score of zero. Lab assignments are designed to run on the classroom computers. Use of a personal laptop requires the following... 1. Installation of any utilities needed. 2. Ability to enlarge your screen text for better viewing. More lab rules: 1. If you arrive late to lab, do not copy from another student. 2. If you need help, be ready to enlarge your screen text for viewing by your instructor. Lab programs are collected at the end of lab period. A lab score will be given based on your work. Lab programs do not usually turn into homework. Homework Homework assignments will be posted on our web page. Most homeworks are web-based quizzez with questions from lectures that cover textbook material. Homeworks are like self-guided studies that will prepare you for quizzes. Occasionally, a lab program will become homework. General requirements of programming assignments Your programs will be files stored on the Odin server inside your 3600/ directory, and in the proper subdirectory. Your 3600/ directory must be created using a script provided. The 3600/ directory is created so that your work is visible only to you and your instructor. Do not change the permission of the directory after running the provided script. Other general requirements: . Your name on the top line of a program or text file . Correct file name . Correct file location Programming assignments: . No compile warnings or errors . Program must run . Program output must be neat, clean, and complete. . C/C++ program code must follow the K&R coding style. . C/C++ program code must have consistent and correct indenting. Text file written assignments: . Neatly written text . Correct spelling and grammar Each assignment will also have some specific requirements in addition to those listed above. Final Exam A final exam will be given. A date and time for the final exam will be posted. Late Assignment Policy Late assignments will not be accepted and can result in a score of zero. Individual Work Policy All work done in this course is individual work. Sharing of source code is not allowed. Possession of code written by other students is not allowed. Asking or searching for code written by other students is not allowed. Copying another student's work is plagiarism. Copying answers or source code from the Internet is also plagiarism. Using an AI tool to write your code is not allowed. Semester Project There will be a semester project in this course. It will consist of several programs to be written that expand on program elements you learn in lab assignments. Classroom Behavior - CSUB is a smoke-free and tobacco-free campus! Please do not smoke, vape, chew, or spit in the classroom. - Please do not wear headphones or earbuds in the classroom. Refer to the accommodations section if needed. Your instructor reserves the right to ask you to remove your headphones inside the classroom. - Please do not use your cellphone during class time. Repeated use of social media is not allowed. - If you arrive late, please do not walk past the instructor while a lecture is in progress. - Please do not curse in the classroom. - Use of an electronic recording device is not allowed. For example: If you want to take a picture of lecture materials on the big-screen, ask for permission first please. Academic Integrity Policy All work done in this course is individual work. Please do not share your work with other students. You may discuss assignments with other students, but sharing of source code is not allowed. Refer to the Academic Integrity policy printed in the campus catalog and class schedule. Violations are enforced in accordance with the Department's policy on academic honesty. Absence from class A student's responsibilities include attending classes. If you miss a class, it is your responsibility to inform your instructor of the reason for the missed class (documentation may be required) and to arrange to make up any missed assignments, exams, quizzes, and class work, to the extent that this is possible. Some assignments cannot be made up. Excusable absences include, but are not limited to: Illness, injury, death of an immediate family member, etc. See a complete list at CSUB Catalog. Search for "University Absence Policy". If you receive a summons for Jury Duty, immediately call the number on the summons to reschedule your service to a time when you are not in school, such as holiday break or summer. Telling your instructor in advance of an absence gives you the best chance of being excused. No Recordings Allowed: Under California Education Code Section 51512, it is illegal for any person, including a student, to use an electronic device to record what is happening in the classroom without the consent of the instructor. The instructor for this course DOES NOT give consent for recording of any kind. If a disability requires you to record a class session, then please contact SSD so accommodations can be made. Your instructor reserves the right to amend this syllabus during the semester.