CSCI 243-01 Unix/VMS Operating Systems Syllabus

Fall 2020

 

Classroom location:            online

Class schedule:                    online, MWF 3-3:50pm, and asynchronously

Prerequisites:                    CSCI 109 or 116, C or better

Instructor:                             Dr. Don Allison

Office:                                    online, Blackboard Collaborate Ultra

Phone:                                    436-3439

Email:                                     allisodl (at) oneonta.edu

Office Hours:                        MWF 5-7pm

                                                Others by appointment using Blackboard Collaborate Ultra or Microsoft Teams

 

Catalog Description:

This course will focus on the UNIX and VMS operating systems. Topics selected from: entering commands, files and directories, UNIX shell environment, text editing, shell programming, utilities, networking, system admin., X-Windows. Prerequisites: CSCI 109 or 116 C or better.

 

Course Description (the inside scoop):

Since we don’t have access to VMS systems any more, this course focuses on Unix, particularly the Linux variant.  If you want to set up your personal machine to match the environment we will be using, just download and install Ubuntu from the Microsoft store.  We will look at using Unix from a user point of view, from a programmer’s perspective, and from the point of view of a system administrator.  We will discuss the Unix design philosophy, and will examine its warts as well as what it does right.  There will be lots of hands-on time programming in Linux, since the best way to learn to about an operating system is to use it, so you will need access to a machine running Linux.

 

Course Goals:

At the end of this course students should be comfortable using UNIX, and fluent in the use of the basic commands and tools.  Students should be able to string multiple programs together to accomplish useful tasks, and should be able to write simple shell scripts.  Students should be able to program to the UNIX interface and to administer a UNIX system in a secure manner.

 

Text and Software:

Understanding UNIX/Linux Programming, by Bruce Molay, Prentice Hall, ISBN 978-0130083968, 2002.  (required)

Linux Pocket Guide, by Daniel Barrett, O’Reilly, ISBN: 978-1491927571, 2016  (required)

 

In order to successfully complete this class, you will need access to a Linux system.  This can be a machine that you have dedicated to running Linux.  You can also set up your machine to dual boot Linux and Windows, or you can run Linux in a virtual machine, or you can go to the Microsoft Store and download and install Ubuntu Linux on your machine, running under Windows.  You will need to follow the instructions at the store to set it up to run properly.  You will also eventually need to be able to save files to Windows, and print them as PDFs to turn in.

 

For Mac users, you actually have it easier, since under the MacOS interface, your Mac is actually running BSD Unix.  You just need to open a command line and you are all set!

 

Reading list/Additional resources:

Items of interest found in our library…or they used to be in our library, but the way I hear they have been culling books lately, they might already be gone:

·       The UNIX System, S.R. Bourne, QA76.8.U65 B68 1982.

·       UNIX Time-Sharing System, Bell Telephone Laboratories Inc., QA76.8.U65 B44 1983 v.

·      The Unix Operating System, Kaare Christian, QA76.6.C456 1983

·      Exploring the UNIX System, Stephen G. Kochan, QA76.76.O63 K63 1984

·      The UNIX Programming Environment, Brian W. Kernighan, QA76.6.K495 1984

·      Lions’ Commentary on UNIX 6th Edition with Source Code, John Lions, OVERSIZE QA76.76 O63 L5 1966

·      UNIX in a Nutshell, Daniel Gilly, QA76.76.O63 G55 1992

·      UNIX Network Programming, Richard W. Stevens, QA76.76.O63 S755 1990

·      UNIX Shell Programming, Lowell J. Arthur, QA76.76.O63 A765 1986

 

Tentative Schedule: (order of readings & other assignments, by due dates, course activities, course content by expected order of coverage, test dates and test coverage)

 

 

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

Sep 21-Sep 25

TAP Certification begins

Miniature Goof Day

Autumn Equinox

Dogs in Politics Day

EXAM #1

Another Sample

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

Project #1 due

International Coffee Day

National Custodial Worker Day

Oct 5-Oct 9

World Teacher’s Day

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

Project #2 due

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

Oct 26-Oct 30

National Mincemeat Day

Black Cat Day

Plush Animal Lover’s Day

EXAM #2

