×

PYTHONPROG - Python Programming

This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non trivial Python programs dealing with a wide variety of subject matter domains. Topics include language components, the IDLE environment, control flow constructs, strings, I/O, collections, classes, modules, and regular expressions. The course is supplemented with many hands on labs using either Linux or Windows.

Click here to print this page »

Prerequisites


Students should have taken the Software Development for Non-Programmers course or have some experience with at least one programming language. Typically, students in this course will have already programmed in either C, C++, Java, Perl, Ruby, VB, or anything equivalent to these languages.

Detailed Class Syllabus


Chapter 1: An Introduction to Python


Introduction
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

Chapter 2: Basic Python Syntax


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

Chapter 3: Language Components


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

Chapter 4: Collections


Introduction
Lists
Tuples
Sets
Dictionaries
Sorting Dictionaries
Copying Collections
Summary

Chapter 5: Functions


Introduction
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
map
filter
Mapping Functions in a Dictionary
Lambda
Inner Functions
Closures

Chapter 6: Modules


Modules
Standard Modules - sys
Standard Modules - math
Standard Modules - time
The dir Function

Chapter 7: Exceptions


Errors
Runtime Errors
The Exception Model
Exception Hierarchy
Handling Multiple Exceptions
raise
assert

Chapter 8: Input and Output


Introduction
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

Chapter 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

Chapter 10: Regular Expressions


Introduction
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

Chapter 11: Data Structures


List Comprehensions
Nested List Comprehensions
Dictionary Comprehensions
Dictionaries with Compound Values
Processing Lists in Parallel
Specialized Sorts
Time Functionality
Generators

Chapter 12: Writing GUIs in Python


Introduction
Components and Events
An Example GUI
The Tk Widget
Button Widgets
Entry Widgets
Text Widgets
Checkbutton Widgets
Radiobutton Widgets
Listbox Widgets
Frame Widgets
Menu Widgets
Toplevel Widgets
Dialogs

Chapter 13: 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

Chapter 14: The os module


The Environment
Creating a Process
Listing Files
Other Process Methods
File Information (Metadata)
Working With Directories

Chapter 15: Network Programming


Networking Fundamentals
The Client/Server Model
The socket Module
A Client Program
A Server Program
An Evaluation Client and Server
A Threaded Server

Chapter 16: Python and Databases


Introduction
DBM Operations
Pickling
Pickling with Complex Objects
Shelves
Using sqlite3
Executing Queries
Table Descriptions
Writing Database Scripts