Introduction to Python Scripting

Track Room Location: Heritage Hall, room 133


Description

Any computing or networking task that is designed to be done repeatedly is a good candidate for automation. One of the best ways for automating processes is by using a scripting language. Writing scripts to perform tasks can increase performance and accuracy. Students graduating with scripting skills can bring value to the companies they work for by automating processes that had previously been done manually. As computing environments become more complex and IT professionals are asked to do more with less, the ability to automate tasks will become increasingly important.

This hands-on training course introduces students to the Python scripting language. Python is an easy to learn programming language. This makes it especially well-suited for people who are new to scripting. This course will cover basic programming concepts such as variables and variable types, loops, decisions, functions, and lists. It will look at how these basic programming constructs are implemented in Python. It will do this by using examples taken from system administration, security and games. Python will also be compared to other common scripting languages, including PERL, BASH, and PowerShell. Students will learn how the concepts learned in this class can also be applied to other scripting languages. The course will also discuss different options available for Python editors. Python 2.7 will be used for this class.

  • Discuss different editors, IDEs and interactive environments available for writing Python code
  • Discuss Python 2.x versus 3.x
  • Utilize variables to store information
  • Convert between variable types
  • Implement functions to create modular code
  • Understand how Python uses local and global variables
  • Write programs that make decisions based on conditions during the time of execution
  • Incorporate logic and conditional statements in program decisions
  • Utilize lists to store sets of information
  • Use loops in programs to perform a set of tasks on each item in a list
  • Use loops in programs to repeatedly perform tasks while a condition is true
  • Practice using Python to perform system administration tasks
  • Utilize regular expressions for parsing information such as log files
  • Write Python programs that can open, read and write to files
  • Learn how dictionaries can be used with paired sets of data

Prerequisites

Knowledge of another scripting language is helpful, but not required.

Instructor

Paul2.jpg
Paul Gordon - Wisconsin Indianhead Technical College
Paul Gordon has been teaching IT classes for 11 years. He teaches, a variety of subjects including Windows and Linux operating systems, CCNA, Information Security, Windows Server, Windows and VMware virtualization, Storage and database administration. He has or has had the following certifications: VCP 4, VCP 5, CCNA, CCNA Security, Linux+, Security+, Net+ and A+. Prior to being an instructor, he worked as a system administrator where he learned to use scripting to automate system tasks.

Three Objectives

1 Learn how scripting can be used to automate processes
2 Learn basic programming constructs
3 Gain experience writing and testing Python scripts for IT-related tasks

Agenda

Monday
Topics: Variables, variable types, lists, decisions, loops and user input
Projects: Stopwatch, User management scripts

Tuesday
Topics: List operations, string operations, variable type conversion, conditional operators
Projects: Guess the number, User creation script

Wednesday
Topics: Regular expressions, split, join
Projects: Ping scanner, port scanner

Thursday
Topics: Opening, reading and editing files
Projects: Log parsing project, User create script revisited

Friday
Topics: Dictionaries
Projects: Hangman

Resources

Class Notes

http://1drv.ms/1O5JGp7

Instructor Links

https://docs.python.org/2/tutorial/
http://www.greenteapress.com/thinkpython/thinkpython.pdf
http://docs.linuxtone.org/ebooks/Python/OReilly.Python.for.Unix.and.Linux.System.Administration.Sep.2008.pdf


Please note that content is subject to change or modification based on the unique needs of the track participants in attendance.