CSCI 343-01 Operating Systems Syllabus

Fall 2020

 

Meeting Time/Place:           online, MWF 4-4:50pm, and asynchronously

Prerequisites:                       CSCI 203, C or better

Instructor:                             Dr. Don Allison

Office:                                    online, Blackboard Collaborate Ultra

Phone:                                    436-3439

Email:                                     allisodl(at)oneonta.edu

Office Hours:                        MWF 5-7

                                                Others by appointment using Blackboard Collaborate Ultra or Microsoft Teams

 

Text and Software: 

The textbook for this course is Operating Systems Concepts, Silberschatz, Gagne & Galvin, 10th edition, Wiley, ISBN-13 978-1119456339.  You will need the registration code in the book to access the rest of the book’s contents, and the homework exercises and programs.

 

You will also need access to a UNIX/Linux system.  Macs are already running BSD Unix so you can just use that.  For PCs, I recommend using Ubuntu Linux from the Microsoft App Store.

 

Course Description (from the catalog): 

An introduction to operating systems, the programs that act as interfaces between computers and users. Topics selected from the following: I/O and interrupt structure; memory management, virtual memory, paging and segmentation; process management, scheduling and semaphores; concurrent processes, synchronization and deadlock avoidance; resource allocation, queueing and job activation/deactivation; protection, access to objects and access rules.

Prerequisite(s): CSCI 203 “C” or better.

 

Course Description (the inside scoop):

These days, Microsoft Windows rules the desktop environment while Linux does the same for the server environment.  Both are operating systems, and while the user interfaces are quite different, both have the same basic underpinnings.  This course focuses on common features and tasks of any operating system, and how they are implemented.

 

Course Goals 

By the end of the course students should have a basic understanding of what an operating system does, and the basic methods, algorithms, and data structures used to accomplish these tasks.

 

Tentative Schedule:

 

 

Dates

Monday

Tuesday

Wednesday

Thursday

Friday

Aug 24-Aug 28

Classes start

Add-Drop begins

Vesuvius Day

National Banana Split Day

National Dog Day

Just Because Day

Add-Drop ends Sunday

Stuffed Green Bell Peppers Day

Aug 31-Sep 4

National Eat Outside Day

National Cherry Popover Day

VJ Day

Skyscraper Day

Last day to add a full semester course

College closes after last class

Newspaper Carrier Day

Sep 7-Sep 11

Labor Day

National Salami Day

Classes resume

National Ampersand Day

Teddy Bear Day

Swap Ideas Day

Make Your Bed Day

Sep 14-Sep 18

National Cream Filled Donut Day

Felt Hat Day

National Play Doh Day

Constitution Day

Rosh Hashanah

Project 1

Sep 21-Sep 25

TAP Certification begins

Miniature Goof Day

Autumn Equinox

Dogs in Politics Day

National Cherries Jubilee Day

National Comic Book Day

Sep 28-Oct 2

Ask a Stupid Question Day

Yom Kippur ends

Confucius Day

National Mud Pack Day

International Coffee Day

National Custodial Worker Day

Project 2

Oct 5-Oct 9

World Teacher’s Day

EXAM #1

Review

Mad Hatter Day

Bald and Free Day

American Touch Tag Day

Moldy Cheese Day

Oct 12-Oct 16

Columbus Day

Interim progress reports due

International Skeptics Day

National Dessert Day

White Cane Safety Day

Dictionary Day

Oct 19-Oct 23

Evaluate Your Life Day

Brandied Fruit Day

Last day to drop

International Nacho Day

National Nut Day

National Mole Day

Project 3

Oct 26-Oct 30

National Mincemeat Day

Black Cat Day

Plush Animal Lover’s Day

Hermit Day

Sunday, turn clocks back

End Daylight Saving Time

National Candy Corn Day

Nov 2-Nov 6

Deviled Egg Day

Cliché Day

Election Day

King Tut Day

Guy Fawkes Day

Saxophone Day

Nov 9-Nov 13

Spring Pre-enrollment begins

Chaos Never Dies Day

Forget-Me-Not Day

Veteran’s Day

Chicken Soup for the Soul Day

Friday the 13th

Project 4

Nov 16-Nov 20

National Fast Food Day

Homemade Bread Day

Occult Day

Great American Smokeout

College closes after last class

Absurdity Day

EXAM #2

Nov 23-Nov 27

BREAK

National Espresso Day

BREAK

All our Uncles are Monkeys Day

