Syllabus - CSCE 451/851 Operating Systems

Department of Computer Science and Engineering
University of Nebraska – Lincoln
Spring 2020

Instructor:
Justin Bradley 290 Schorr
Office hours: Thursdays 10:45 - 11:45, and otherwise by appointment By appointment
Email: justin.bradley@unl.edu
Phone: (402) 472-5072

TAs:
Mohammad Alali (AVH 12, Students Resource Center)
Office hours: Mondays 11:00 - 1:00 By appointment
Email: alali@huskers.unl.edu

Quinn Lanik (MANT 403)
Office hours: Tuesday/Thursday 11:00 - 12:30 By appointment
Email: quinnmlanik@gmail.com

1 Course Overview

This course will introduce students to key concepts of modern operating systems. These concepts include system organization, processes, threads, process management, process and thread synchronization, memory management, and storage management.

Topics covered: Organization and structure of operating systems. Processes and concurrent programming. Inter-process communication. Process synchronization using reads/writes, semaphores, and monitors. CPU scheduling. Deadlocks including detection, avoidance, prevention and recovery. Intro to real-time systems. Memory organization and management including paging, segmentation, virtual memory, and page replacement algorithms. File system concepts and structure. Protection and security. Topics are conveyed through lectures and a series of hands on programming assignments.

2 Class Details

2.1 Section 1 (CSCE 451/851-001)

Class: TR 09:30 - 10:45 in BESY 117
Final exam: 10:00 - 12:00 Thursday, May 7, 2020

2.2 Section 2 (CSCE 451/851-002)

Class: TR 14:00 - 15:15 in AVH 106
Final exam: 13:00 - 15:00 Wednesday, May 6, 2020

Class website (just a repeat of Canvas): http://cse.unl.edu/~jbradley/courses/2020_spring/CSCE451-851-OS/

3 Course Requirements

Prerequisites: A grade of “P” or “C” or better in CSCE 230, CSCE 230H or CSCE 231 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.

Text: Silberschatz, Abraham, Greg Gagne, and Peter B. Galvin. Operating system concepts: 9th Edition. Wiley, 2013.

4 Policies

4.1 Grading Policies

This course will consist of 5 (graded) programming assignments, 4 homework assignments, one midterm, and one final exam. The grade breakdown will be:

4.1.1 Late Work Policy

Late work will be accepted according to the following formula. Let h be the hours past the time due, and t=\lceil h\rceil. Then your grade will be g=xe^{-0.02t} where x is the total points possible on the assignment (typically 100). No other late work exceptions will be made outside of those indicated in the UNL policy indicated at https://registrar.unl.edu/academic-standards/policies/class-attendance/. As a general rule I am much more willing to work with exceptions if you let me know in advance if possible.

4.1.2 Differences between 451 and 851

Students in 851 will be assigned additional problems on homework assignments. This addition will not be significant as I intend for the 451 and 851 to be roughly equivalent, and this course already has a high workload.

4.1.3 A very important note on grading of programming assignments:

4.1.4 Explanations

Bottom line: write good code that fulfills the specifications (i.e., passes all the tests) and you’ll get all the points.

4.1.5 Grading Appeals Policy

Sometimes you do your very best and something doesn’t go right. You forgot a “\n” character in a printed statement, etc. In these minor cases, where you were very close, please write me an “appeals” email describing the scenario, submitting your new code, and I will, at my discretion, re-grade the assignment with a 10% penalty. All appeals must be filed within a week of grades being posted.

4.1.6 Grade Assignment

Grades will then be assigned using the following table:

Grade Percent
A+ [98-10]
A [93-98)
A- [90-93)
B+ [88-90)
B [83-88)
B- [80-83)
C+ [78-80)
C [73-78)
C- [70-73)
D+ [68-70)
D [63-68)
D- [60-63)
F [0-60)

