Faculty: Email Faculty Refer to schedule in Room Availability: J230 Program Coordinator: COURSE OUTLINE ACADEMIC YEAR 2014/2015 Course Title: UNIX AND THE INTERNET Schedule Type Course Code: TECH 154 Code: LLB Programs: Computer Engineering Technology Credit Value: 3 Class Hours: 60 Pre-Requisite(s): N/A Co-requisite(s):N/A Pre-requisite for: CENG 411 UNIX Internals Restrictions: none: N/A Approved By: Dean/Associate Dean: Vincent Shaikh M.Eng. Signature:______________________________ Date _________________________ Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. 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. 2. 3. 4. 5. 6. 7. 8. 9. Navigate through a UNIX X-Windows environment. Navigate through a UNIX command line environment. Demonstrate the use of the vi/vim editor. Describe the major components of the UNIX file system. Use UNIX commands and filters. Develop simple shell scripts. Navigate the Internet using browsers, ssh and sftp. Develop Web pages, using tables, frames and forms. 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 √ √ Numeracy √ Critical Thinking & Problem Solving Information Management √ Interpersonal √ 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. Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. 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) 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. 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 2. ASSESSMENTS RESOURCES Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. introducing this tool. 3. 4. 5. 6. 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. 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. 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.) 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 Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. 7. 8. 9. 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. 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) 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 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 Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. • 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 MIDTERM FINAL Total 50% 20% 30% 100% Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. 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. Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. 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. Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request. Appendix Essential Employability Skills (MTCU Requirements) Communication Reading Writing Speaking Listening Graduates of the program reliably demonstrate the ability to: 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 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 Synthesising Evaluating 4. apply a systematic approach to solve problems 5. use a variety of thinking skills to anticipate and solve problems Decision-Making Creative and Innovative Thinking Information Management Gathering and managing information Selecting and using appropriate tools and technology for a task or project Computer literacy 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 Internet skills Interpersonal Teamwork Relationship management Conflict resolution Leadership 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 Networking Personal Managing self Managing change and being flexible and adaptable Engaging in reflective practice 10. manage the use of time and other resources to complete projects 11. take responsibility for one’s actions, decisions, and consequences Demonstrating personal responsibility Humber College Institute of Technology and Advanced Learning • 2014/2015 This document is available in alternate format upon request.