COURSE OUTLINE ACADEMIC YEAR 2014/2015

Course Title: UNIX AND THE INTERNET
Course Code: TECH 154 / Schedule Type Code: LLB / Credit Value: 3 / Class Hours: 60
Programs: Computer Engineering Technology / Pre-Requisite(s): N/A / Co-requisite(s):N/A
Pre-requisite for: CENG 411 UNIX Internals
Restrictions: none: N/A

Course Description

The focus of this course is on enabling learners to gain a working knowledge of the UNIX operating system environment. Learners will work in the command line environment. Editing, printing, file management, and account management are some of the operational functions that will be covered. There also will be an introduction to scripts. Learners will be introduced to Internet resources. They will use ssh and sftp as well as various Internet network utilities. They will create web pages including tables, lists, and forms. There also will be an introduction to common gateway interface scripts (CGI).

Course Rationale

To allow student to work in a UNIX/Linux environment and create web pages.

Learning Outcomes

Upon successful completion of this course, students will be able to:

1.  Navigate through a UNIX X-Windows environment.

2.  Navigate through a UNIX command line environment.

3.  Demonstrate the use of the vi/vim editor.

4.  Describe the major components of the UNIX file system.

5.  Use UNIX commands and filters.

6.  Develop simple shell scripts.

7.  Navigate the Internet using browsers, ssh and sftp.

8.  Develop Web pages, using tables, frames and forms.

9.  Write simple CGI scripts that use data sent from an HTML form

Essential Employability Skills

Essential Employability Skills are transferable skills that provide the foundation for a student’s academic, vocational, and personal success.

√ / Communication / √ / Critical Thinking &
Problem Solving / √ / Interpersonal
√ / Numeracy / √ / Information Management / √ / Personal

Upon successful completion of this course, students will demonstrate the following competencies:

1.  Demonstrate the ability to respond correctly to oral and written instructions.

2.  Use appropriate course-related terminology in reports and discussions.

3.  Read, comprehend and apply as appropriate standard reference materials, manuals, and diagrams.

4.  Maintain a clear and accurate written record of lab work.

5.  Participate in class discussions

6.  Apply the fundamentals of number systems.

7.  Participate effectively in-group discussions.

8.  Work with others by co-operating, sharing ideas and constructively resolving conflicts.

9.  Demonstrate understanding of the need to respect the rights of individuals

10.  Take responsibility for the learner's own actions and decisions.

Learning Resources

Required Resources:

Kochan, Stephen G., Unix Shell Programming, 3rd edition, Sams, 2003, ISBN: 0-672-32490-3

Supplemental Resources:

Elizabeth Castro and Bruce Hyslop, HTML5 and CSS3, Seventh Edition (Visual Quickstart Guide),Peachpit Press, 2012, ISBN: 978-0321-71961

Tutorial and web reference material at www.w3schools.com

Copyright

Copyright is the exclusive legal right given to a creator to reproduce, publish, sell or distribute his/her work. All members of the Humber community are required to comply with Canadian copyright law which governs the reproduction, use and distribution of copyrighted materials. This means that the copying, use and distribution of copyright- protected materials, regardless of format, is subject to certain limits and restrictions. For example, photocopying or scanning an entire textbook is not allowed, nor is distributing a scanned book.

