CS 345 Operating-Systems is designed to help application developers understand the services that the operating-system provides, how those services are provided, and the constraints under which they operate.
Why do I care?
This class as similar to a "power-up" in a game. Just as power-ups make our character in a game more powerful, operating-system services make our programs more capable. The trick is to be aware of these capabilities and know how to use them. Through the skills you will learn in this class, your programs can be more efficient, consume less resources, and be more robust.
Successful graduates of CS 345 will:
- List and explain the main concepts of operating-systems.
- Collect and analyze data to better understand how systems operate.
- List, describe, and implement the most important algorithms of operating-systems.
- Produce high-quality working code matching an algorithm presented in a variety of formats.
- Interact with peers in a professional manner, including writing professional paper(s), conducting thorough code reviews, and providing meaningful feedback.
The vast majority of the reading of the course will be in the textbook:
Silberschatz, Galvin, and Gagne, Operating-System Concepts - Essentials, 2nd Edition. Wiley, 2014. (ISBN 978-1-118-80492-6)
Compare Prices for your textbooks through the University Store Comparison Site. They will show you all of the options from the University Store plus several online options to help you find the best price.
There will be additional material available through I-Learn, including:
- Additional material pertaining to a given week
The grading breakdown for the class will be:
|Preparation||30%||Each week will have a reading quiz but about half the weeks will also have a programming assignment. For most weeks, there will be about 45 pages of reading that will take about 2 hours to complete|
|Teach-One-Another||30%||Every week, there will be a Teach-One-Another activity. This will mostly this will take the form of a problem set, analogy problem, or code reviews.|
|Ponder & Prove||40%||There will be one assignment per week. Most of these will be a programming lab. These will take about 5 hours a week to complete.|
|Grades are as follows:||100% → 90%||A:||Demonstrated mastery of the class|
|89.9% → 80%||B:||All of the key concepts and skills have been learned|
|79.9% → 70%||C:||Acceptable, but might not be ready to graduate|
|69.9% → 60%||D:||Developing, the class has yet to be mastered|
|59.9% → 0%||F:||Failed to understand or complete the course|
There will also be the usual +’s and -’s. All grades are reported on I-Learn. If you feel that I-Learn does not accurately reflect your earned grade, please discuss this with your instructor.
All the learning activities have a time estimate associated with them. These signify how long it takes the average student to complete the activity for the average grade. Some students will complete the assignment significantly faster or slower than the average, and getting an "above average" grade may take much more time and effort. Please use the estimates as guidelines; they are not guarantees.
Be responsible for your own education. Take responsibility to complete assignments and tests as assigned. Be prepared to accept the consequences if you do not.
Students are encouraged to work with your classmates to learn technologies and share ideas, but all submitted work must be original. Share ideas; DO NOT SHARE CODE (except when directed to do so as part of an assignment)! The penalty for copying or plagiarizing of assignments might be one or more of the following: a 0 on an assignment, being asked to withdraw from the class, a failing grade in the class, or disciplinary action by the University.
Late work will generally not be accepted in this class. That being said, there are exceptions. If you know of an upcoming event that will keep you from turning something in on-time, you need to make prior arrangements with the instructor. As a general rule, the instructor will be more accommodating before the due date than after.
There will be two main ways to communicate with the instructor in CS 345: BYU-Idaho e-mail and the Announcements:
- Announcements. Please check the announcements every single day. The instructor will periodically post important and time-sensitive items in the announcements.
- E-Mail. All students are required to use their BYU-Idaho e-mail when communicating with the instructor.
Please do not count on using the phone (unless explicitly arranged by the instructor),
Facebook, smoke signals, or any other form of communication.
The instructor will answer all your e-mails in less than 24 hours.
Please contact your instructor directly for questions about your grade, questions about expectations for assignments, or questions about the course content.
In addition to this, you will be assigned to a group in the second week. Expect to collaborate with members of your group on most assignments through the course of the semester. They should be the first people you turn to for just about anything.
BYU-Idaho is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by BYU-Idaho Disability Services. If you need assistance or feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established policy and procedures.
If you have any disability that may impair your ability to complete this course successfully, please contact Disability Services as soon as possible, preferably before the beginning of the semester, in order to insure that you receive appropriate accommodations.
Disability Services Contact Information:
- Phone: 208 496 9210
- Email: email@example.com
- Fax: 208 496 5210
- Website: http://www.byui.edu/disabilities/disability-services