Introduction to Python Programming


Course Code: hsts-c18

Course Description

This hands on Python programming course shows how to rapidly develop and maintain effective Python programs. The course includes thorough coverage of Python syntax, built in data types and control constructs. The course takes a practical approach to creating and organizing Python programs using functions, packages, modules and classes as part of Python's object-oriented paradigm. Attendees will use regular expressions to rapidly process data captured from users and from the file system.

Attendees will learn how to use Python to create scripts that manipulate data, automate tasks, perform error handling and store and retrieve data by using relational databases. Students will be able to create Python scripts that assist with system administration.

Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

You will learn:

  • Working with Python's built-in objects
  • Reading and writing files
  • Creating variables and objects in Python
  • Communicating with databases
  • Creating structured data with lists, tuples, sets and dictionaries
  • Performing conversion operations on numbers
  • Using conditional constructs to control flow of execution
  • Writing clear and concise regular expressions
  • Organizing code with functions and classes
  • Creating object-oriented Python programs
  • Using exceptions to gracefully handle errors

Course Prerequisites

Prior scripting experience or knowledge of fundamental programming concepts.

Related Training and Certification Courses:

Responsive Website Design Using Advanced HTML5 and CSS3
Responsive Site Design with Bootstrap
HTML5 & HTML Intro with CSS
Intro to Dreamweaver with Website Development Training
SQL Programming and DB Management
Learn the Fundamentals of UNIX and Linux
Designing Rich Internet Applications Using HTML5, CSS3 and jQuery- Beginner Level
Developing Web Applications Using AngularJS
Object Oriented Programming with UML

Class Info

Highlights

  • 10 sessions each 1.5 hours with hands-on training led by experienced instructors
  • Digital courseware and online course tracking
  • Final course project delivery
  • Certificate of Completion for each course
  • Session-based assignment

Enrollment Fee

$29 per class hour or $390 per course

Location

  • In Person at HacDC's office (1525 Newton St, NW, Ste 212 Washington DC, 20010) located 2 blocks from the Columbia Height metro
  • Private custom training on site or at your location
  • Project based training cn site or at your location

Time

  • In Person: 9AM-3:00PM (1 hour Lunch)
  • Private custom & project based training: your preference

Software Versions

Our classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 240-200-6131

Online Registration Form

Submit below form if you wish to register to our coding classes. The courses are filled on first come, first served basis.



Course Outline

1- Introduction to Python 3

  • Origin and Goals of Python
  • Overview of Python Features
  • Getting and Installing Python
  • Accessing Python Documentation: Python Enhancement Proposals (PEP)
  • Python's Strengths
  • Using Python with Other Programming Languages

2- Using Python

  • Executing Python Programs from the Command Line
  • Python Command Line Options
  • Environment Variables that Influence Python
  • Creating Python GUI Applications
    • Standalone vs. Web-Enabled Interfaces
  • The Python Standard Library

3- Language Fundamentals

  • Python's Lexical Analyzer
  • Using Whitespace to Structure Programs
  • Identifiers and Keywords
  • Python's Execution Model
    • Naming Objects and Binding
  • Python's Data Model
    • Immutable and Mutable Objects
    • Values
    • Types
  • Creating and Using Variables

4- Flow Control Constructs

  • if/elif/else Statements
  • Creating Loops with while and for
  • Understanding Iterators
  • Returning Values with return Statements
  • Loop Modification with break and continue
  • Returning Generator Iterators with the yield Statement
  • Retrieving Iterators with next()

5- Expressions

  • Unary and Binary Arithmetic Operations
  • Comparison and Boolean Operations
  • Conditional Expressions
  • Lambda Expressions
  • Order of Operations and Operator Evaluation
  • Expression Lists
  • Assignment Operations

6- Exception Handling

  • Types of Python Exceptions
  • Handling Exceptions with try/except/finally
  • Triggering Exceptions with raise
  • Defining New Exception Types
  • Implementing Exception Handling in Functions, Methods and Classes
  • Working with the Regular Expression Error Exception

7- Using the String Object

  • Using ASCII and Unicode Strings
  • Manipulating Strings with String Methods
  • Using the format() Function to Format Strings
  • Using Escape Sequences
  • Working with Raw Strings

8- Organizing Code

  • Defining Functions
  • Calling Functions
  • Creating Anonymous Functions
  • Altering Function Functionality with Decorator Functions
  • Creating Classes with the class Statement
  • Creating Objects as Class Instances
  • Using Preexisting Classes as the Basis of a New Class
  • Using Modules to Group Related Functions, Classes and Variables
  • Locating and Importing Modules
  • Using Packages to Group Modules Together

9- Arrays, Collections and Dictionaries

  • Sequenced Data Structures
    • Arrays
    • Collections
    • Dictionaries
  • Creating and Accessing Lists
  • Manipulating Lists
  • Creating and Accessing Tuples
  • Understanding the Differences Between Lists and Tuples
  • Using Dictionaries to Create Data Records
  • Manipulating Dictionaries Using Dictionary Methods
  • Creating Sets
  • Performing Set Operations
    • Union
    • Intersect
    • Difference
  • Differences Between Sets and Dictionaries
  • Using Generators to Return Iterators

10- Working with Arguments

  • Passing Arguments to Functions by Reference and by Value
  • Defining Functions with Required Arguments
  • Defining Functions with Default Arguments
  • Defining Flexible Functions that Take Variable Length Arguments

The following topics may be included at the discretion of your instructor.



11- Regular Expressions

  • Regular Expression Syntax
  • Using Regular Expressions in Python
  • Altering Regular Expression Processing with Regular Expression Modifiers
  • Using Regular Expression Operators
  • Scanning Through Strings Using the search() and match() Methods
  • Creating Reusable Patterns by Using the compile() Method

12- Object Oriented Programming Concepts

  • The Object Oriented Programming Paradigm
  • Encapsulating Information
  • Classes vs. Instances of Objects
  • Built-in Class Attributes
  • Implementing Class Inheritance
  • Using Objects in Code

13- I/O Handling

  • Sending Output to STDOUT Using the print() Method
  • Reading Input with the input() Method
  • Creating File Objects with the open() Method
  • Controlling File Access Modes
  • Working with File Object Attributes
  • Closing File Objects with the close() Method
  • Reading and Writing to File Objects with read() and write()
  • Using File Processing Functions from the OS Module

14- Data Management

  • Embedding SQLite Databases in Applications
  • Best Practices for Data Management
  • Storing Data in Local Databases
  • Discussing and Understanding the DB API
  • Understanding and Using Common SQL Statements
  • Connecting to a SQLite Database
  • Using Cursors to interact with Data from a Database
  • Implementing Error Handling with Database Connections