Python Programming
Objectives
- To be able to write programs in Python.
 - To master the rich set of Python libraries and modules.
 - Understand procedural control flow in Python
 - Use Object Oriented programming techniques
 
Audience
- This is a beginner course suitable for anyone wanting to use Python for developing applications, writing test for QA or using it for system administration.
 
Course Format
- Duration of the course is 32-40 academic hours. (Usually 4-5 days).
 - The course includes approximately 40% hands on lab work.
 - In the longer version we allocate more time for exercises and have more time for individual help.
 - The course is given in Python 3
 
Prerequisites
- Basic programming background in a programming language such as C, Java, Javascript, Perl, PHP or Ruby, just to name a few.
 - Experience with a text editor like emacs, vi, pico or notepad.
 - Understanding of files and directories.
 
Syllabus
Introduction to Python
- Installing Python
 - Where and why to use Python
 - Using the Python interactive interpreter
 - Documentation and how to get help?
 - Indentation
 
Scalar types and operators
- Strings
 - Numbers
 - Split
 - String slices
 - Immputable strings
 
Collection types and operators
- Lists
 - List slices
 - Tuples
 - Dictionaries (hashes)
 - Sets
 - Sorting
 - Queues
 - Stack
 - Collections
 - Iterables
 - Mutable and immutable
 
Functions subroutines
- Function parameters
 - Positional parameters
 - Named parameters
 - Default values
 - Optional parameters
 - Return values
 - Function documentation
 - Lambda functions
 
Control flow
- For loops
 - While loops
 - Loop controls
 - Conditionals
 - Chained comparison
 - Enumerate
 - Boolean and logical operators
 
IO
- print formatting
 - read/write files
 
Regular expression (pattern matching)
- Matching all
 - Searching for a single match
 - Meta characters
 - Character classes
 - Special character classes
 - Quantifiers
 - Alternatives
 - Modifier flags
 - Anchors
 - Back-references
 - Substitution
 - Split
 
The Python standard library
- Filesystem related functions
 - Running external processes
 
Creating modules
- Loading a module
 - Finding a module in a private directory
 - Changing the search path to a relative directory
 - Importing selected functions
 - Namespaces
 - Creating executable module
 
Exception handling
- Creating non-fatal warnings
 - Catching exceptions
 - Handling exceptions
 - Throwing a new exception
 - The final block
 - Creating your own exception
 
Object Oriented Programming
- Defining classes
 - Initializing objects
 - Methods
 - Attributes or members
 - The self
 - Inheritance
 
Additional uses
- Installing and using 3rd party modules
 - Writing simple web scraping program
 - Writing simple Web application
 - Accessing SQL databases
 - Reading and writing Excel files
 
Let's talk
If you would like to bring this course to your organization, let's talk about it! You can reach me via email at gabor@szabgab.com or you can go ahead and schedule a chat: