Syllabus

COSC 360: Operating Systems (Spring 2026)

πŸ‘¨πŸ»β€πŸ« INSTRUCTOR

Dr. Beau M. Christ
Associate Professor
Department of Computer Science

πŸ“§ christbm@wofford.edu
πŸ“ž (864) 597-4528
πŸ’» www.beauchrist.com
πŸ› Olin 111C
⏰ Office hours will be Tuesdays (4PM-5PM), Wednesdays (2PM-5PM), and Thursdays (4PM-5PM). You can always feel free to email me as well!

πŸ—Ί MEETING TIME & LOCATION

We will meet every Tuesday and Thursday from 2:30PM - 3:50PM in Olin 201, unless otherwise specified.

πŸ“– TEXTBOOK

You will need to obtain a copy of Operating Systems: Three Easy Pieces by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau (the authors also make this book available online for free!), as well as Linux Pocket Guide: Essential Commands (4th Edition) by Daniel J. Barrett.

πŸ“‹ COURSE OVERVIEW

Welcome to COSC 360: Operating Systems!

Operating systems (such as Windows, macOS, and Linux) are something we often take for granted, yet they are extremely important in order to get any work done on any computational device (including cars, microwaves, watches, supercomputers, and many more!). They are often doing a lot of work behind the scenes to make using a computer a lot more user-friendly. But what actually are they? How do they work? How do you construct one?

This course will examine basic operating system concepts (processes, threads, scheduling, memory, etc.), the implementation of those concepts via real code and simulation, and several operating systems that are in use today. A knowledge of operating systems will give you a better understanding of how computers work, and will allow you to exploit the operating system to make your programs run as efficient as possible.

Prerequisites: COSC 273 (Computer Organization & Architecture) with a minimum grade of C and COSC 350 (Data Structures & Algorithms) with a minimum grade of C.

Catalog Description: A study of fundamental concepts that are applicable to a variety of operating systems. Such concepts include processes and threads, process coordination and synchronization, scheduling, physical and virtual memory organization, device management, file systems, security and protection, communications and networking.

βœ… COURSE OBJECTIVES

By taking this course, my goal is for you to:

  • Examine several major operating systems in use today including Windows, macOS, and Linux.
  • Learn basic OS concepts such as processes, threads, physical/virtual memory, coordination and synchronization, scheduling, file systems, and security/protection.
  • Improve your programming skills by better understanding how an operating system interacts with application software.
  • Simulate real phenomena that can occur in operating systems.
  • Gain substantial experience using the Linux command line.

You will fulfill these objectives by:

  • Reading your textbooks
  • Taking two midterm exams, and a final exam
  • Completing multiple assignments
  • Being engaged during in-class discussions and activities

πŸ“ GRADING

Assignments (40%)

You will complete multiple assignments to help solidify your understanding of the material, and these will be submitted via Moodle. Every assignment will be equally weighted, and each will be given a grade out of 10 points.

Midterm Exams (40%)

You will complete two midterm exams (20% each) during the semester 1) to help test your knowledge of things we discuss in class and read in the textbook, 2) to help you keep up in the course, and 3) to help me understand what topics need to be covered better.

Final Exam (20%)

You will complete a final exam that will cover important topics related to the course. It will occur on the scheduled final exam date.

GRADING SCALE

We will utilize the following grading scale (grades will be rounded, so a 92.49% will map to an A-, and a 92.5% will map to an A):

0% - 59% F 80% - 82% B-
60% - 69% D 83% - 86% B
70% - 72% C- 87% - 89% B+
73% - 76% C 90% - 92% A-
77% - 79% C+ 93% - 100% A

πŸ“œ POLICIES

ATTENDANCE

You are expected to attend class. I do understand that absences are sometimes unavoidable, so I appreciate an email letting me know in advance that you will be absent. You are responsible for catching up on missed classes. Finally, in accordance with Wofford policy, you must be present for the final exam.

CLASSROOM

You are allowed to bring your computer to work along with the examples in class. I highly advise you, however, to not become distracted by your devices (notebook, phone, tablet, etc.) for things other than course-related use. Not only are you missing out and inhibiting your learning, but it is often a distraction to others as well. I strongly encourage you to use features such as do not disturb or focus mode. It is also worth mentioning that research has shown that taking notes by hand instead of typing results in a better learning experience.

LATENESS

You are expected to keep up with all coursework and due dates during the semester. Submitting coursework past the due date/time (even by a single minute!) will result in a 1 point penalty (out of 10) for that particular project. After that, you have 24 hours to submit the late work until a second penalty is given (another point). After 48 hours past the due date, the project will not be accepted under any circumstances and will receive a 0. There are a few reasons that are acceptable (medical, family emergencies, etc.), but I will usually only grant extensions for those cases when receiving an email or phone call before the due date. I will decide on a case-by-case basis, but having official documentation will help make your case.

COMMUNICATION

I will use email as my main means of communication. Feel free to contact me using β€œchristbm@wofford.edu”. The top of this syllabus shows other ways to contact me as well. You are also welcome to stop by office hours to chat about any questions or concerns you have.

ACADEMIC INTEGRITY

Please do your own work!

I have caught students cheating in the past, and take these matters very seriously. Any student I determine is guilty of academic dishonesty will have their case referred to the department and the college to be pursued further (trust me, you do not want that to happen). You may discuss ideas with other students, but all work must be your own. You can discuss approaches and ideas with others, but there should be no sharing of code.

To make sure you understand what constitutes academic dishonesty, please read the Wofford Honor Code. By enrolling in this course, you are pledging that you agree to the Wofford Honor Code and that all submitted work is your own. Please talk to me if you are unsure what constitutes academic dishonesty.

REASONABLE ACCOMMODATIONS

If you need accommodations with anything at all, please contact both the Wofford Accessibility Services and myself at the beginning of the semester. We will do our best to assist you as best we can.

USE OF GENERATIVE AI

Any AI-generated works are not permitted and will be treated as plagiarism. Any use of generative AI for any stage of your work in this course is considered a violation of the honor code. Even using it for β€œbeing inspired” is negatively affecting your creativity and problem-solving skills. If I suspect AI use, you will get a β€˜0’ for that assignment or exam as a warning the first time. The second will be reported.

The only exception is if I specifically give permission on an assignment to use it.

I would personally write a much stronger letter of recommendation for someone who does their own work and gets a β€˜C’ than someone who is using generative AI for their work and gets an β€˜A’. Don’t use it.