Programming: Unix (COSC 255)

Spring, 2002

www.central.edu/homepages/fyfes/courses/unix/



Course Resources:
Textbooks:
INSTRUCTOR: Stephen Fyfe OFFICE: Central Hall 312
BOX # 039 PHONE: 5305
HOME 628-9955
EMAIL: fyfes@central.edu
OFFICE HOURS: MWF 10:00 - 11:00 2:00 - 3:00
Tues 2:00 - 3:00
Other times by appointment, or just stop in

COURSE DESCRIPTION: This course provides an overview of the Linux/Unix operating environment, and an introduction to shell programming in that environment.


COURSE OBJECTIVES: The objectives for this course include:


COURSE PROCEDURES: This course will mainly utilize lecture and lab work. A typical topic will begin with a presentation covering the material, students will then be given an opportunity to apply the material through in-class exercises, and assignments outside of class.


GRADING PROCEDURES: Students will be evaluated on their understanding of the concepts being covered in class, and their ability to apply those concepts in homework problems and programming projects.

Many homework assignments and short programming assignments (programs that require 1 to 2 days to complete) will be given. Two tests will be given throughout the semester in addition to a comprehensive final exam. The tests and final exam will include a in-class written portion and a hands-on portion completed out of class.

The final grade will be determined by the following distribution:

Homework and programs 35%
2 tests 50%
Final Exam 15%

and the following TENTATIVE scale will be used to determine the final grade

94 - 100 A 73 - 76 C
90 - 93 A- 70 - 72 C-
87 - 89 B+ 65 - 69 D+
83 - 86 B 60 - 65 D
80 - 82 B- 55 - 59 D-
77 - 79 C+ 00 - 54 F

Written homework and programming assignments will be due by 5:00 pm on the day it is due. Late homework will be accepted, but will lose points at the discretion of the instructor.

Attendance. While attendance is not directly included in the grading, it has been the experience of the instructor that students who miss more class earn lower grades. Students who miss class regularly will be notified through the Academic alert system.


COURSE SCHEDULE: The following is a TENTATIVE order in which the topics of theclass will be covered. Changes may be made during the semester as needed. In the chapter column, UNIX refers to the text by Sarwar and BASH refers to the text by Newham.

Week Topic Chapter/Assignment
1 What is an operating system
What is the Unix family
History of Unix
UNIX - Chapters 1 & 2
2 Unix structure and Shells UNIX - Chapters 3 & 4
BASH - Chapter 1
BASH commands assignment
3 Unix environment and Text Editing UNIX - Chapters 4 and 5
BASH - Chapter 3
Using vi and emacs
4 Completing common tasks and File Attributes UNIX - Chapters 5 - 8
File attributes and chmod
5 File Processing, Redirection UNIX - Chapters 9 - 11
File Processing assignment
6 Pipes and processes UNIX - Chapter 12 - 13
7 Review
TEST I
UNIX - Chapter 12
8 Processes and Shell Programming Introduction UNIX - Chapter 13
UNIX - Chapter 15
BASH - Chapter 4
Process Control and Shell Programming
9 Spring Break
10 Shell Programming Introduction UNIX - Chapter 15
BASH - Chapter 4
11 Basic Shell Programming - Flow control, I/O, command line arguments, etc. UNIX - Chapter 15
BASH - Chapters 5 - 7
Basic Shell Scripting
12 Basic Shell Programming continued UNIX - Chapter 15
BASH - Chapters 5 - 7
13 Command line Arguments Processing command line arguments
14 Process handling
TEST II
UNIX - Chapter 16
BASH - Chapter 8
15 Catch up and Misc. topics
16 Misc. topics
17 Final Exam