BREAK

Last day to withdraw

National Parfait Day

BREAK

Thanksgiving

BREAK

Black Friday

Nov 30-Dec 4

Classes resume remotely

Cyber Monday

Eat a Red Apple Day

National Fritters Day

National Roof over Your Head Day

Santa’s List Day

Dec 7-Dec 11

LAST DAY OF CLASSES

Last day for Incompletes

Pearl Harbor Day

STUDY DAY

National Brownie Day

Exams Begin

(8 MWF)

8-10:30am

(11 MWF)

11am-1:30pm

(2MWF)

2-4:30pm

CSCI 203

Christmas Card Day

(8:30 TR)

8-10:30am

(11:30 TR) 11am-1:30pm

(2:30 TR)

2-4:30pm

Hanukkah begins

(9 MWF)

8-10:30am

(12 MWF)

11am – 1:30pm

CSCI 100

 

(3 MWF)

2-4:30pm

CSCI 243

National Noodle Ring Day

Dec 14-Dec 18

(10 MWF)

8-10:30am

(1 MWF)

11am-1:30pm

CSCI 310

(4MW)

2-4:30pm

CSCI 343

Roast Chestnuts Day

(10 TR)

8-10:30am

(1 TR) 11am-1:30pm

(4 TR)

2-4:30pm

Exams End

National Lemon Cupcake Day

National Chocolate Covered Anything Day

National Maple Syrup Day

Hanukkah ends

https://suny.oneonta.edu/academics/college-calendar/spring-key-dates-deadlines

http://www.holidayinsights.com/moreholidays/

 

 

College Policies

SUNY Oneonta Course Policies and Procedures

 

Attendance Policy: 

This course meets synchronously, MWF 4-4:50.  You are expected to be on blackboard at those times, ready to participate.  In addition, I will post lectures on blackboard that you are to watch before the next class meeting.  In general, you will watch lectures on the material asynchronously, and then during the synchronous portion, I will answer questions, we will discuss the topic more in depth, we will write code illustrating the concepts, etc.  The asynchronous portion builds a foundation for your knowledge, while the synchronous portion solidifies it and helps you apply it.  Both are important to doing well in the class!

 

Collaboration Policy: 

Cheating or other academic dishonesty hurts others as well as yourself and will not be tolerated!  Since one goal of this class is to provide you with experience writing software that works with the operating system, like the real world it IS acceptable to collaborate with your classmates, under certain conditions.  All work submitted on the exams should be yours and yours alone.  It IS acceptable to discuss the projects among yourselves, AS LONG AS any code you turn in you have written yourself!  You should also be able to answer any questions I have about your code—in other words, you should be able to explain the algorithms and data structures you are using in your program if I ask.  Plagiarism can get you in trouble in the “real world”, and it will get you in trouble in this class.  You should credit any code that you did not write yourself, and you should provide references to algorithms and data structures you use!

 

Programming Style Guidelines: 

Since this is an upper division course, it is expected that your programs will follow good programming style conventions for the language you are using.  You should indent your code to reflect its internal structure.  You should use block comments to explain what your code is doing at a high level.  Each function should have a header that gives the function name, the inputs, the output(s), and lists any side effects, as well as providing a two or three sentence summary of what the function does.  In addition, your main program file should have a block header similar to the following:

 

! CSCI 343 Operating Systems, Fall 2020

! Program #1: Job Scheduling

! Author: Don Allison

! Date Due: 11 September 2020

!

! This program simulates the functionality of a job scheduler.  It implements shortest job first, and job execution by submission time, and computes the efficiency of each.

 

Your header should include the course name and number, the assignment number, your name, the program due date, and a two or three sentence description of the purpose and function of the program.

 

Program Turn-in Procedure:

You should run your program, capture the output, and append it at the end of the file containing your main program as comments.  You should then print all parts of your program as PDFs, and submit them using Blackboard.

 

Email:

Any time you need to communicate with me about the course via email, you MUST put “CSCI 343” in the subject line.  Otherwise it will get lost and I won’t see it.

 

Grading and Other Administrivia:

Exams: There will be two midterm exams, and a final exam experience.  Each midterm exam will contribute 15% of your grade, while the final exam experience will contribute 25%.  The midterms and final exam will be synchronous, so they will be taken in our class time slot, although they will be online.  They will be timed, and you will not be able to turn them in after the exam has ended, so plan accordingly.  You should probably turn anything in a few minutes early to make sure Blackboard accepted it before the deadline.

 

