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,
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 |
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 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 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.
Campus Resources
·
Department
Phone Number: (607) 436-3708
·
Department
Email Address:
·
Department
Location: 274 Fitzelle
·
Accessibility Resource 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.