Course Title: Create scripts for networking

Part B: Course Detail

Teaching Period: Term1 2015

Course Code: COSC6103C

Course Title: Create scripts for networking

School: 155T Vocational Health and Sciences

Campus: City Campus

Program: C4299 - Certificate IV in Information Technology Networking

Course Contact: Geoff Moss

Course Contact Phone: +61 3 9925 4852

Course Contact Email: geoff.moss@rmit.edu.au


Name and Contact Details of All Other Relevant Staff

Nominal Hours: 60

Regardless of the mode of delivery, represent a guide to the relative teaching time and student effort required to successfully achieve a particular competency/module. This may include not only scheduled classes or workplace visits but also the amount of effort required to undertake, evaluate and complete all assessment requirements, including any non-classroom activities.

Pre-requisites and Co-requisites

NiI

Course Description

This unit describes the performance outcomes, skills and knowledge required to undertake scripted programming tasks for networking related activities.

This course explores Linux and *nix through the command line, Bash scripting and Ubuntu. You will learn to work at the *nix command line, and transfer this knowledge to writing basic scripts.

Topics include
• Basic scripts, the development of writing scripts from the terminal to the script
• System security – separate user and root accounts, escalation of privileges, root via sudo su, sudo command, configuring the sudo’ers file with visudo.
• Standard permissions with owner and groups, read write and execute file permissions.
• File permissions: chmod, chown, chgrp, ls –al.
• File types, binary and text files, library files, symlinks. Compare with Windows dlls and shortcuts.
• Bash programming language, control structures. Functions, passing arguments from the command line, loops, if then, else and case statements, program return error code. Built in variables and PATH. The bash interpreter. Local variables and basic data types and manipulations with strings. Functions.
• Command line utilities relevant to networking. ps, netstat, ifconfig, ping, tail -f, htop
• *nix language in a Bash shell–mkdir, rm, cd, pushd, popd, pwd, ls, cp, mv -i, man, whoami, pipes, output redirection, echo, cat, grep, xterm &, pattern matching, “.” and “..” directories, ~, hidden files beginning with a period “.”, command line arguments, command line in scripts
• Scheduler through crontab with relative and absolute paths, logs, log files and logging messages
• vi editor skills
• *nix updates and software installation using # apt-get. In Ubuntu configuring the proxy server for apt-get update.
 


National Codes, Titles, Elements and Performance Criteria

National Element Code & Title:

ICANWK409A Create scripts for networking

Element:

Create code

Performance Criteria:

2.1 Select appropriate scripting language
2.2 Demonstrate understanding and application of basic language syntax rules and best practices
2.3 Select and use language data types, operators and expressions to create clear and concise code
2.4 Use techniques of selection, iteration and sequence to control script execution flow
2.5 Use techniques for sequential file input and output to retrieve and store information
2.6 Obtain and use user input to affect the operation of the script
2.7 Apply internal document principles to created code
2.8 Follow organisational guidelines for developing maintainable code when creating scripts
2.9 Adhere to coding standards when creating scripts

Element:

Develop algorithms to represent solutions to a given problem

Performance Criteria:

1.1 Consult with client and key stakeholders to identify the problem and associated script requirements
1.2 Employ abbreviated software development cycle to script creation
1.3 Develop an algorithm to solve the problem and meet client requirements
1.4 Develop an algorithm which takes account of expected possible situations
1.5 Develop an algorithm which is guaranteed to end
1.6 Demonstrate use of structure, sequence, selection and iteration

Element:

Document Script

Performance Criteria:

5.1 Create technical-level documentation
5.2 Create user-level documentation

Element:

Test and debug code

Performance Criteria:

4.1 Engineer, document and conduct simple tests to confirm code meets design specification
4.2 Identify areas that are not covered or are covered incorrectly in the script
4.3 Take action to ensure that code complies with security policy
4.4 Take action to ensure that code operates with proper permissions
4.5 Use script debugging techniques suitable for use with scripting language to detect and resolve errors of syntactical, logical and design origin

Element:

Use operating system tools

Performance Criteria:

3.1 Use searching and sorting tools to select information from the logging output of operating system (OS)
3.2 Implement controls to ensure that where significant events occur, script creates and maintains a log of operations via operating system logging mechanism
3.3 Register and run scripts with OS scheduling facility


Learning Outcomes


Develope scripted programming abilities.  Develope skills in BASH. 

This course contributes to the development of the following capabilities:
• Develop shell scripts
• Using Linux at the command line
• Monitor processes by command line tools and the GUI.
• Identify and manage standard permissions
• Write a basic menu program
• Modify and testing your code
• Documenting code


