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:

Course Materials

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:


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:

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: