Python Learning Outline

Python Programming – Basics

•      Understand the different types of Python applications
•      Recognize source code for a console application
•      Use the interactive shell
•      Manage source files
•      Fix both syntax and runtime errors
•      Compile and run a program
•      Code statements, add comments, and organize code into functions
•      Name and assign values to variables
•      Author expressions
•      Include special characters
•      Use predefined Python functions
•      Use relational and logical operators
•      Code and nest if statements
•      Use loops
•      Create and call functions
•      Provide arguments for functions
•      Use standard modules
•      Plan functions in a program with hierarchy charts
•      Gain techniques for debugging more easily, including setting breakpoints
•      Create, sort, and use lists of one or multiple dimensions
•      Create and use tuples
•      Read, write, and manage files – both text and binary
•      Work, in great detail, with various string, numeric, and date/time types
•      Define a custom class
•      Create objects based on a custom class
•      Use proper encapsulation within a class definition
•      Define and establish an inheritance relationship between classes
•      Implement polymorphism
•      Understand relational database organization
•      Use SQL to retrieve or manipulate data
•      Use SQLite to connect and interact with a database
•      Test database code and handle exceptions
•      Create a GUI (graphical user interface), including a root window
•      Handle graphical events such as a button click
•      Visually lay out graphical components in a grid

• An introduction to Python
o     Introduction to Python
o     How to use IDLE to develop programs

• How to write your first program
o     Basic coding skills
o     How to work with data types and variables
o     How to work with numeric data
o     How to work with string data
o     How to use five of the Python functions

• How to code control statements
o     How to code boolean expressions
o     How to code the selection structure
o     How to use the iteration structure

• How to define and use functions and modules
o     How to define and use functions
o     More skills for defining and using functions
o     How to create and use modules
o     How to use standard modules
o     How to plan the functions of a program

• How to test and debug a program
o     An introduction to testing and debugging
o     Four techniques for testing and debugging
o     How to use the IDLE debugger

• How to work with lists and tuples
o     Basic skills for working with lists
o     How to work with a list of lists
o     More skills for working with lists
o     How to work with tuples

• How to work with file I/0
o     An introduction to file I/O
o     How to use text files
o     How to use CSV files
o     How to use binary files

• How to handle exceptions
o     How to handle a single exception
o     How to handle multiple exceptions

• How to work with numbers
o     Basic skills for working with numbers
o     How to format numbers
o     How to work with decimal numbers

• How to work with strings
o     Basic skills for working with strings
o     How to split and join strings

• How to work with dates and times
o     How to get started with dates and times
o     More skills for working with dates and times

Introduction to Python 3

1. An Introduction to Python
A Brief History of Python
Python Versions
Installing Python
Environment Variables
Executing Python from the Command Line
IDLE
Editing Python Files
Python Documentation
Getting Help
Dynamic Types
Python Reserved Words
Naming Conventions

2. Basic Python Syntax
Basic Syntax
Comments
String Values
String Methods
The format Method
String Operators
Numeric Data Types
Conversion Functions
Simple Input and Output
The % Method
The print Function

3. Language Components
Indenting Requirements
The if Statement
Relational Operators
Logical Operators
Bit Wise Operators
The while Loop
break and continue
The for Loop

4. Collections
Lists
Tuples
Sets
Dictionaries
Sorting Dictionaries
Copying Collections

5. Functions
Defining Your Own Functions
Parameters
Function Documentation
Keyword and Optional Parameters
Passing Collections to a Function
Variable Number of Arguments
Scope
Functions – “First Class Citizens”
Passing Functions to a Function
Mapping Functions in a Dictionary
Lambda
Inner Functions
Closures

6. Modules
Modules
Standard Modules – sys
Standard Modules – math
Standard Modules – time
The dir Function

7. Exceptions
Errors
Run Time Errors
The Exception Model
Exception Hierarchy
Handling Multiple Exceptions
raise
assert
Writing Your Own Exception Classes

8. Input and Output
Data Streams
Creating Your Own Data Streams
Access Modes
Writing Data to a File
Reading Data From a File
Additional File Methods
Using Pipes as Data Streams
Handling IO Exceptions
Working with Directories
Metadata
The pickle Module

9. Classes in Python
Classes in Python
Principles of Object Orientation
Creating Classes
Instance Methods
File Organization
Special Methods
Class Variables
Inheritance
Polymorphism
Type Identification
Custom Exception Classes

10. Regular Expressions
Simple Character Matches
Special Characters
Character Classes
Quantifiers
The Dot Character
Greedy Matches
Grouping
Matching at Beginning or End
Match Objects
Substituting
Splitting a String
Compiling Regular Expressions
Flags

Advanced Python 3 Programming