4.2 Class Policies

  1. Attendance is not mandatory but you are responsible for anything that transpires during class. Please be on time to class!! If you’re consistently late and/or disruptive in class I reserve the right to dock you points on an assignment.

  2. Put your name, course, and section on everything you turn in. Sometimes we print things out for grading. Also, this is generally just good practice.

  3. Exchange of ideas and techniques is highly encouraged but your work must be your own. If someone helps you, please give them credit in your code (even if it’s the TA). Myself and the TAs will follow up with suspicions of academic dishonesty in accordance with department and university policy (see below).

  4. All homework assignments must be typed unless otherwise specified. If you are not proficient with either LaTeX, Microsoft Word, or some other word processor or typesetting language now is your chance to learn as this will be a necessary component of your professional career.1 If writing is difficult for you, or you are not proficient with English, the UNL Writing Center (http://www.unl.edu/writing/home) may be able to help you. If I can’t understand what you write I will dock you points. This is the subjective nature of writing and communicating.

  5. Students have one week from time of grade posting to challenge a grade.

  6. If you have questions or would like to chat please contact me by email. I’d be happy to talk to you most anytime, but would appreciate setting up an appt. if you need a specific question addressed. I have set aside one open office hour per week, and 1+ hour for individual appointments.

  7. Please use professional email communication. A saluation, description, request, closing, and concise subject line are appropriate for professional communication.

  8. Course announcements will be posted on Canvas and some may be distributed by email. Check your email and the Canvas announcements regularly!

  9. Discussions and questions about PAs and HWs is encouraged! Please use Canvas for such discussions so that everyone can benefit from the answers.

4.3 CSE Policies

  1. The CSE Department has an anonymous contact form that you may use to voice your concerns about any problems in the course or department if you do not wish to be identified. (http://cse.unl.edu/contact-form)

  2. CSE Department policy dictates that students in CSE courses are expected to regularly check their email so they do not miss important announcements.

  3. Consider the Student Resource Center in Avery 12 if myself or the TAs are not available, or you otherwise need help: (http://cse.unl.edu/src)

  4. All homework assignments, quizzes, exams, etc. must be your own work. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated. The Computer Science & Engineering department has an Academic Integrity Policy (http://cse.unl.edu/academic-integrity-policy). All students enrolled in any computer science course are bound by this policy. You are expected to read, understand, and follow this policy. Violations will be dealt with on a case by case basis and may result in a failing assignment or a failing grade for the course itself.

4.4 UNL Policies

  1. The University strives to make all learning experiences as accessible as possible. If you anticipate or experience barriers based on your disability (including mental health, chronic or temporary medical conditions), please let me know immediately so that we can discuss options privately. To establish reasonable accommodations, I may request that you register with Services for Students with Disabilities (SSD). If you are eligible for services and register with their office, make arrangements with me as soon as possible to discuss your accommodations so they can be implemented in a timely manner. SSD contact information: 232 Canfield Admin. Bldg.; 402-472-3787.

  2. Academic honesty is essential to the existence and integrity of an academic institution. The responsibility for maintaining that integrity is shared by all members of the academic community. The University’s Student Code of Conduct addresses academic dishonesty. Students who commit acts of academic dishonesty are subject to disciplinary action and are granted due process and the right to appeal any decision.

  3. UNL offers a variety of options to students to aid them in dealing with stress and adversity. Counseling and Psychological Services (CAPS); is a multidisciplinary team of psychologists and counselors that works collaboratively with Nebraska students to help them explore their feelings and thoughts and learn helpful ways to improve their mental, psychological and emotional well-being when issues arise. CAPS can be reached by calling 402-472-7450. Big Red Resilience & Well-Being provides one-on-one well-being coaching to any student who wants to enhance their well-being. Trained well-being coaches help students create and be grateful for positive experiences, practice resilience and self-compassion, and find support as they need it. BRRWB can be reached by calling 402-472-8770.

5 Schedule

This schedule is a best estimate and may change, and may be wrong. Please see the master, detailed schedule in Canvas for a reliable, week-by-week schedule:

Week Assigned Due
1 Jan 13-17 PA0
2 Jan 20-24 PA1 (1/21)
3 Jan 27-31
4 Feb 3-7 PA2 (2/6) PA1 (2/6)
5 Feb 10-14 HW1 (2/11)
6 Feb 17-21 PA3 (2/20) PA2 (2/20)
7 Feb 24-28 No class Feb 25 HW2 (2/25) HW1 (2/25)
8 Mar 2-6
9 Mar 9-13 Midterm Exam (3/12)
10 Mar 16-20 Class cancelled COVID-19
11 Mar 23-27 No class (Spring Break) EC1 (3/26)
12 Mar 30 - Apr 3 HW3 (3/31) HW2 (3/30), PA3 (3/30)
13 Apr 6-10 PA5 (4/9)
14 Apr 13-17 HW4 (4/14) HW3 (4/14)
15 Apr 20-24
16 Apr 27 - May 1 HW4 (4/28), PA5 (5/1)
17 May 4-8 Final Exam EC1 (5/8)

6 COVID-19 Pandemic-induced Adjustments

6.1 Update to course logistics

6.2 Update to course details

These updates are content changes in light of our unfortunate circumstances this semester:

6.3 Invitation to contact me

Please contact me with any questions. I’m particularly concerned with the mental and emotional distress our current circumstances could have on each of us. Don’t hesitate to reach out and let me know how things are going. We will all have to be patient with each other and ourselves during this time.


  1. Personally, I use LaTeX, so if that’s your platform and you need technical help I can offer it. If you use Microsoft Word I will be of no use to you.↩︎