OPS435 - Open System Automation

Outline info
Last revision date 2018-07-20 12:00:52.064
Last review date 2018-07-20 12:01:11.24

Subject Title
Open System Automation

Subject Description
This is an introductory programming course designed specifically for system and network administrators. Students will learn generally-applicable programming concepts and techniques using the Python programming language. Following an introduction to fundamental programming principles the students will write software to automate deployment and configuration tasks over a network.

Credit Status
1 credit in the CTY Program

Learning Outcomes
Upon successful completion of this subject the student will be able to:

1. Design algorithms to solve simple problems which require input/output, conditions, and loops.
2. Design and implement functions in order to avoid code duplication, while avoiding the use of global variables.
3. Read and write data from/to plain-text and binary files.
4. Write code that handles expected and unexpected errors during execution.
5. Use a programming language debugger to speed up locating errors in the code.
6. Apply knowledge of established and new development tools to write deployable code efficiently.
7. Automate deployment and configuration tasks (e.g. to deploy and migrate software applications and user configuration) using a programming language with a configuration management tool.
8. Assess, select, and use appropriate tools and techniques to develop and maintain administrative scripts and task automation.
9. Provide clear and accurate comments in the source code.

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.


Topic Outline

Scripting Basics
-File name exapansion
-Shell Concepts
-Use of variables
-Utilization of Regular Expressions
Search and Act Utilities
-Use of Quotes
-Command Line Arguments
Decisions and Loops
-if,then, elif, else, && contructs, || construct
-case, for, while, until
Unit Filters
- .grep
- .sed
- .awk
- .sort
Revision Control System
-Using version management tools to keep track of scripting changes
-Debugging of new and existing scripts

Mode of Instruction
Classroom lectures and discussions are supplemented by lab sessions with the instructor, reinforced by assigned readings and assignments between classes. 

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
Unix Shell Programming 3rd Edition
by Stephen Kochan, Patrick Wood, SAMS, ISBN#9780672324901  

Required Supplies
Removeable Hard-drive, and a USB storage device. 

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.

Modes of Evaluation
Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.


  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.

Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Quizzes and Labs 30%
Assignments 20%
Midterm 20%
Final Exam                                            30%

Approved by: Denis Gravelle