Projects: The projects are an integral part of the course.  There will be some number (probably three or four) large projects which will contribute 40% toward your final grade.

 

Grade Computation:

 

 

Weight

Tentative Date

Midterm Exam #1

15%

5 October

Midterm Exam #2

20%

16 November

Final Experience

25%

14 December, 2pm

Projects

40%

See schedule

Total

100%

 

 

 

Make-up Test and Late Assignment Policy: 

Late assignments will be assessed a 50% penalty for the first week they are late and will not be accepted if they are over a week late.  Assignments are considered due by the beginning of class on their due date.  Note that breaks do not count in computing any penalty.  No assignment will be accepted after the last day of class, even if that is within the week long grace period, for them to count toward the course grade.  You should plan to be present for all the tests and the final exam experience.  Any makeup exams will be allowed only for legitimate, school-approved excuses, and should be arranged with the instructor as soon as possible after you discover you can’t attend the exam (before the exam is given whenever possible).  In any case, all work must be completed by the last class, including any makeup exams.  Exams missed for unexcused absences, or exams not made up by the last day of classes will be recorded as a zero grade.

 

Additional resources: 

For students wishing to explore further or to find answers to questions not covered in the text, there are many books and journals available.

 

If you have any particular areas you would be interested in for further reading and study, please ask me and I can recommend a range of books for you to consider.

 

Additional unique aspects of the course: 

Unlike more traditional memorize and regurgitate courses, this course has a strong hands-on learning, or learning by doing component, represented by the programming projects.  This enhances retention, reinforces understanding, and ensures that the student masters the material well enough to be able to use it in other projects. 

 

Emergency Evacuation:

Since I don’t know where you are living, it is up to you to know the evacuation procedures for your dorm or residence.  If you are on campus, the procedures are described here:  http://www.oneonta.edu/security/documents/EmergencyEvacuationProcedures.pdf.

 

Required ADA Statement:

Students Diagnosed with a Disability—All individuals who are diagnosed with a disability are protected under the Americans with Disabilities Act, and Section 504 of the Rehabilitation Act of 1973. As such, you may be entitled to certain accommodations within this class. If you are diagnosed with a disability, please make an appointment to meet with Accessibility Resources, 133 Milne Library, ext. 2137. All students with the necessary supporting documentation will be provided appropriate accommodations as determined by the Accessibility Resources Office. It is your responsibility to contact Accessibility Resources and concurrently supply me with your accommodation plan, which will inform me exactly what accommodations you are entitled to. You will only receive accommodations once you provide me with an Accessibility Resources accommodation plan. Any previously recorded grades will not be changed.

 

Addendum added by the provost

 

Campus Resources

Academic Department Information

·       Department Phone Number: (607) 436-3708

·       Department Email Address:

·       Department Location: 274 Fitzelle

 

Other Resources

 

 

Course Policies

See the SUNY Oneonta Course Policies and Procedures web page.

 

Campus “Actions for Safety” Requirements and Guidance

See the Actions for Safety campus web site.

 

Addendum added by me

I am trying a couple of new things this semester since the class is online.  If they work, I will continue them throughout the semester…if they aren’t working, I will switch to something else, but I will let you know if things change, and I will seek your feedback before making changes.

 

Flipped Classroom:

This semester I’m going to try something called a flipped classroom.  Instead of lecturing during class time and having you do homework outside of class, I’m going to post lectures as videos for you to watch outside of class, and then in class, we will discuss the material in the lectures, answer questions about it, ask questions about it, write programs, go over assignments, etc.  For this to work, you are going to have to watch the videos before class, so that you are familiar with the material and can discuss it.  Hopefully, this will make the classes more interactive, and also help you understand and retain the material better as you are exposed to it twice, and also work with it in class.

 

Extra Credit:

To encourage participation and your keeping up with the material, I will be asking questions during the synchronous part of the class.  I will call on specific people for the answers, until I get the answer or give up.  If you answer the question correctly, I will record a ‘+’ by your name; if you answer the question incorrectly, I will record a ‘-‘ by your name; and if you don’t answer at all (eg you aren’t online), I will record as ‘X’ by your name.  At the end of the semester, I will count the number of ‘+’s and subtract the number of ‘X’s.  Minuses don’t count because you at least attempted the question, even if you got it wrong.  If the total score is positive, I will scale it to be between 0 and 5, and that will be the number of points added to your final grade.