Details of Learning Activities

A range of learning activities are planned for this course including self-paced and collaborative classroom based activities.

The collaborative classroom based activities will include theory sessions, practical lab sessions, tutorial sessions, and out-of-class research and homework.

We expect you to participate and contribute in all scheduled learning activities.


Teaching Schedule

Week Commencing Topics

Week numberDate commencingTopicAssessment
1July 6th*nix and vi basics.  
2July 13th *nix and vi basics.  
3July 20th Variables, datatypes, control structures, functions and loops Scripting 1
4July 27th Variables, datatypes, control structures, functions and loops  
5Aug 3rd Variables, datatypes, control structures, functions and loops   
6Aug 10th ps, cat, sudo, grep, wild card *  
7Aug 17th ps, cat, sudo, grep, wild card *  Scripting 2 
8Aug 24th   
 Aug 31stMid semester break 
9Sep 7thSLDC - incremental script development 
10Sep 14th Updating and packages with # apt-get update  
11Sep 21st Schedule scripts with crontab  
12Sep 28th Schedule scripts with crontab Scripting 3 
13Oct 5th Escalation with visudo, disabling password escalation to root  
14Oct 12th Menu application and the case statement   
15Oct 19th Debugging Scripting 4 
16Oct 26th Debugging   
17Nov 2nd Debugging   
18Nov 9th Debugging   

The schedule may be subject to change.


Learning Resources

Prescribed Texts


References


Other Resources

www.rmit.edu.au/teaching/technology/blackboard


Overview of Assessment

Students must demonstrate an understanding of all elements of competency to be deemed competent. Skill based assessment.

A range of assessment methods are used to assess practical skills and knowledge, for example
• direct questioning combined with a review of portfolios of evidence
• review of authenticated documents from the workplace or training environment
• demonstration of techniques
 


Assessment Tasks

Prac Scripting 1  
Prac Scripting 2  
Prac Scripting 3  
Prac Scripting 4 

All of the practical tasks form the portfolio of evidence.

All practical tasks will involve being assessed by observation and questioning.

Some practical tasks may involve a written technical report.

To be considered competent in this course, you need to achieve competency in all the practicals with opportunities for resubmission as required.


Assessment Matrix

ElementPractical Tasks/In Class/Work observationScripting 1Scripting 2Scripting 3Scripting 4

1.1

x  x x
1.2x  x 
1.3x  x 
1.4x  x 
1.5x  x 
1.6x  x 
2.1xx
2.2xx
2.3x  
2.4x  
2.5x  
2.6x  
2.7x   
2.8x   
2.9x  
3.1x 
3.2x   
3.3x   
4.1x   
4.2x   
4.3x   
4.4x   
4.5x
5.1x  
5.2x   

Other Information

Coding standards:  You may be asked to reformat and change your code as a requirement for competency.  For example, changing a monolithic design to a design with functions; formatting scope with two space indentations; documenting your code.

Access to an internet connected computer outside of class times – Internet connected computers are available in the School of Vocational Health and Sciences labs on levels 4, 6 or 8 of building 51, 81 Victoria Street, Melbourne.
Further lab access can be found in the student lab on level 3 (ground floor) of Building 8, in Swanston Street, Melbourne; as well as RMIT Libraries.

Plagiarism
RMIT has a strict policy on plagiarism. Please refer to the RMIT website for more information on this policy. http://www1.rmit.edu.au/browse;ID=sg4yfqzod48g1

Late work
Late work that is submitted without an application for an extension will not be corrected.

Extension of Time for submission of assessable work
A student may apply for an extension of up to 7 days from the original date. They must lodge the application form (available on the web:http://www1.rmit.edu.au/students/assessment/extension) at least the day before the due date. The application is lodged with the School Admin Office on Level 6, Building 51. Students requiring longer extensions must apply for Special consideration.

Special consideration Policy (Late Submission)
Students requiring longer extensions must apply for Special consideration. Form available online at: http://www1.rmit.edu.au/students/specialconsideration/online.
For missed assessments such as exams and tests, you (and your doctor, if you are ill) must fill out a special consideration form. This form must be lodged at the HUB or online with supporting evidence (e.g. medical certificate) prior to, or within 48 hours of the scheduled time of the exam or test.
If you miss an assessment task due to unavoidable circumstances you need to follow the procedure of special consideration and apply within the allowed time frame.
 

Course Overview: Access Course Overview