BCS215 -- Unix Operating System
2018 Spring Semester
COURSE: BCS215 -- Unix Operating System
CRN: CRN 23797
DAY CLASS: Tuesdays & Thursdays    1:40-2:55pm   
Whitman 216   (Farmingdale)
INSTRUCTOR: Bruce Alan Martin
("Professor BAM")
OFFICE HOURS: After class and by appointment.


How did Homer
refer to computers?

What did Aristotle
say about computers?
This course develops fundamental knowledge of computer operating systems using UNIX. Topics include basic understanding of the UNIX system, utilizing the file-system, programming language, and security system.

Prerequisite:   BCS 101 or BCS 120 or BCS 185, with a grade of  C  or better.

OBJECTIVES:    After completing this course, the student should be able to:

  • Describe the UNIX/POSIX operating systems.
  • Understand and use the UNIX file systems, including directory tree, file access control, hard and soft links, and inodes.
  • Perform file and directory manipulation using UNIX utilities.
  • Become familiar with and use the important UNIX programs and applications.
  • Create and edit files using the vi editor.
  • Understand the purpose of UNIX shell programming.
  • Develop shell scripts to solve a variety of application problems.
  • Use shell flow control logic structures (if, for, while, etc.)
  • Design and implement internal functions in shellscripts.


We will first cover chapters 1 thru 7 of the textbook, to get a strong foundation for utilizing a UNIX-based system. Then, we will explore selected advanced topics from Chapter 8 (UNIX utilities), Chapter 9 (Perl and CGI programming), and Chapter 10 (Developing UNIX applications in C and C++). (Chapter 11 will not be used.)


To successfully complete this course, you must submit required homeworks and programming assignmentsts, and demonstrate proficiency on all exams and projects. All work submitted must be neatly presented clearly labeled and identified as to the assignment and what has been accomplished.
    "UNIX Using Linux"   4th Edition.
    by Michael Palmer
    Course Technology; ISBN 978-1-4188-3723-8

    Each student is responsible for all material taught or assigned by the instructor.
    The student is expected to complete all assigned reading, prior to class meetings.
    Between classes, the student should have computer access to the internet, to obtain assignments, submit homeworks and projects, etc.   (NOTE:   If you have ANY difficulty at all in obtaining internet access between classes please see the instructor after class to remedy this difficulty.)
    Who invented the World Wide Web?

    Who invented the internet?


    • GRADING POLICY: (Subject to change, as announced in class.)
      Comprehensive final exam: 40%
      Other exams. 30%
      Homework assignments, projects: 25%
      Participation * +/- 10%
        * "Participation" includes: in-class participation,   preparedness, completion of exercises, excessive absences, etc.)

    • ATTENDANCE POLICY:   Attention is directed to the following statement of college policy.

      "The college expects that each student will exercise personal responsibility with regard to class attendance. All students are expected to attend every class session of each course for which they are registered. Students are responsible for all that transpires in class whether or not they are in attendance."

      Consequently, each student in this course is strongly advised to make standing arrangements with another individual student to take detailed notes, collect handouts, relay announcements, etc., in the event 'e doesn't show up at class. While you are encouraged to contact the instructor for advice before (or after) missing a class, it is more effective to have your "buddy" take detailed notes, and the student remains responsible for "all that transpires in class".

      Find a "buddy" to cover for you!    
      Do it now, not after missing a class.

      This instructor does not give credit for mere attendance, nor is credit lost for absence. Attendance is not a direct factor in grading policy, but it may indirectly affect the "participation" component.

      College policy defines "Excessive Absence or Lateness" as "more than the equivalent of one week of class meetings". While attendance is not a component of grading policy for this class, a student missing more than one week of consecutive classes - without making any contact with the instructor - may be removed from the class roster and given either a "W" or an "F" grade, at the instuctor's option.

    • CODE OF CONDUCT:     *** Please take note ***


      ... Although not all-inclusive, the following actions, activities or behaviors are expressly prohibited:

      "Unauthorized or illegal use of College computer facilities or equipment, such as hacking; duplication or unauthorized use of copyrighted software; destruction, unauthorized transfer or alteration of files; unauthorized use of another individual's identification, password or work."

      Any student guilty of the above may receive a failing grade in that class, be dismissed from class and/or be referred to the Dean of Students for further discipline proceedings.


      • In-class laboratory time is NOT intended for students to do most of their work on the programming assignments and projects; these assignments are to be done between classes, and are expected to require a minimum of 6 hours per week to complete independently, at your own pace.

      • Also, please note: In-class laboratory time is NOT intended for computer activites unrelated to the college curriculum (such as games, entertainment, "instant messager", "surfing the web", etc.) Use of classroom computers for unrelated activities may result in loss of privileges.

    (Subject to change, as announced in class.)

    	1.  The Essence of UNIX (and Linux)
    	2.  UNIX file systems and File Security
    	3.  The "vi" editor
    	4.  Basic UNIX file processing
    	5.  Advanced file processing
    	6.  System status utilities (Chapter 8)
    	7.  Shell programming (using the "bash" shell.)
    	8.  Shell Script Programming (Chapters 6 & 7)