COURSE OUTLINE SCHOOL: School of Engineering Technology and Applied Science
DEPARTMENT: Information and Communication Engineering Technology
PROGRAM (if applicable):
2404 & 2414, 3109, 3119, 3409, 3419, 3508, 3518, 3408
COURSE TITLE:
Introduction to Operating System Concepts and Unix
COURSE CODE:
COMP301
TOTAL COURSE HOURS:
60
PRE-REQUISITES/CO-REQUISITES:
COMP100 Programming I
COURSE ELIGIBILITY FOR PRIOR LEARNING ASSESSMENT AND RECOGNITION (PLAR):
Yes
ORIGINATED BY:
Roy Leslie
REVISED BY:
ILIA NIKA
REVISION DATE:
May 2009
APPROVED BY:
______________________________ Chairperson/Dean
Semester: 2009 Summer Please Note: It is the responsibility of students to retain all course outlines for the purpose of applying for transfer of credit to other educational institutions. A fee may be charged for further copies.
5/8/2009
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 1
Course Title: Introduction to Operating System Concepts and Unix
Centennial College
Course Code: COMP 301
Course Description: This course covers basic operating system concepts using UNIX. Coursework emphasizes Unix File management, using UNIX utilities and developing UNIX scripts. Students will be introduced to basic system administration, PHP scripting, C/C++ and/or Java development in a UNIX/Linux system.
Course Learning Outcomes: Upon successfully completing this course, the student will be able to: 1. 2. 3. 4. 5. 6.
Demonstrate good understanding of operating system functions Demonstrate good understanding of UNIX-like operating systems Use file management, file processing and basic system administration UNIX commands Design, code and test Unix Scripts in a Unix/Linux environment Design, code and test PHP Scripts in a Unix/Linux environment Design, code and test programs in various programming languages, such as C/C++ and Java in a Unix/Linux environment 7. Execute MYSQL queries in a Unix/Linux environment 8. Design code and test simple web pages with PHP in a Unix/Linux environment
Essential Employability Skills: This course supports the students’ ability to: Communicate clearly, concisely, and correctly in the written, spoken, and visual form that fulfils the purpose and meets the needs of audiences. Interact with others in groups or teams in ways that contribute to effective working relationships and the achievement of goals. apply a systematic approach to solve problems. use a variety of thinking skills to anticipate and solve problems. Reframe information, ideas, and concepts using the narrative, visual, numerical, and symbolic representations, which demonstrate understanding. Manage the use of time and other resources to attain personal and/or project-related goals. Take responsibility for her or his actions and decisions.
Prior Learning Assessment And Recognition Process(es): This course is eligible for PLAR through the Registrar and SETAS offices. Assessment of portfolio and/or testing may be discussed with faculty.
Evaluation and Grading System: In order to pass this course a student must achieve: a) A minimum of 50% on the entire course, based on the weighted grading system summarized below, and b) A minimum mark of 50% in the test component of the course, and c) a minimum of 50% on the Comprehensive Final Test
Assignments, Quizzes, Class Participation, etc. Mid-Term Test Comprehensive Final Test
5/8/2009
30% 30% 40% 100%
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 2
Course Title: Introduction to Operating System Concepts and Unix
Centennial College
Course Code: COMP 301
STUDENT ACCOMMODATION: All students have the right to study in an environment that is free from discrimination and/or harassment. It is College Policy to provide accommodation based on grounds defined in the Ontario Human Rights Code. Accommodation may include changes or modifications to standard practices. Students with disabilities who require academic accommodations must register with the Centre for Student with Disabilities. Please see the Centre for Students with Disabilities for details. Students requiring accommodation based on human rights grounds should talk with their professors as early as possible. Details are available on the Centennial College website (www.centennialcollege.ca ). If students are unable to write an examination due to a medical problem or unforeseen family problems, they should immediately contact their professor or program Chair for advice. In exceptional and well documented circumstances (e.g. unexpected family problems, serious illness, or death of a close family member), students should be able to write a make-up examination to replace an examination missed.
Text And Other Instructional/ Learning Materials: Required Course Text:
Unix for Programmers and Users third edition, by Graham Glass and King Ables, Prentice Hall ISBN #: 0-13-046553-4
Optional Reference:
Beginning PHP and MySQL: From Novice to Professional, Third Edition by W. Jason Gilmore, Publisher: Apress, Pub Date: March 2008, Print ISBN: 978-1-59059-862-7 , Web ISBN: 1-59059-862-8, http://proquest.safaribooksonline.com/9781590598627?tocview=true
Use of Dictionaries: Paper based dictionaries that translate between a foreign language and English are permissible for used during examinations and quizzes in this course. Electronic dictionaries are not permitted for purposes of quizzes and examinations, but they may be used for day-to-day class work.
Professor: Telephone Number: (416) 289 – 5000 extension E-mail address:
[email protected]
5/8/2009
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 3
Course Title: Introduction to Operating System Concepts and Unix
Centennial College
Course Code: COMP 301
POLICY STATEMENTS College Policies The following statements are selected from Centennial College policies approved by the Board of Governors.
Student Responsibilities Students are expected to know the contents of the course outline and to discuss with the professor any areas where clarification is required. Students should keep all course outlines for each course taken at Centennial College. These may be used to apply for transfer of credit to other educational institutions. A fee may be charged for additional or replacement copies.
Other Policies Students should familiarize themselves with all College Policies that cover students’ rights, responsibilities, and the Academic Appeal process. For further information, consult the Academic Matters Section in the full-time and Continuing Education calendars. The Academic Appeal Application form is available from any Enrolment Services Office.
Proof of Student Status Students must produce official photo identification at any time during the semester when requested to do so by any professor. (The official piece is the Centennial Student Card.) Continuing Education students do not have Centennial Student Cards, and so they may use other forms of photo identification, such as a driver’s license, health card, or other government-issued photo identification.
Final Examinations When writing a test or examination, students must put their official photo-ID cards in full view for review by the invigilator. Students who do not have official photo-ID will be permitted to write the examination with a substitute photo-ID, but they will be required to produce photo-ID at the program or department office within 24 hours or the next business day following the examination, or else the examination results will be void. More Final Examination Policies are available at http://my.centennialcollege.ca.
Academic Progression Policy for Diploma and Certificate Programs: College Academic Standings will be applied. Please see Academic Policies and Procedures, Full-Time Calendar.
Faculty Consultation Professors are available to see students outside of class time. Students can contact professors via voice mail, email, or through their program or department office. Information regarding how to contact teachers will be provided at the beginning of the course and is also available in the program or department office.
Human Rights Statement It is the policy of the College that all programs will strive for a learning, teaching, and working environment that promotes inclusion, understanding, and respect for all students and employees, consistent with the Ontario Human Rights Code and Centennial College's Statement of Diversity.
5/8/2009
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 4
Course Title: Introduction to Operating System Concepts and Unix
Centennial College
Course Code: COMP 301
Note: This outline contains the essential elements that must be covered in the course, but the sequence and time allocated to topics is suggested, and may be altered by the teaching professor. In addition, the teaching professor may alter the timing of assignments.
Week
Topic/Content
Readings/ Reference Chapter 1
1
Overview of Operating System concepts Introduction to Unix. Operating System
2
UNIX File system
Chapter 2
File management in UNIX Basic UNIX commands 3
Chapter 2 Ownership and Permissions in UNIX/Linux systems
4
Chapter 7 Unix utilities for power users
5
6
7
UNIX Shells and Shell Scripting Customizing the UNIX session Creating and executing UNIX scripts
Advanced BASH Scripting
File processing utilities
Chapter 4 - 8
Chapters 4 - 8 Lecture handout
Lecture handout
Instructional Objectives Upon completion of this work, the learner will have a good understanding of operating system functions, and will be able to identify the elements of UNIX architecture: Kernel, Shell, Utilities and Applications Upon completion of this work, the student will have a good understanding of UNIX File system, and UNIX directories. The student will be able to apply basic UNIX commands, such as: ls, date, clear, man, ctrll-D, pwd, cat, mv, mkdir, cd, cp, rm, rmdir. Upon completion of this work, the learner will have a good understanding of UNIX security features. The student will be able to identify permission settings (read, write, execute), the ownership (owner, group, others), and also change the permissions using chmod command Upon completion of this work, the learner will have a good understanding of UNIX utilities for power users and the concept of pipes. The student will be able to use various wildcards, input/output and redirection tools, and other powerful UNIX commands, such as more, head, tail, touch, find, grep, fgrep, sort and uniq. Upon completion of this work, the learner will have a good understanding of UNIX Shell scripting. The student will be able to write BASH scripts that use variables, functions, arrays, and simple control structures. Upon completion of this work, the learner will be able to write advanced BASH script that use quotation marks, directory /file, string or numerical comparison expressions, arguments, and arithmetic expressions. The student will also practice with other BASH control structures, such as case, select, etc. Upon completion of this work, the learner will be able to use selection and manipulation file processing commands.
Instructional Strategies/ Tests and Assignments Lecture Demonstration Lab Session
Lecture Demonstration Lab Session Lab Assignment #1: Basic Unix commands Lecture Demonstration Lab Session Lab Assignment #2: File permissions Lecture Demonstration Lab Session Lab Assignment #3: Wild cards and Searching Lecture Demonstration Lab Session Lab Assignment #4: Developing Simple BASH Scripts Lecture Demonstration Lab Session Lab Assignment #5: Developing complex BASH scripts Lecture Demonstration Lab Session
The student will practice the use of comm, diff, cmp, tr, pr, cut, paste, join, and sed.
5/8/2009
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 5
Course Title: Introduction to Operating System Concepts and Unix
Week
Topic/Content
8
Mid-Term Test
9
C/C++ Programming tools in UNIX
10
Process Management in UNIX
Readings/ Reference
Centennial College
Instructional Objectives
Course Code: COMP 301
Instructional Strategies/ Tests and Assignments Test #1
C Handout Chapter 12
Chapter 13 Lecture handout
Upon completion of this work, the learner will have a good understanding of how to create, compile and execute C/C++ programs in a UNIX system.
Lecture Demonstration Lab Session
The student will practice the use of gcc compiler and the make utility.
Lab Assignment #6: Developing and testing simple C/C++ programs in a Linux system Lecture Demonstration Lab Session
Upon completion of this work, the learner will have a good understanding about managing the processes in a Unix/Linux system. The student will be able to use ctrl-z, fg, ps, nice, renice, top, kill, jobs and free commands
11
Windowing Systems
Chapter 11
The learner will be introduced to UNIX Windowing systems. Upon completion of this work, the students will have a good understanding of X Servers and X Window managers.
Lecture Demonstration Lab Session
12
Introduction to PHP Lecture handout
Upon completion of this work, the learner will have a good understanding of the PHP scripting language.
Using PHP in a UNIX environment The student will be write simple PHP scripts that use variables, control structures, and functions.
13
Developing PHP Web pages in a Linux environment
Lecture handout
Connecting PHP programs with MySQL server
5/8/2009
14
Final Review
15
Final Test
Upon completion of this work, the learner will have a good understanding of the PHP Web scripts. The student will be introduced to MySQL database server in a UNIX/Linux environment, and write simple PHP web pages that access MySQL databases.
Lecture Demonstration Lab Session Lab Assignment #7: Developing simple PHP scripts Lecture Demonstration Lab Session Lab Assignment #8: Developing simple PHP Web Pages that connect to MySQL databases
Lecture handout Test #2
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Page No. 6