IST481:  Network Operating Systems
Course Syllabus
Fall 2000, MWF 10:00 – 10:50, PH 207

Instructor

:  Brian M. Morgan

Office

Prichard Hall 212

Phone Number 

:  (304) 696-6469

Fax Number

:  (304) 696-6533

Office Hours

:  M, W - 8-10, 1:30 - 3
   T, R – 8 – 9:30, 11 – 12, 2:30 – 3:30
   Other times by appointment

E-Mail

:  brian.morgan@marshall.edu

Textbooks:  
The following textbook is required for the course:

Applied Operating Systems Concepts, by Silberschatz, Galvin, & Gagne; John Wiley and Sons, Inc.; ISBN: 0-471-36508-4, 2000.

Referenced Material:

Operating Systems Concepts-5th Ed., by Silberschatz and Galvin; John Wiley and Sons, Inc.; ISBN: 0-471-36414-2, 1999.
Network+ Guide to Networks
, by Tamara Dean; Thomson Learning; ISBN 0-7600-1145-1, 2000.

Computer Requirements:
Supplemental materials can be found contained within the WebCT environment (http://webct.marshall.edu/).  I will be sending class announcements, updates, etc. using your WebCT account (will discuss during the first lecture).  Access to a WWW browser is required (Netscape 4.0 or higher or Internet Explorer 5.0 or higher) and Adobe Acrobat Reader (available for download through the class WebCT site). 

Course Description:
Covers current operating systems that support networking and distributed processes. Topics include process management, memory management, security issues, network support and management, and hardware management.

Credit:
The course is three (3) credit hours. It includes classroom lectures, exams, and programming projects. Students will participate in programming projects that illustrate the implementation of concepts in general applications. 

Pre/co-requisites:
IST236 (Data Structures I) and IST263 (Programming Practicum) or permission.

Desired Objectives/Outcomes:
By the end of this course, you should be able to:

-          Discuss the developmental principles behind operating systems design

-          Discuss issues in compatibility and connection and use through a network

-          Discuss how memory, processes, and files are managed

-          Explain how applications and hardware interact with an operating system

-         Help someone select a network operating system based upon needs

Instruction method:
There will be 3 contact hours of classroom lecture per week. Programming projects covering the major topics are part of the course.  Students may work on their assignments in University computing facilities.
  

Evaluation method:
Evaluation of student's performance will be based on the quality of your performance on programming assignments, exams, and class and web-based participation.  

Grading Policy:
Final grades are based on performance in assignments, exams, and attendance as indicated below.  

Midterm

25%

Final Exam

30%

4 Programming Projects with the following breakdown
#1 – 5%, #2 – 9%, #3 – 9%, #4 – 12%

35%

Attendance & Participation 

10%

 

Assessment of Projects:

The grading of all projects will take into account the following:

1.   Although the most important attribute of a program is correctness, grading will take into consideration such items as time and space efficiency, documentation, etc.

2.   Programs must have proper inline documentation and must be properly indented. 20% will be deducted for poorly documented and/or poorly indented code.

3.   All submitted code must compile correctly. Code that does not compile will receive 0 credit.

4.   When a problem does not specify a required complexity, the grading will differentiate between efficient and nonefficient code.  For example, if you write a program that contains a number of checks that are redundant and/or has one or more loops that iterate zero or one time, up to 10% of the grade will be deducted.

5.   When a method name and/or parameters are specified in an assignment’s description, you must use that name and/or parameters. Failure to do so could result in loss of up to 50% of points as I may write my own driver program to test required methods or functions.

6.   When you write a function, remember that the function should work for all possible inputs. Not on just your test inputs.

7.   Although interactions with other students are encouraged, you must compose your own answers, unless otherwise noted. 

Individuals who utilize other people’s code, thoughts, or ideas must provide appropriate references to said resources.  Failure to provide such documentation will result in a failing grade for the assignment, and may result in a failing grade for the course.

In determining the overall grade for a project, you can expect the following grades based on performance:

A – Excellent work that meets and/or exceeds all of the requirements for a given project, code compiles and works for multiple test samples, all code and associated files are well-documented, and the code is written efficiently.

B – Good work that meets all of the requirements of the assignment, but may have errors in documentation or coding, or contains code that may not work with all possible data samples.

C – Average work that meets all of the requirements of the assignment, but is missing one or more of the items in its entirety that is mentioned in terms of an A grade.

D – Below average work which fails to meet one or more of the requirements of the assignment.

F – Unacceptable work which fails to meet two or more requirements for an assignment, or has code that will not compile and execute.

Final letter grades are determined based on the following grading scale: 

90-100% 

A

80-89%

B

70-79%

C

60-69%

D

Below 60

F

The instructors reserve the right to change these values depending on the overall class performance and/or extenuating circumstances.  

Policy Statement:
Programming assignments:
  The course includes a number of programming assignments. All assignments are due at the beginning of the class period on the due date. Late assignments will be penalized at the rate of 5% per day (including weekends).  

Exams: There are two exams: Mid-term (during the 7th week) and a Final exam (as scheduled). Exact dates and times of exams will be announced in class.  

Make-up Exams and Late Penalty:  Make‑up exams will not be given except under unusual circumstances and satisfactory written justification.  Any student who misses an exam due to an unexcused absence will receive a grade of zero for that exam with no opportunity for make-up or substitution.  University excused absences or those occurring with a good reason will be excused.  Make up exams must be taken within one week of the original scheduled date.  The decision whether to give a make up exam rests with the instructor.

Passing grade:  Programming assignments and exams are required parts of the course and must be satisfactorily completed to pass this course.  A student must have a passing performance on each part.  A failing grade on a component may result in a failing grade in the course.  

Attendance Statement:
Class attendance is mandatory and is a required part of the course.  Those needing to miss class for a legitimate reason must contact me via telephone/voice mail or e-mail prior to the class meeting for it to be excused.  See grading policy.
 

Withdrawal Policy:
The
University withdrawal policy is followed in this course. The last day to drop an individual course for the Fall of 2000 is October 27, 2000.  

University Holidays:
The class is officially dismissed on the following dates:
            Labor Day:  Monday, September 4, 2000
            Fall Break:  November 20, 2000
                               November 22, 2000
                               November 24, 2000

Topics and Methodology:
The following outline delineates the tentative class schedule with topics to be addressed during the course. 
Please note this is a tentative schedule and it may change upon class progress:

August 21

Course Overview/Objectives (syllabus), Overview of how to access course information through WebCT

August 23

Chapters 1 and 2
Assign Project #1

August 25

Chapters 2 and 3

August 28

Chapter 3

August 30

Chapter 11

September 1

Chapter 11 and 12

September 6

Chapter 12

Project #1 Due

September 8

Chapter 4

Assign Project #2

September 11

Chapter 4

September 13

Chapter 5

September 15

Chapter 6

September 18

Class time to work on projects

September 20

Chapter 6

September 22

Chapter 6

September 25

Chapter 7

September 27

Chapter 7

September 29

Chapter 8

October 2

Chapter 8

October 4

Project #2 Due

Finish up material and review for the midterm

October 6

Midterm Exam (chapters 1-8, 11-12)

October 9

Assign Project #3

Review of the Midterm

October 11

 Chapter 9

October 13

Chapter 9

October 16

Chapter 9

October 18

Chapter 10

October 20

Chapter 10

October 23

Chapter 13

October 25

Chapter 13

October 27

Chapter 14

October 30

Chapter 14

Project #3 Due

November 1

Chapter 15

November 3

Chapter 16

Assign Project #4

November 6

Chapter 17

November 8

Chapter 18

November 10

Chapter 18

November 13

Chapters 18 and 19

November 15

Chapter 19

November 17

Windows 2000 Case Study

November 27

Windows 2000 Case Study

November 29

Windows 2000 Case Study

December 1

Windows 2000 Case Study

Project #4 Due

December 4

Dead Week – Review for Final Exam

December 8

Final Exam, 10:15 am – 12:15 pm

For each topic discussed in the textbook, specific experience of other students and the instructor will be discussed to enhance the characteristics involved.  Programming projects for the course will be based on creating OS simulations.  Additional material may also be covered in the class.

Every student is responsible for all materials presented in class, including lectures, notes, and handouts.  In case you are not present for a class, it is your responsibility to contact the instructor and receive information about the material presented in that class.  Class attendance is very important.  

Effort Required:
As a 400-level course, a considerable amount of development and research effort is required of the student.  For every one hour in class, the student is expected to put in an effort of at least 3 hours outside the class for studying and programming.  Upon background and preparedness, some students may have to put in additional effort.  

Communication:
The Bulletin Board facility of WebCT and private E-mail will be used to make any general announcements, last minute changes, etc.  It is mandatory that you monitor your WebCT course messages at least once a day.