Chabot College

Course Outline for Computer Science 41, Page 2

Effective Fall 2004

Chabot College Fall 2004

Replaced Fall 2010

Course Outline for Computer Science 41

INTRODUCTION TO UNIX

Catalog Description:

41 ā€“ Introduction to Unix 2 units

UNIX operating system capabilities, history, evolution and major variants. Components of a UNIX system, common commands, directory and file management, UNIX editors, shells, electronic mail and user communication, the C language development environment, Internet resources. Strongly recommended: Completion of, or concurrent enrollment in Computer Science 14 or equivalent programming course in the C or C++ programming languages (completed with a grade of ā€œCā€ or higher). 1.5 hours lecture, 1.5 hours laboratory.
[Typical contact hours: lecture 26.25, laboratory 26.25]

Prerequisite Skills:

None

Expected Outcomes for Students:

Upon completion of the course, the students should be able to:

1.  display a basic knowledge of UNIX operating system capabilities, history, evolution and identify major variants;

2.  differentiate capabilities of a multi-user operating system, UNIX, from those of a single user system such as Windows 95/98/NT;

3.  identify the components of a UNIX system: file system, utilities, shell (command interpreter), kernel;

4.  use Unix commands to log on and off a UNIX system and change passwords;

5.  use Unix commands to manage files and directories;

6.  identify various UNIX shells, identify the login shell and recognize shell variables;

7.  redirect input and output, pipe commands, and run commands in the background;

8.  use (in a basic way) tools such as grep, find, cut, paste, join, sort;

9.  send, read and manage electronic mail;

10.  use the vi and/or emacs editors;

11.  edit, compile and run a simple C program under UNIX;

12.  identify, locate, and use UNIX-based Internet resources.

Course Content:

1.  An overview of the UNIX operating system

a.  History and philosophy

b.  Multi-user and multi-tasking abilities

c.  Differences between Unix and Windows N/T

d.  UNIX 98 and future directions

e.  Unix variants: Linux, System V, Solaris, SCO, etc.

f.  Basic network vocabulary: direct connect, dial-in access, local area networks, Internet (IP) connection to clients

2.  Components of a UNIX system

a.  The kernel

b.  The shell (command interpreter)

c.  The file system

d.  The user level: commands and utilities

3.  Getting started.

a.  User names and password

b.  Logging on and off

c.  Changing passwords

d.  System prompt

e.  Command options and arguments

f.  Who and finger commands

g.  Stopping a command

4.  Directories and Files

a.  Filenames and extensions

b.  Special files (physical devices)

c.  Directory naming conventions

d.  The directory tree

e.  Paths: absolute and relative

f.  Listing the contents of directory

g.  Changing directories

h.  The working directory

i.  Displaying contents of a file

j.  Printing a file with the lp command and simple formatting using pr and fmt

k.  Viewing long files with more, less, and pg commands

l.  Creating, renaming, moving and removing directories

m.  Moving, copying, deleting, and renaming files

n.  File and directory permissions (attributes) - observing and changing

o.  Use of "wildcards"

p.  Hidden files

5.  Processes

a.  Redirecting standard input/output

b.  Connecting commands with pipelines

c.  Running and stopping background processes

6.  User to User Communication

a.  Sending and receiving messages (mail)

b.  Forwarding messages

c.  Different UNIX mail systems: pine, elm, etc.

d.  Dead letters

e.  Saving messages in a file and printing them, managing the mail

f.  The write, talk, mesg and wall commands

7.  Text manipulation using a line editor such as vi or emacs

a.  Invoking an editor to create a new file or edit an existing file

b.  Navigating a text file

c.  Standard editor functions: insert, delete, replace, find, copy, cut, paste

d.  Using vi or emacs to work with electronic mail

e.  Working with more than one open file

8.  UNIX shells

a.  The common UNIX shells

b.  The login shell and the user profile

c.  The environment

d.  Common shell variables such as: PATH, LOGNAME, HOME, TERM, SHELL, MAIL

9.  C programs under UNIX

a.  Compilation

b.  Linking

c.  What is a MAKE file

d.  Execution

10.  UNIX and the Internet

a.  Internet addresses: IP, domain names, DNS

b.  Internet services: USENET, GOPHER, ARCHIE, newsgroups

c.  History of the World Wide Web

d.  Up- and downloading files and ftp

e.  UNIX-related freeware and shareware

Methods of Presentation:

a.  Lecture

b.  Demonstrations

c.  Discussion.

d.  Student use of the College and Computer Science Laboratory UNIX systems

Methods of Evaluating Student Progress:

1.  Typical Assignment

a.  Create and compile a C program that allows a user to enter integer quantities for an elementary order entry invoice application computing quantities ordered, subtotals, and a grand total.

b.  Using the scripting capabilities in UNIX/LINUX, create an application that will allow a user to scan their account and list all subdirectories automatically, allow the user to select a subdirectory, display all files in that subdirectory. Keep looping until user chooses to quit

c.  Using Perl, write an elementary application that allows a user to enter integer quantities for an order entry application, computing quantities ordered, subtotals, and a grand total.

2.  Methods of Evaluating Student Progress

a.  Assignments

b.  Written Quizzes

c.  Written Final Exam

Textbook(s) (Typical:

Introduction to UNIX and Linux, Muster, Osborne-McGraw Hill Publishing, 2002

Special Student Materials:

Portable storage device

Des Chun

Revised Sept. 2003 Effective F2004