See the Humber Libraries website (http://library.humber.ca) for additional information regarding copyright and for details on allowable limits.

Learning Delivery Format

2 hour Interactive lecture and discussion

1 hour lab period

Course Content

UNIT / TOPIC(S) / ASSESSMENTS / RESOURCES
1.  / Overview of Operating System Concepts
•  Describe major components of a typical modern computer
•  Navigate the X Windows environment
•  Use command line help commands such as help, man, which, file, whereis, and apropos.
2.  / Edit Files
•  Invoke the vi/vim editor.
•  Use vi/vim commands to create and edit files.
•  Edit the command line using vim commands.
Note: The use of vim is covered in Tech 153. If students are missing this background the instructor may either assign an online tutorial (vimtutor) or elect to spend more class time introducing this tool.
3.  / Files and Directory Organization
•  Describe directory and file hierarchies.
•  Define root directory, pathname, working directory, permission bits, and inode value.
•  Manage directories and files using ls, mkdir, rmdir, rm, cp, mv and rm.
•  Use of wildcards (*, ? and [ ]) to expand references to file names Compare symbolic and hard linked files.
•  Use the stat and ls commands to show the properties of a file.
•  Use the file command to determine the type of a file.
•  The effect of various commands on the ctime, mtime and atime of a file and the directory in which it appears
•  Recognize and print printable files.
4.  / Security
•  Use of chmod to set read, write and execute permissisons on files and directories using both symbolic and octal forms
•  Use of umask to set default permissions, using both symbolic and octal forms
•  Use of chgrp and newgroup to create files with different group ownership
•  Use of ssh, scp and sftp to enable secure communications between two systems
•  Use chmod to make web pages visible on the Internet
•  Control access to your terminal using mesg.
5.  / Regular Expressions
Regular expressions a common mechanism used to automatically search for and replace text. Students will:
•  Use *, +, ^, $, {n,m}, [list],[^list], (pattern1|pattern2), <word> to search for text using grep.
•  Use the same patterns to search and replace patterns found using the vim editor.
•  Use the same patterns to replace text using sed. (Coverage of sed will be limited to the use of regular expressions.)
6.  / UNIX Commands and Utilities I
•  Use help commands such as help, man, apropos, type, which, whereis and file.
•  Use basic controls of the less program to navigate and search files. And apply the same controls to the man pages.
•  Describe the operation of basic Unix commands such as: date, who, man, ls, cat, echo, printf, cd, pwd and finger
•  Describe the use of shell metacharacters such as: *, ?, [ ], ( ), (( )), {}, |, >, >, <, <, &, ;, :, & and ||.
•  Define standard input, standard output, standard error, pipes and filters.
•  Control multiple processes and jobs using commands such as: ps, &, wait, kill, fg, bg, jobs.
•  Create new command names using alias.
•  Reorder records by specified fields using the sort command and use uniq to count and remove duplicate records from a file.
7.  / Unix Commands and Utilities II
•  Generate and interpret output from the who, ps, date and last commands
•  Use the cut command to extract information from files either by character or by delimited fields.
•  Use head and tail to extract lines from a file.
•  Use grep to extract lines matched by pattern from a file
•  Use paste to join files vertically.
•  Use the find command to search for files based on properties such as name.
•  Build a pipeline of commands using | so that the output of one command is the input of the next. (filter programs)
•  Duplicate the output of a command using the tee command and direct the output to other files or other processes using >(process)
8.  / Unix Shell Environment
•  Name different shells available for UNIX including: sh, csh, ksh, bash.
•  Describe the use of shell environment variables such as: HOME, PATH, CDPATH, TERM, RANDOM, and PS1-4.
•  Create and use local variables.
•  Configure and use the hidden file .bashrc to set up a user environment
•  Understand the purpose of each of the 4 quote symbols: single quote, backquote, double quote and backslash
9.  / Shell Scripts
•  Create simple shell scripts and make them executable.
•  Pass parameters to shell scripts.
•  Use control statements such as if and while
•  Employ test conditions on files such as -z, -e, -x, -r and -w
•  Use arithmetic operations with shell variables, including the use of (( )), let and bc.
•  Use mktemp to create a temporary file to store intermediate results.
•  Debug shell scripts.
10.  / Internet
•  Use ssh to access a remote site, log in and run commands remotely
•  Use sftp/ftp to access a remote site and log in with privilege and as anonymous.
•  Use ftp/sftp to browse the directory structure of a remote site and exchange files.
•  Identify the (textual) structure of Internet domain names.
•  Describe the structure of a Universal Resource Locator (URL) and locate information over Web.
•  Prepare and publish a Web page for viewing with a browser that uses HTML commands to control colour, font, images, http links and protocols such as mailto.
•  Prepare Web pages that contain forms, frames, frameset, lists and tables.
•  Write simple CGI scripts.
•  Write a simple CGI script that parses the name/value pairs in a QueryStirng sent by an HTML form

Please note: this course schedule may change as resources and circumstances require.

Student Evaluations

A Cumulative Program Grade Point Average (CPGPA) of at least 60% is required to graduate from a diploma program.

A passing grade for this course is 50%. To get an overall passing grade in this course, students must independently pass the Test and the Lab/Assignment portions of the course. If one or more of these sections is less than 50% then the final grade for the course will be the lower of the two marks.

The following is the suggested evaluation scheme for this course. If the evaluation is changed, the course instructor will provide the student with a written revised evaluation procedure.

LAB ASSIGNMENTS 50%

MIDTERM 20%

FINAL 30%

Total 100%

School Specific Field:

As a college student, you are responsible for attendance, punctuality, and facilitating a positive and productive learning environment. There is a strong connection or relationship between attendance and grades: higher grades are associated with regular class attendance. Note: Attendance for labs is mandatory.

A Cumulative Program Grade Point Average (CPGPA) of at least 60% is required to graduate from a diploma program.

A passing grade for this course is 50%. To get an overall passing grade in this course, students must independently pass the Test and the Lab/Assignment portions of the course. If one or more of these sections is less than 50% then the final grade for the course will be the lower of the two marks.

The following is the suggested evaluation scheme for this course. If the evaluation is changed, the course instructor will provide the student with a written revised evaluation procedure.

Degree Students:

In addition to meeting all program specific course and credit requirements, students must have a Cumulative Program Grade Point Average (CPGPA) of ≥ 65 in order to be eligible for graduation.

Diploma Students:

In addition to meeting all program specific course and credit requirements, students must have a

Cumulative Program Grade Point Average (CPGPA) of ≥ 60 in order to be eligible for graduation.

Policies and Procedures

It is the student’s responsibility to be aware of the College Academic Regulations which can be found on the following website: http://www.humber.ca/academic-regulations

In addition, and the School of Applied Technology also has a handbook which outlines specific program-based policies and procedures. This handbook, can be found on the following websites: www.humber.ca and school site www.humber.ca/appliedtechnology

Academic Integrity

Academic integrity is essentially honesty in all academic endeavors. Academic integrity requires that students avoid all forms of academic misconduct or dishonesty, including plagiarism, cheating on tests or exams or any misrepresentation of academic accomplishment.

Research Activity

This course does not include any research activities that involve human participants. Students will gather data ONLY from publicly available sources.

Academic Concern/Appeals

If a student has questions or concerns regarding a grade on an assignment or test, the student should discuss the matter with the faculty member. The Program Co-ordinator and/or the Associate Dean may be asked to assist if the faculty member and student are unable to resolve issues. For additional information please refer to Section 13 of College’s Academic Complaint and Appeal Policy at the web site identified above.

Prior Learning Assessment Recognition (PLAR)

Course credits may be granted in recognition of prior learning, and that Application for

Consideration is made through the Office of the Registrar at http://www.humber.ca/plar/docs/pla.pdf.

Each course outline must indicate method(s) of assessment.

PLAR assessment will be done using a combination of interview, challenge exam and skills test.

Challenge Exam / Portfolio / Skills Test / Interview / Other (Specify) / Not Available For PLAR
√ / √ / √

Disability Services

Humber seeks to create a welcoming environment where equity, diversity and safety of all groups are fundamental. Humber is dedicated to providing equal access to students with disabilities. The Disability Services staff are available by appointment to assess specific needs, provide referrals and arrange appropriate accommodations. If you require academic accommodations, contact:

Disability Services: http://www.humber.ca/disabilityservices/

North Campus: (416) 675-6622 X5180

Lakeshore Campus: (416) 675-6622 X3265

Disclaimer

While every effort is made by the professor/faculty to cover all material listed in the outline, the order, content, and/or evaluation may change in the event of special circumstances (e.g. time constraints due to inclement weather, sickness, college closure, technology/equipment problems or changes, etc.). In any such case, students will be given appropriate notification in writing, with approval from the Dean (or designate) of the School.

Appendix

Essential Employability Skills (MTCU Requirements) / Graduates of the program reliably demonstrate the ability to: /
Communication
Reading / 1. communicate clearly, concisely and correctly in the written, spoken and visual form that fulfills the purpose and meets the needs of the audience
2. respond to written, spoken, or visual messages in a manner that ensures effective communication
Writing
Speaking
Listening
Presenting
Numeracy
Understanding and Applying Mathematical Concepts and Reasoning / 3. execute mathematical operations accurately
Analysing and using Numerical Data
Conceptualizing
Critical Thinking & Problem Solving
Analysing / 4. apply a systematic approach to solve problems
5. use a variety of thinking skills to anticipate and solve problems
Synthesising
Evaluating
Decision-Making
Creative and Innovative Thinking
Information Management
Gathering and managing information / 6. locate, select, organize and document information using appropriate technology and information systems
7. analyse, evaluate and apply relevant information for a variety of sources
Selecting and using appropriate tools and technology for a task or project
Computer literacy
Internet skills
Interpersonal
Teamwork / 8. show respect for the diverse opinions, values, belief systems n and contributions of others
9. interact with others in groups or teams in ways that contribute to the effect working relationships and the achievement of goals
Relationship management
Conflict resolution
Leadership
Networking
Personal
Managing self / 10. manage the use of time and other resources to complete projects
11. take responsibility for one’s actions, decisions, and consequences
Managing change and being flexible and adaptable
Engaging in reflective practice
Demonstrating personal responsibility

Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request.