FA24: CS-149 Sec 03 - Operating Systems

welcome

San José State University

Science/Computer Science
CS 149, Operating Systems,  Section 3, FALL 2024

Course and Contact Information

Instructor:

Sriram Rao

Office Location:

 

Telephone:

 

Email:

sriram.rao@sjsu.edu

Office Hours: 

Fridays 12-1p (Zoom Links to an external site.) and by appointment

Class Days/Time:

Tue/Thu: 10:30-11:45a 

Classroom:

MH 225

Prerequisites:

 CS 47 Links to an external site. or CMPE 102 Links to an external site. (with a grade of “C-” or better), and CS 146 Links to an external site. (with a grade of “C-” or better).  Proficiency in C programming.

Grader and Labs Information

Grader Thinh Bui
Email thinh.bui@sjsu.edu
Lab Hours Monday, 12/02/24, 2.00pm-3.00pm
Lab Location Zoom Links to an external site.
Office Hours Additional hours by appointment.

Course Description

Fundamentals: Contiguous and non-contiguous memory management; processor scheduling and interrupts; concurrent, mutually exclusive, synchronized and deadlocked processes; parallel computing; files. Substantial programming project required.

Course Learning Outcomes (CLO)

Upon successful completion of this course, students will be able to:

  1. Explain the difference between kernel and user space.
  2. Explain virtual memory management and page tables.
  3. Analyze CPU scheduling policies.
  4. Use threads and work with the concurrency issues that arise from them.
  5. Analyze and implement concurrent data structures.
  6. Identify and reason about ethical issues surrounding various operating system concepts.

Course Requirements and Assignments

Please see Syllabus

The University Policy S16-9 Links to an external site., Course Syllabi (http://www.sjsu.edu/senate/docs/S16-9.pdf) requires the following language to be included in the syllabus:

“Success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of 45 hours over the length of the course (normally three hours per unit per week) for instruction, preparation/studying, or course related activities, including but not limited to internships, labs, and clinical practica. Other course structures will have equivalent workload expectations as described in the syllabus.” 

Grading Information

Please see Syllabus.

Classroom Protocol

This is your class. Please ask questions. Please come prepared. Do not engage in activity that may distract other students.

I do not take attendance except for the first two classes. Students not attending either of the first two classes will be dropped to make room for students on the waiting list. Attempting to get marked as present (by have someone else attend in your place or using technological deceptions) will be considered academic dishonesty and at a minimum will result in you getting dropped from the course.

We will use canvas discussion for announcements about programming labs as well as discussion topics.

Course material developed by the instructor is the intellectual property of the instructor. Students should not publicly share or upload instructor generated material for this course such as exam questions, lecture notes, hands-on exercises or homework solutions without instructor permission.

This is my first time teaching this class.  The schedule listed in the syllabus is tentative and may change based on student needs.  Furthermore, the programming project is new and we will learn by doing :-).

University Policies

Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs’ Syllabus Information web page Links to an external site. at http://www.sjsu.edu/gup/syllabusinfo/” Make sure to review these policies and resources.

 

Cheating/Academic Dishonesty

I take issues of Academic Dishonesty very seriously.  Do not cheat.  Do not share code. If we detect cheating in a programming assignment, you will get a 0 for that lab.  Repeat offense will likely lead to a F grade in the course.

Artificial intelligence (AI) tools like ChatGPT, Google Gemini, and GitHub Copilot are not permitted to be used as a replacement for the writing or problem-solving components of this class. SJSU’s subscription to Turnitin has an AI-detection feature, and assignments that have been determined by that application or by other convincing evidence to have been written by AI in substantial fractions will receive an automatic zero. The incident will also be reported to the University as academic misconduct.