CSE 325

Computer Systems

Spring 2021


Course Description

Process and processor management. Concurrent processes and threads. Memory management and the memory hierarchy. Networking and network protocols. Secure programming and communication methods.


Course Objectives

This course focuses on the study of concepts and components of modern computing systems. Topics include:

Hardware and software components

Process and thread management

Process and thread communication and coordination

Physical and virtual memory management

Computer networks

Secure systems

The primary vehicles to achieve these objectives are the study of general concepts and the study of a specific computing system which illustrates these concepts. Students will develop programs in a Linux environment.


Instructor

M. McCullen

2142 Engineering

517-355-2354

[email protected]

The best way to contact me is via email. Administrative matters which require an interactive dialog will be handled over Zoom by appointment.


Course Website

Information related to the course is available at:

http://www.cse.msu.edu/~cse325/


Teaching Assistants

Contact information for the instructional staff is posted on the course website.


Textbook

Operating Systems Concepts, 10th edition

(Silberschatz, Gagne, and Galvin; Wiley, 2018)


Course Grades

Your course grade will be based on the sum of the points you earn in the following categories:

Examinations               56% of total course points

Computer Projects        44% of total course points

In general, you must receive at least half of the total points available for the examinations and at least half of the total points available for the computer projects to be eligible to earn a non-zero grade in the course.


The following table gives the scale for course grades:

4.0 90% of points available

3.5 85% of points available

3.0 80% of points available

2.5 75% of points available

2.0 70% of points available

1.5 65% of points available

1.0 60% of points available

The scale will be adjusted at the end of the semester, if warranted.


Examinations

Two examinations will be conducted during the semester and will constitute 56% of the total course points.

Exam #1 (28%)      Friday, 3/5 (10:00-Noon)

Exam #2 (28%)      Friday, 4/30 (10:00-Noon)

Make-ups for examinations will be arranged if your absence is caused by documented illness or personal emergency. A written explanation (including supporting documentation) must be submitted to the instructor; if warranted, an alternative to the examination will be arranged. Whenever possible, make-up arrangements must be completed in advance.


Computer Projects

A series of computer projects will be assigned during the semester and will constitute 44% of the total course points. These projects will include the design, implementation and testing of assignment solutions using C++.

To be eligible for full credit, a solution to a computer project must conform to the specifications stated on the handout for that assignment. Solutions that conform to some, but not all, of the specifications will be eligible for partial credit.

To be eligible for any credit, a solution to a computer project must be submitted for grading by the deadline stated on the assignment handout. Solutions which are submitted after the deadline will not be accepted.

If you are unable to complete a computer project by the specified due date due to illness or personal emergency, contact the instructor. If warranted, the assignment due date will be extended.


Academic Integrity

The Department of Computer Science and Engineering expects all students to adhere to General Student Regulation 1.00, Protection of Scholarship and Grades, which states:

The principles of truth and honesty are fundamental to the educational process and the academic integrity of the University; therefore, no student shall:

1.01 claim or submit the academic work of another as one's own.

1.02 procure, provide, accept or use any materials containing questions or answers to any examination or assignment without proper authorization.

1.03 complete or attempt to complete any assignment or examination for another individual without proper authorization.

1.04 allow any examination or assignment to be completed for oneself, in part or in total, by another without proper authorization.

To summarize: anything which you submit for grading must be your own work.

For the computer projects, you are encouraged to discuss the specifications and problem-solving strategies with the instructor, the Teaching Assistants, and other students from the class. However, once you begin implementing your solution, you must work individually.

Under no circumstances should you share a project solution with another student. Each project solution is electronically compared to all other solutions to identify similar solutions. Students who submit solutions which are essentially identical will receive a penalty grade, such as a score of zero for that assignment or a grade of zero in the course.

Additional information is available at: https://ombud.msu.edu/


Spartan Code of Honor

As a Spartan, I will strive to uphold values of the highest ethical standard. I will practice honesty in my work, foster honesty in my peers, and take pride in knowing that honor is worth more than grades. I will carry these values beyond my time as a student at Michigan State University, continuing the endeavor to build personal integrity in all that I do.


Notes

Any circumstances which impact on your participation in the course should be discussed with your instructor as soon as those circumstances are known (such as absences due to illness or religious observances).

All students are expected to be responsible users of the computer system provided for this course. Account usage guidelines published by the Department of Computer Science and Engineering are posted under:

http://www.cse.msu.edu/Facility/Policies/AUP.php

Commercialization of lecture notes and course materials is not permitted in this course.


Course Calendar

Module #1: Monday, 1/18 – Friday, 1/22

Module #2: Monday, 1/25 – Friday, 1/29

Module #3: Monday, 2/1 – Friday, 2/5

Module #4: Monday, 2/8 – Friday, 2/12

Module #5: Monday, 2/15 – Friday, 2/19

Module #6: Monday, 2/22 – Friday, 2/26

Exam #1: Friday, 3/5 (10:00-Noon)

Module #7: Monday, 3/8 – Friday, 3/12

Module #8: Monday, 3/15 – Friday, 3/19

Module #9: Monday, 3/22 – Friday, 3/26

Module #10: Monday, 3/29 – Friday, 4/2

Module #11: Monday, 4/5 – Friday, 4/9

Module #12: Monday, 4/12 – Friday, 4/16

Exam #2: Friday, 4/30 (10:00-Noon)


Due Dates

Project #1: Thursday, 1/21

Project #2: Thursday, 1/28

Project #3: Thursday, 2/4

Project #4: Thursday, 2/11

Project #5: Thursday, 2/18

Project #6: Thursday, 2/25

Project #7: Thursday, 3/18

Project #8: Thursday, 3/25

Project #9: Thursday, 4/1

Project #10: Thursday, 4/8

Project #11: Thursday, 4/15

Project #12: Wednesday, 4/21