College of San Mateo Course Outline

advertisement
College of San Mateo
Course Outline
New Course
Update/No change
Course Revision (Minor)
Course Revision (Major)
Date: 1/26/12
Department:
CIS
Number: 121
Course Title:
UNIX/Linux
Units:
Total Semester Hours: Lecture: 48
Lab: 16
3.0
Homework: 80
Length of Course
By Arrangement: 0
Grading
Semester-long
Letter
Short course (Number of weeks )
Pass/No Pass
Open entry/Open exit
Grade Option (letter or Pass/No Pass)
Faculty Load Credit (To be completed by Division Office; show calculations.): 3.7 FLC
48 hrs. lecture / 16 weeks * 1.0 + 16 hrs. lab / 16 weeks * 0.7
1.
Prerequisite (Attach Enrollment Limitation Validation Form.)
None
2.
Corequisite (Attach Enrollment Limitation Validation Form.)
None
3.
Recommended Preparation (Attach Enrollment Validation Form.)
Eligibility for ENGL 838/848 and completion of CIS 110
4.
Catalog Description (Include prerequisites/corequisites/recommended preparation.)
CIS 121 UNIX/LINUX (3) (Pass/No Pass or letter grade option.) 48 lecture and 16 lab hours per
semester. Recommended Preparation: eligibility for ENGL 838/848 and completion of CIS 110.
Introduction to the UNIX/Linux operating system. Includes a brief introduction to operating
systems and UNIX history. Covers UNIX file systems; common shell features including I/O
redirection, piping, command substitution, and simple job control; shell-specific facilities
including use of environmental and local variables; and common UNIX utilities. Also includes
advanced topics such as shell scripting, communications, and system administration. (AA, CSU)
5.
Class Schedule Description (Include prerequisites/corequisites/recommended preparation.)
CIS 121 UNIX/Linux (3) Introduction to the UNIX/Linux operating system. Includes a brief
introduction to operating systems and UNIX history. Covers UNIX file systems; common shell
features including I/O redirection, piping, command substitution, and simple job control; shellspecific facilities including use of environmental and local variables; and common UNIX utilities.
Also includes advanced topics such as shell scripting, communications, and system
3/24/08
Course Outline
Page 1 of 6
administration. Recommended preparation: eligibility for ENGL 838/848 and completion of CIS
110. Pass/No Pass or letter grade option. (AA, CSU)
6.
Student Learning Outcomes (Identify 1-6 expected learner outcomes using active verbs.)
Upon successful completion of the course, the student will be able to:
1. Describe the functions of an operating system.
2. Employ common UNIX shell features including I/O redirection, piping, command
substitution, and simple job control.
3. Explain shell-specific facilities including the use of environmental and local variables, and
the built-in programming language.
4. Analyze problems and design UNIX solutions using shell command files and scripts.
5. Describe how UNIX supports processes, memory management, input/output, and the file
system.
6. Set up a UNIX or Linux environment.
7. Use common and advanced UNIX utilities.
8. Describe the main UNIX system administration tasks.
7.
Course Objectives (Identify specific teaching objectives detailing course content and activities.
For some courses, the course objectives will be the same as the student learning outcomes. If
this is the case, please simply indicate this in this section).
See Student Learning Outcomes
8.
Course Content (Brief but complete topical outline of the course that includes major subject
areas [1-2 pages]. Should reflect all course objectives listed above. In addition, you may attach
a sample course syllabus with a timeline.)
Topical Outline
I. Introduction
1. Introduction to Operating Systems
a. UNIX
b. Linux
2. Accessing the UNIX system
3. Using Commands
a. Logging on and off
b. Changing the password
c. Getting online help
d. Stopping a program
e. Using the file system
f. Editing files
i. Entering text
ii. Common editing features
iii. Moving the cursor
iv. Deleting, Pasting, and Undoing
v. Searching
vi. Saving/Loading files
22 August 2012
Course Outline
Page 2 of 6
II. UNIX/Linux Shells and Commands
1. UNIX/Linux shells
a. Common shell features
i.
I/O redirection
ii.
Piping
iii.
Command substitution
iv.
Simple job control
b. Shell-specific facilities
i.
Use of environment and local variables
ii.
Built-in programming language
iii.
Advanced I/O redirection
c. The Bourne shell
i.
i. Start up-files
ii.
ii. Shell variables
iii.
iii. Arithmetic
iv.
iv. Conditional expressions
v.
v. Control structures
vi.
vi. Built-in commands
d. The Korn shell
i.
Start-up files
ii.
Aliases
iii.
History mechanism
iv.
vi and emacs line editors
v.
Arithmetic
vi.
Functions
vii.
Job control
e. The C shell
i.
Start-up files
ii.
Variables and lists
iii.
Expressions
iv.
Aliases
v.
History mechanism
vi.
Control structures
vii.
Job control
III. Shell Scripting and Processes
1. Shell Scripting
a. Creating a Simple Shell Script
b. Command Separation and Grouping
c. Redirecting Standard Error
d. Job Control
i.
List
ii.
Foreground
iii.
Background
2. Processes
a. Process Structure
b. Process Identification
c. Executing a Command
22 August 2012
Course Outline
Page 3 of 6
d.
3.
Invoking a Shell Script
i.
Specifying a Shell
ii.
Start-up files
Parameters and Variables
a. Keyword Variables
IV. File Manipulation and Internals
1. UNIX Utilities
a. Filtering files
b. Sorting files
c. Comparing files
d. Archiving files
e. Searching for files
f. Scheduling commands
g. Hard and soft links
h. Checking for mail
i. Transforming files
j. Identifying shells
2. Overview of UNIX Internals
a. Processes
b. Memory Management
c. Input/Output
d. File System
V. Linux Installation
1. Linux
a. Components
b. Installation and Configuration
c. Internetworking with Other Operating Systems
VI. UNIX/Linux Utilities
1. Advanced UNIX Utilities
a. Switching Users
b. Mounting File Systems
VII. Communications/Networking
1. Overview of Network Concepts and Terminology
a. Building a Network
i. Ethernets
ii. Bridges
iii. Gateways
iv. Routers
b. Internetworking
i.
Packet Switching
ii.
Internet Addresses
iii.
Naming
iv.
Routing
v.
Security
vi.
Network Programming
22 August 2012
Course Outline
Page 4 of 6
c.
2.
VIII.
9.
UNIX Network Utilities
i.
finger
ii.
ftp/ssh
iii.
wall
iv.
who
Overview of Systems Programming
a. Error Handling
b. Regular File Management
c. Process Management
d. Signals
e. Interprocess Communication (IPC)
f. The Internet Shell
System Administration
1. Advanced Commands and Utilities
a. Starting and Stopping the System
b. Maintaining and backing up the File System
c. Maintaining User Accounts
d. Installing Software
e. Installing and Configuring Peripherals
f. Managing the Interface to the Network
g. Automating Repetitive Tasks
h. Performing System Accounting
i. Configuring the Kernel
j. Checking System Security
Representative Instructional Methods (Describe instructor-initiated teaching strategies that
will assist students in meeting course objectives. Include examples of out-of-class assignments,
required reading and writing assignments, and methods for teaching critical thinking skills.)
The course will include the following instructional methods as determined appropriate by the
instructor:
• Lecture will be used to introduce new topics;
• Teacher will model problem-solving techniques;
• Class will solve a problem together, each person contributing a potential "next step";
• Students will participate in short in-class projects (in teacher-organized small groups) to
ensure that students experiment with the new topics in realistic problem settings;
• Teacher will invite questions AND ANSWERS from students, generating discussion about
areas of misunderstanding;
• Teacher will create and manage an Internet conference for discussion of course topics;
and
• Students will work in small groups to solve programming assignments.
10.
Representative Methods of Evaluation (Describe measurement of student progress toward
course objectives. Courses with required writing component and/or problem-solving emphasis
must reflect critical thinking component. If skills class, then applied skills.)
• Bi-weekly quizzes (short answer--from textbook material) to provide feedback to
students and teacher on objectives 1 – 5;
22 August 2012
Course Outline
Page 5 of 6
• Assessment of student contributions during class discussion and project time to assess
objectives 1-8;
• Individual programming assignments to assess objectives 1-8;
• Midterm and Final exams (short answer (textbook material), general problem solving
(similar to in-class work), short program segments (similar to programming assignments) )
to assess objectives 1-5 and 7-8;
• Assessment of group participation on course projects, including peer-assessment of
participation and contribution to the group effort to assess objectives 1-5 and 8.
11.
Representative Text Materials (With few exceptions, texts need to be current. Include
publication dates.)
A Practical Guide to Red Hat Linux with DVD, Sobell, Prentice Hall ISBN 0-1322802-7-2, 2006
Unix in a Nutshell, Robbins, O'Reilly ISBN 0-5961002-9-9, 2008
Unix Visual Quickstart Guide, Ray & Ray, Peachpit Press ISBN 978-0321636782, 2009
The Linux Programming Interface, Kerrisk, No Starch Press ISBN 978-1593272203, 2010
Harley Hahn’s Guide to Unix and Linux, Hahn, McGraw-Hill ISBN 978-0073133614, 2008
Prepared by:
(Signature)
Email address:
greenm@smccd.edu
Submission Date:
22 August 2012
Course Outline
Page 6 of 6
Download