1. What you should already know about Python
Introduction
Language Evolution
Python Reserved Words and Other Rules
Documentation
The string Class
Variables
DataTypes
Boolean and Numeric Types
Strings
Lists
Sets
Sequences
Looping Through Sequences
Dictionaries
Bit Manipulation
Functions
Modules
Standard Input and Output
File Input and Output
Some File Tests

2. Data Structures
range
List Comprehensions
Nested List Comprehensions
Dictionary Comprehensions
Dictionaries with Compound Values
Processing Lists in Parallel
Specialized Sorts
Time Functionality
Generators

3. Writing GUIs in Python
Introduction
Components and Events
The tk Widget
Button Widgets
Entry Widgets
Text Widgets
Checkbutton Widgets
Radiobutton Widgets
Listbox Widgets
Frame Widgets
Menu Widgets
Toplevel Widgets
Dialogs

4. Python and CGI Scripts
What is CGI
HTML
HTML Forms
A Guestbook Application
What Can Go Wrong!
HTML Tables
The CGI Script
Rendering of the Script

5. The os Module
The Environment
Creating a Process
Listing Files
Other Process Methods
File Information (Metadata)
Working with Directories

6. Network Programming
Networking Fundamentals
The Client/Server Module
The socket Module
The Client Program
The Server Program
An Evaluation Client and Server
A Threaded Server

Appendix A: What You Might Not Already Know
What is an Iterable?
Creating Your Own Iterators
Generators
The Functions any and all
Thread Fundamentals
Synchronization
Signals
The Python Debugger
The with Statement
Data Compression

Appendix B: Python and Databases
Introduction
DBM Operations
Pickling
Pickling with Complex Objects
Shelves
Using sqlite3
Executing Queries
Table Descriptions
Writing Database Scripts

Python for Data Science: Pandas, NumPy and Matplotlib

CHAPTER I BUILDING BLOCKS
WORKING WITH PYTHON
NUMPY NDARRAYS
SLICING AND INDEXING
SCALAR OPERATIONS
SHAPE SHIFTING
DESCRIPTIVE STATISTICS
ARRAY OPERATIONS
MULTIPLE DIMENSIONS
ARRAY CREATION OPTIONS
DATA TYPES
GETTING NUMPY-SPECIFIC HELP
OVERVIEW OF DATA VISUALIZATION / PRESENTATION TOOLS

CHAPTER II OVERVIEW OF PANDAS
WORKING WITH PANDAS IN AN IDE
ENHANCEMENTS FROM NDARRAY OBJECTS
SERIES OBJECTS
PANDAS IN 2-D
PANDAS IN 3-D

CHAPTER III DATA ACQUISITION
DEALING WITH MISSING DATA AND OUTLIERS
SLICING, DICING AND RE-INDEXING
DATA DESCRIPTION / ANALYSIS TOOLS

CHAPTER IV DATA VISUALIZATION

CHAPTER V DATETIME-LIKE OBJECTS
BASIC TIME SERIES OPERATIONS
INTROSPECTING TIME SERIES
TOOLS FOR HOLIDAYS, BUSINESS DAYS, ETC.
COMPARING AND COMBINING DATA FROM DIFFERENT SERIES
TIME SHIFTING AND TIME “WINDOW” OPERATIONS

CHAPTER VI PANDAS DATABASE OPS
COMPARISON OF SQL OPERATIONS AND PANDAS METHODS
CREATING PIVOT TABLES AND CROSS-TABULATIONS
AGGREGATING DATA ACROSS DIFFERENT TABLES
CREATING COMPLEX QUERIES WITH INTERMEDIATE DATA FRAME OBJECTS

CHAPTER VII PANDAS + MACHINE LEARNING TOOLS
WHAT IS LDA?
GETTING TO KNOW THE DATA
EXPLORING DATA INTEGRITY
APPLYING THE LDA MODEL
DO YOU WANT A DOGGIE BAG?
QUICK RECAP OF THE ANALYSIS

APPENDIX A TEXT-ONLY DEBUGGING
THE PDB DEBUG LIBRARY
OTHER TEXT-BASED TOOLS
INTEGRATING LOGGING WITH DEBUGGING

APPENDIX B INTRODUCTION TO BAYESIAN ANALYSIS
A SIMPLE REAL-LIFE EXAMPLE
THE BAYESIAN APPROACH
REALITY CHECKING

Python for Data Science: Jupyter Notebooks

Lesson 1: Jupyter Fundamentals
• Basic Functionality and Features
• Our First Analysis – The Boston Housing Dataset

Lesson 2: Data Cleaning and Advanced Machine Learning
• Preparing to Train a Predictive Model
• Training Classification Models

Lesson 3: Web Scraping and Interactive Visualizations
• Scraping Web Page Data

Interactive Visualizations

https://www.onlc.com/python-programming-training-classes.htm