Detailed Description
This hands-on course provides an introduction to the UNIX Operating
System. It covers utilities, file systems, the shell environment, shell
scripts and other scripting languages, other scripts, online editors and
security.
Program Context
|
IT Operations |
Program Coordinator: Multiple |
This is an introductory course
to understand how operating
systems work and support
computing environments to
develop and run applications.
In this course, students learn
about the fundamental elements
of the operating system,
specifically basic UNIX
utilities, file systems, shell
environments, shell and other
scripting languages, operating
system security, and standard
text editors. The knowledge
and skills acquired in this
course will be usedThis course
will meet program objectives
in the area of Operating
Systems and Applications,
specifically: 1. Operating
systems concepts including
organization, architectures,
role and environments. 2.
Exposure to operating systems
on different platforms. ,
specifically: 1. Operating
systems concepts including
organization, architectures,
role and environments. 2.
Exposure to operating systems
on different platforms.
UNIX Operating Systems |
Program Coordinator: Multiple |
Same as above.
|
Course Critical Performance and Learning Outcomes
|
Critical Performance
By the end of this course, students will have demonstrated the
ability to:
Perform basic system support services in a LINUX / UNIX environment.
Learning Outcomes
To achieve the critical performance, students will have demonstrated
the ability to:
- Summarize the history of the UNIX Operating System
- Compare characteristics of UNIX with other operating systems
- Use command-line and GUI tools to interact with the OS
- Illustrate how UNIX manages files and directories
- Restate main differences between major popular shells
- Use file system tools
- Obtain information about other users and the user environment
- Customize individual user environments
- Use ASCII text editors to create data file and scripts
- Use redirection, pipes and filters to make commands more efficient
- Solve simple problems by programming in shell scripting languages
- Monitor LINUX / UNIX processes
|
Evaluation Plan
Students demonstrate their learning in the following ways:
|
Mid Term Test 30%
Final Exam 30%
Labs & Quizzes (2 to 4) 20%
Assignments (2 to 4) 20%
---
100%
Faculty members teaching this course agree to the following
practices:
Sheridan wishes to encourage behaviours that will help
students be successful in the workplace, and to ensure that students
receive credit for their individual work.
1. For submission of assignments and projects, the faculty
member will specify, on the class plan:
a) Due dates and special instructions for submissions
b) Deductions for overdue submissions
2. Exams must be written as scheduled by the faculty member. A
make-up exam is at the faculty member's discretion provided that the
student has an acceptable reason for their absence and may be asked
for documented evidence, such as a medical certificate, explaining
their absence. These special situations must be discussed with the
faculty member immediately once the situation becomes known. Semester
time constraints may limit rewrite options.
3. To pass the course, students must achieve at least 50%
overall in the course, as well as a 50% weighted average across the
tests and the exams combined.
|
Provincial Context
The course meets the following Ministry of Training, Colleges and Universities requirements:
|
Essential Employability
Skills
Essential Employability Skills emphasized in the course:
X
|
Communication
|
X
|
Critical Thinking & Problem Solving
|
|
Interpersonal
|
X
|
Numeracy |
X
|
Information
Management |
|
Personal
|
Notes: N/A
Prior Learning Assessment and Recognition
PLAR Contact (if course is PLAR-eligible) : Office of the Registrar
Students may apply to receive credit by demonstrating achievement of the course learning outcomes through previous relevant work/life experience, service, self-study and training on the job. This course is eligible for challenge through the following method(s):
Challenge Exam |
Portfolio |
Interview |
Other |
Not Eligible for PLAR |
X |
|
|
X |
|
Notes: N/A
|
|
Some details of this outline may change as a result of circumstances such as weather cancellations, College and student activities, and class timetabling.
Effective term: Spring/Summer 2015
Professor: Multiple Professors
Textbook(s): No textbook required
Applicable student group(s): Continuing Education Students
Course Details:Module 1 (learning outcomes 1,2)
(5%)
The Essence of Unix / Linux: Introduction
- Discuss background and philosophy of computers
- Summarize the history of the UNIX Operating System
- Compare characteristics of UNIX with other OS
- Illustrate features and advantages of using the Unix OS
- Practice logging on and off the computer network (login,
logout, exit, poweroff, shutdown)
- Linux Installation & Setup
- Moving around in Linux
Module 2 (learning outcome 3)
(10%)
Linux Command Line
- Identify elements of the command window
- Examine the properties of the command window (stty)
- Describe how Linux processes data (STDIN, STDOUT, STDERR)
- Form command sequences, group commands
- Use redirection, pipes, filters to make commands more
efficient
- Experiment with commands to develop a "feel" for Unix
(utilities: cal, date, who)
- Getting help (man, info, apropos, whatis)
- List, browse, and recall previous commands (history)
- Splitting redirection to more than one place (tee)
Module 3 (learning outcomes 4,9) ; [quiz #1]
(5%)
Linux Files
- Understand files and file types
- Name files that you create (namespace standards)
- Display contents of text files (cat, less, more, tail, head)
- Create empty files or modify file dates (touch)
- Use ASCII text editors to create data file (vi)
- Learn basic text-file editing with vi (pico/nano)
- Delete, duplicate and rename files (cp, mv, rm)
Module 4 (learning outcome 6)
(10%)
Linux File System
- Illustrate how UNIX manages files and directories
- Partitions, Master Boot Record, Partition Table (mount)
- File system types (NTFS, fat32, ext3...)
- Folder: the graphical representation of a directory
- parent-child relationship of directories and their content
- use shortcuts for the current working directory, the parent,
the root, and user's home directory (tilde, dot, dotdot)
- construct a directory tree to organize an Unix account
(mkdir )
- distinguish between relative and absolute pathnames
- navigate a directory tree (cd, ls, pwd)
- duplicate and rename directories (cp, mv)
- delete directories without removing entire account (rmdir,
rm)
Module 5 (learning outcomes 4,6) ; [lab #1]
(10%)
Linux File Attributes
- Understand Linux security
- View and modify file permissions (chmod, chown, chage,
chgrp, umask)
- Protect your account with restrictive permissions (SUID, GUID)
- Understand and check various types of files (file)
- Special files (character and block)
- Create hard and symbolic links between files (ln)
- Search for files and directories in a directory tree (find,
locate)
- Compressed files (gzip, gunzip)
- View non-ASCII files (od, strings, file)
- Find info and location programs (which, whereis)
Module 6 (learning outcomes 5,8)
(5%)
Interactive Shell Environment
- Restate main differences between major popular shells
- Describe the common shell features
- Discuss how to choose a shell
- access, set, and change local and environment variables
(export env printenv setenv unsetenv)
- identify and change your login shell (chsh)
- Customize your prompt (PS1)
- set your command path (PATH)
- Create nicknames for long/complex commands (alias unalias)
Module 7 (learning outcomes 6,7) ; [Mid Test]
(5%)
Advanced Commands
- flat-file database tables (rows, columns, delimiters)
- manipulate flat-file tables ( join, cut, paste, sort, pr )
- count the characters, words, and lines, spell-check, and sort
the contents of a file
- Obtain information about other users (/etc/passwd)
- compare files in different fashion (cmp, diff, comm)
- Root Users (su, sudo)
- Basic user management (useradd, passwd)
- Networking basics (ssh, scp, ping, netstat, ifconfig)
Module 8 (learning outcomes 9, 11) [assignment #1]
(10%)
Bash Script Programming
- Understand the different kinds of languages
- Define the programming process
- Discuss instances where scripts are useful
- Documenting scripts (inline documentation)
- Write, test, and debug scripts to automate common tasks
- Variables (user-defined, shell, environment)
- Operators (assignment)
- View and modify Bash shell's configuration files
- Use ASCII text editors to create scripts
Module 9 (learning outcome 10)
(10%)
Filters with Regular Expressions
- Understand how to write a basic regular expression
- Search for text in a file or a group of files in the same
directory with a regular expression
- Use modifiers: asterisk (*) and period (.)
- Use anchors: hat (^) and ($)
- Use character sets, i.e. [abc], [0-9], [^abc]
- Use escape character \
- Using grep, egrep, fgrep, vi
Module 10 (learning outcomes 10, 11)
(5%)
Batch Editing and Filtering
- Modify and substitute patterns
- Print and delete lines
- Use basic awk to transform and format files
- Using awk scripts (print, printf, $1, $2,...) and sed
Module 11 (learning outcomes 9, 11) ; [assignment #2]
(15%)
Advanced Bash Scripts
- Solve simple problems by programming shell scripts
- Control structures (decisions: if, case; iteration: while,
for; sequence: when to use semi-colon)
- Operators (arithmetic, conditional, file)
- Command line arguments ($0, $n, $#)
- Documenting scripts: Create manual pages (groff, man)
Module 12 (learning outcome 12)
(5%)
Linux Processes
- Hierarchical structure of a process tree
- Explain process attributes
- Inter-process communication (signal, queue, pipe)
- Display a basic/customized listing of processes (ps, top)
- Examine memory and disk usage (free, du, df)
- Suspend/place process in background, foreground (bg, fg, jobs)
- Terminate a process and its zombies (kill)
- (optional) Get information from /proc
Module 13 (learning outcome 3) ; [Final Exam]
(5%)
X Windows and Desktop Managers
- Client vs. server environments, and the Internet
- Linux distributions (Debian, Redhat, Suse, and descendents)
- Determine the appropriate runlevels
- Unix Graphical Interface-X Window system
- Understand relationships between console, terminal in CLI /GUI
- Recognize and define components: XFree86, X server, X client,
X protocol, Windows manager, KDE/QT, GNOME/GTK+
|