Exams/exams.html

CS 1550: Introduction to Operating Systems
Fall 2020

Daniel Mosse

Computer Science Department
University of Pittsburgh


NEWS:

final exam : Nov 23, 2020, 7:50am-10am, online.  click here for sample questions

final exam material: memory management (not including contiguous memory), file systems, storage, IO, security.

workshop about writing good readmes


Tentative Course Schedule

Class:

TuTh either at 11am or 4:30pm, zoom link
Instructor: Prof. Daniel Mosse (mosse@cs.pitt.edu)
Office Hours: 6423 SENSQ, TuTh 12:30pm-1:30pm, or 6-7pm (or by appointment) zoom link
Recitation:

Recitation TA Henrique Potter
 Grading TA
TBD
Website
website


email
hep37@pitt.edu

Office Hours TBD.  perhaps
Monday 4-6pm,
Wednesday 10am to 12pm
Friday 10am to 12pm




Office SENSQ 6507

6148 Sennott Sq

Recommended Textbook: ANY Operating System textbook is good enough, for example, A. Silberschatz, P.B. Galvin, and G. Gagne, Operating System Concepts, 9th edition.

Course Objectives
The purpose of this course is to understand and use the basic concepts of operating systems, common to most computer systems, which interfaces the machine with the programmer. In particular, this class is meant to introduce processes such as the processing unit, process management, synchronization, memory management and I/O management.

The successful student will be able to understand the basic components of a computer operating system, and the interactions among the various components. The course will cover an introduction on the policies for scheduling, deadlocks, memory management, synchronization, and file systems. The students will implement solutions via  programs using Unix/Linux.


Grading

  • ONLINE Midterm and Final exams (35%): 21% on higher grade and 14% on lower. Make-up exams can be scheduled well in advance.  Midterm on Sept 29, 2020.  Assigned final exam time  Nov 23, 07:50am-10am (for both sections)
  • Programming projects (40%): four projects worth 10% each. Late submissions are allowed for up to two days with a 10% reduction per late day.  Grading will be done via gradescope.
  • Labs (10%): four labs explained and developed in the recitation worth 2.5% each. Late submissions are NOT allowed for labs.
  • There will be online TopHat or Canvas questions and quizzes throughout the term. These will be worth 15% of your final grade.  (drop lowest 10% of grades for calculating your quiz average)
  • You will be able to earn 1/4 of the points you missed on some of the questions of some of the assessments by retaking them, and resubmitting them with an explanation and reasoning.

  • All requests for regrading shall be done in writing, up to 1 week


    Programming Assignments

    The programming assignments are an important component of the course. If all goes as planned, you will be implementing several components of an operating system kernel, namely synchronization, scheduling, memory management, and file system.

    The programming assignments will be evaluated on several factors:
  • Correctness: first and foremost, your code must do what it is supposed to do.  But that's not all.  Read on...
  •  Documentation: your code must be well-commented and must include a design document describing your solution.
  • Structure: your code should be broken into natural functions and modules.
  • Style: your code should be easy to read, well indented, well commented, and use clear, self-explanatory variable and function names.
  • Demo: There will be project demonstrations for some projects where you'll explain your code, make it run, and in general show your reasoning.
  • Your grade for each assignment will be based on your design (and mostly actual code). Good design and documentation are absolutely crucial for this class because of the difficulty of the concepts.

    Important dates: Projects schedule is forthcoming. 


    Attendance

    Homeworks, assignments, and important dates will be posted on the class web page or Canvas. Make sure you do not miss anything important because you skipped class.

    Recitation attendance is also required. You will miss important material on the programming assignments, labs, and/or quizzes if you do not attend.

    Office hours are optional AND ENCOURAGED!!! They are your chance to ask the professor and the TAs questions about the material being covered, the programming assignments, etc.  Take advantage of them!!

    Religious Observances: In order to accommodate the observance of religious holidays, students should inform the instructor (by email, within the first two weeks of the term) of any such days which conflict with scheduled class activities.

    Make-up exams will only be given in the event of an emergency, and only if the instructor is informed in advance.


    Students with disabilities

    If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, 412-648-7890 or 412-383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course. More info at: www.drs.pitt.edu.


    Academic Honesty: Collaboration vs. Cheating

    This really should not be an issue, but to make things as clear as possible the following is necessary.

    You are encouraged to discuss the course material and concepts with other students in the class. However, all work that you submit must be your own. Under no circumstances may you look at anyone else's code or show anyone else your code. And while you may discuss the concepts used in the programming assignments, you may not discuss implementation details of the assignments themselves.

    If you are caught copying or otherwise turning in work that is not solely your own, you will probably fail the course.  First offense you get -100% in that assignment; Second offense, you automatically fail the course.

    The bottom line is that you are expected to conduct yourself as a person of integrity - you are expected to adhere to the highest standards of academic integrity. This means that plagiarism1 in any form is completely unacceptable. As a (soon to be) computing professional, I encourage you to consult the code of ethics appropriate to your discipline2.

    On work that is essentially the same as that of other students, plagiarism will be assumed until disproved. This includes identically incorrect, off-the-wall, and highly unusual duplicate answers where the probability of a sheer coincidence is extremely unlikely. All parties to this unacceptable collaboration will receive the same treatment.

    You should bring a picture identification with you to all examinations and be prepared to show it upon request.

    If you are unsure of what is and is not allowed by this policy, talk to the instructor.

    1 pla-gia-rize vt. to steal and pass of as one's own (the ideas or words of another) to present as one's own an idea or product derived from an existing source - pla-gia-riz-ern. (source: Webster's New World Dictionary).
    2 The Association for Computing Machinery is http://www.acm.org/, the IEEE is http://www.ieee.org/ and the IEEE Computer Society is http://www.computer.org/.


    Getting Answers to your Questions

  • Attend class and recitations
  • Check the class web page frequently - we will post as much information as we can
  • Meet with the professor and TAs during office hours (highly encouraged!!)
  • Email the professor and TAs
  •  We will use piazza.

  • Class Schedule

  • The class schedule will be put up here.
  • The schedule is likely to change, so keep checking regularly.

  • These web pages were built using material kindly provided by Prof. Scott A. Brandt a long time ago