Project #3 due

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

Nov 16-Nov 20

National Fast Food Day

Homemade Bread Day

Occult Day

Project #4 due

Great American Smokeout

College closes after last class

Absurdity Day

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

Project #5 due

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

Exams End

Roast Chestnuts Day

(10 TR)

8-10:30am

(1 TR) 11am-1:30pm

(4 TR)

2-4:30pm

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

 

Course requirements:

Students are expected to keep up with the assigned readings for class, in order to be able to participate in class discussions.  To satisfactorily complete the course, students need to pass the tests and complete the UNIX projects.

 

Evaluation procedures:

A student’s grade for this course will be based on a combination of exams, programming projects, and homework/class participation.  The breakdown is as follows:

 

 

Weight

Tentative Date

Midterm Exam #1

15%

23 September

Midterm Exam #2

20%

28 October

Final Exam Experience

25%

11 December, 2pm

Projects

40%

See schedule above

Total

100

 

 

As you can see, there will be two midterm exams contributing a total of 35% of your grade.  There will be a final exam experience contributing 25%.  The other 40% will be earned by completing several programming projects working with specific UNIX features.  The weighted sum of each component will be computed and grades will be assigned based on the total number of points earned using the standard 90-80-70-60 system.

 

Attendance policy:

This course meets synchronously, MWF 3-3: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!

 

Academic dishonesty:

It is expected that all work turned in by a student will be created by the student himself.  Turning in someone else’s code, whether obtained from a classmate or from the internet, without acknowledging the authorship of the code, is plagiarism, and is a serious offense.  As academics, we value ideas and to use someone else’s thoughts without acknowledging them is stealing, and will be dealt with appropriately.

 

That said, however, it IS acceptable to discuss the class content and assignments with your peers and even to collaborate together under certain conditions.  All code and all answers to exams that you submit for grading should be your work alone, or if provided in class, should contain an acknowledgement of its origin in the header comments.  It is, however, acceptable to discuss the algorithms, code samples provided in class, or even the assignments (at a conceptual level) among yourselves.  If you have any questions about what is acceptable and what is not, ask!  It is better to ask and get the answer ahead of time rather than to find out after the fact that what you did was unacceptable.

 

Coding style:

An important part of any computer science class is the programming assignments.  These not only reinforce and extend the concepts covered in class, but also give the student an opportunity to hone his programming skills.  Therefore any programs you turn in should follow good style guidelines and coding standards.  They should exhibit consistent and logical indenting, block comments, function and file headers, sensible variable names, etc.  Every code and header file should start with a block comment containing the class, the assignment number, your name, the date due, and a brief summary of what is in the file.  For example:

 

/*************************************************************/

/*                                                           */

/*  CSCI 243 UNIX/VMS Operating Systems                      */

/*  Fall 2020 Program #3                                     */

/*  Author: Don Allison                                      */

/*  Date Due: 21 October 2020                                */

/*                                                           */

/*  This file contains code to implement a simple calculator */

/*  built using lex and yacc.                                */

/*                                                           */

/*************************************************************/

 

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 243” in the subject line.  Otherwise it will get lost and I won’t see it.

 

Late assignment & makeup policy:

Assignments are expected to be turned in by the beginning of class on the day they are due, and exams are to be taken on the announced date and time.  Emergencies do arise, however, and sometimes this is not possible.  If you find that you will have to miss an exam or turn in an assignment late, please let me know as soon as possible (preferably before the due date).  Allowances will be made for school approved excuses, such as illnesses, family emergencies, official school trips, etc.  Otherwise, a late penalty will be assessed on assignments turned in after the due date, and makeup exams will be at the discretion of the instructor.  The late penalty for assignments will be 50%for the first week.  Any assignment turned in more than one week late will be recorded as a zero grade.  Under NO conditions will work be accepted after the last day of class.

 

Additional unique aspects of course:

In this course all of the work will be done on machines running non-Microsoft operating systems, including several actual Unix workstations (assuming we can get them set up in time).

 

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

·                Academic Advisement

·                Accessibility Resource Center

·                Student Learning Center

·                Milne Library

·                Counseling Center

·                Office of Equity and Inclusion

 

 

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.