Course 589:
Python Programming Essentials

(4 days)


Course Description

Python is a powerful, portable, object-oriented, open source programming language. This course starts by quickly covering the basic: variables, control of flow, functions, modules, packages, and standard libraries. OO programming in Python is covered using a test first methodology. The course then takes an in-depth look at data structures and exception handling. This class is approximately 65% hands-on.

Note: This course uses Python 3.7 and can be taught on Linux and Microsoft Windows.

Learning Objectives

In this course, you will learn how to:

  • Create and execute a Python program on different operating systems
  • Use and manipulate variables
  • Use lists, tuples, and dictionaries
  • Create and use functions
  • Use classes and be introduced to class creation
  • Use modules and packages
  • Handle exceptions and create private exceptions
  • Do unit testing with PyTest and be introduced to mocking
  • Access a database
  • Use iterators and be introduced to generators

Who Should Attend

Anyone who wants to learn how to program in Python.


Prior programming experience is not required for this course.

Course Outline

Quick Start

  • Command Line
  • IDEs
  • A First Program—Twice
  • Getting Help: Debugging

Variable Fundamentals

  • Data Types and Assignment
  • Strings
  • Coercion and Conversion
  • Basic I/O

Program Flow Control

  • Truth in Python
  • if in All Forms
  • while
  • break and continue
  • Shorthand Operators

Lists, Tuples, and Dictionaries

  • What Is a List?
  • What Is a Tuple?
  • List Operators
  • Tuple Operators
  • for Looping
  • Lists of Lists
  • Understanding and Using Dictionaries

Exception Handling

  • What Are Exceptions?
  • Creating Exception Handlers
  • Raising Exceptions


  • Function Basics
  • Function Attributes
  • Methods of Calling Functions
  • Variable Scope

Python Object Fundamentals

  • Python and Objects
  • Using Objects and Methods
  • Creating Classes
  • Attributes and Properties
  • Inheritance
  • Overloading of Operators

Modules and Packages

  • Creating and Using Modules
  • Using Packages

File Handling

  • Formatted IO
  • File IO
  • String IO

Iterators and Generators

  • Review of Iterators
  • Lambda Functions
  • Introduction to Generators

Special Topics

  • OS Interface Introduction
  • Command Line with Argparse

Unit Tests (PyUnit)

  • Why and Why Not Unit Tests
  • Patterns for Unit Testing
  • Mock Object Introduction

Database Programming

  • Introduction to Database Programming
  • Processing Select Statements
  • Executing Input and Update Statements


  • Introduction to MatPlotLib Artist Model
  • Introduction to Bokeh

Please Contact Your ROI Representative to Discuss Course Tailoring!