<?xml version="1.0" standalone="no"?>

<!--  JD_AdvPython.xml	Course Outline in XML format
 *
 * Copyright 2009 Affinity IT Training, LLC. All Rights Reserved.
 *
 -->

<!DOCTYPE FAI:CourseOutline SYSTEM "FAI_CourseOutline.dtd">
<?xml-stylesheet type="text/xsl" href="FAI_CourseOutline.xsl" ?>
<FAI:CourseOutline FAI:link="JD_AdvPython.xml" 
                   xmlns:FAI="http://www.fisher-assoc.com/DTDs/FAI_CourseOutline.dtd">
	<FAI:CourseTitle FAI:level="Intermediate" FAI:code="AdvPython">
  		Advanced Python Programming
 	</FAI:CourseTitle>
  	
  	<FAI:CourseCategory>Programming Languages</FAI:CourseCategory>
  	<FAI:CourseCategory>Python</FAI:CourseCategory>
    	
	<FAI:SummaryInfo>
		<FAI:CourseDesc FAI:version="1.0">
			Includes a review of selected Fundaments topics, and covers
			how to use the CGI and DB Modules, Cookies, Sessions, HTML and XML Processing.      
    		</FAI:CourseDesc>
		<FAI:CourseDuration>
			3 Days
    		</FAI:CourseDuration>
		<FAI:CourseAudience>
			Programmers interested in achieving advanced proficiency with Python.  
    		</FAI:CourseAudience>
		<FAI:CourseObjectives>
			<FAI:Objective FAI:desc="Review intermediate topics from Python Programming Fundamentals"/>
			<FAI:Objective FAI:desc="Understand how to manipulate arrays and lists"/>
			<FAI:Objective FAI:desc="Perform Object-Oriented Programming using Classes and Objects"/>
			<FAI:Objective FAI:desc="Write CGI scripts for access via a web browser"/>
			<FAI:Objective FAI:desc="Access Databases using DB-API 2.0"/>
			<FAI:Objective FAI:desc="Understand how to use Cookies in CGI scripts"/>
			<FAI:Objective FAI:desc="Use CGI-based Sessions"/>
			<FAI:Objective FAI:desc="Be familiar with many of the advanced modules in the Standard Library"/>
			<FAI:Objective FAI:desc="Describe the capabilities and approaches of HTML Processing"/>
			<FAI:Objective FAI:desc="Perform programmatic XML Processing"/>
		</FAI:CourseObjectives>
		<FAI:CourseSetupList>
			<FAI:Setup FAI:desc="Python Download" FAI:link="http://www.python.org"/>
		</FAI:CourseSetupList>
		<FAI:CourseTextList>
			<FAI:Text FAI:title="Course Workbook"/>
			<FAI:Text FAI:title="Learning Python, 3rd Edition, Mark Lutz, David Ascher, Orielly &amp; Assoc." 
			          FAI:link="http://www.amazon.com/Learning-Python-Mark-Lutz/dp/0596513984/ref=pd_bbs_sr_1/002-9860222-2406458?ie=UTF8&amp;s=books&amp;qid=1193349919&amp;sr=8-1"
			/>

		</FAI:CourseTextList>
		<FAI:CoursePrerequisiteList>
			<FAI:CoursePrerequisite FAI:title="Python programming experience"/>
		</FAI:CoursePrerequisiteList>
	</FAI:SummaryInfo>
	<FAI:TopicList>
		<FAI:SuperTopic FAI:title="Review: Data Structures">
			<FAI:Topic FAI:title="More About Lists"/>
			<FAI:Topic FAI:title="Stacks"/>
			<FAI:Topic FAI:title="Queues"/>
			<FAI:Topic FAI:title="Functional Programming Tools"/>
			<FAI:Topic FAI:title="List Comprehensions"/>
			<FAI:Topic FAI:title="The del statement"/>
			<FAI:Topic FAI:title="Tuples and Sequences"/>
			<FAI:Topic FAI:title="Sets"/>
			<FAI:Topic FAI:title="Dictionaries"/>
			<FAI:Topic FAI:title="Looping Techniques"/>
			<FAI:Topic FAI:title="Conditions Techniques"/>
			<FAI:Topic FAI:title="Comparing Sequences and Other Types"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Review: Modules">
			<FAI:Topic FAI:title="Module Search Path"/>
			<FAI:Topic FAI:title="Pre-Processed Files"/>
			<FAI:Topic FAI:title="Standard Modules"/>
			<FAI:Topic FAI:title="The dir() Function"/>
			<FAI:Topic FAI:title="Packages"/>
			<FAI:Topic FAI:title="Importing All Package Modules"/>
			<FAI:Topic FAI:title="References Between Packages"/>
			<FAI:Topic FAI:title="Packages in Multiple Directories"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Review: Input and Output">
			<FAI:Topic FAI:title="Formatting Output"/>
			<FAI:Topic FAI:title="Reading and Writing Files"/>
			<FAI:Topic FAI:title="Methods of File Objects"/>
			<FAI:Topic FAI:title="The pickle Module"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Review: Errors and Exceptions">
			<FAI:Topic FAI:title="Syntax Errors"/>
			<FAI:Topic FAI:title="Exceptions"/>
			<FAI:Topic FAI:title="Handling Exceptions"/>
			<FAI:Topic FAI:title="Raising Exceptions"/>
			<FAI:Topic FAI:title="User-defined Exceptions"/>
			<FAI:Topic FAI:title="Defining Clean-up Actions"/>
			<FAI:Topic FAI:title="Predefined Clean-up Actions"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Review: Classes">
			<FAI:Topic FAI:title="Python Terminology"/>
			<FAI:Topic FAI:title="Scopes and Name Spaces"/>
			<FAI:Topic FAI:title="Class Definition Syntax"/>
			<FAI:Topic FAI:title="Class Objects"/>
			<FAI:Topic FAI:title="Instance Objects"/>
			<FAI:Topic FAI:title="Method Objects"/>
			<FAI:Topic FAI:title="Considerations"/>
			<FAI:Topic FAI:title="Inheritance"/>
			<FAI:Topic FAI:title="Multiple Inheritance"/>
			<FAI:Topic FAI:title="Private Variables"/>
			<FAI:Topic FAI:title="Additional Class Aspects"/>
			<FAI:Topic FAI:title="Exceptions As Classes"/>
			<FAI:Topic FAI:title="Iterators"/>
			<FAI:Topic FAI:title="Generators"/>
			<FAI:Topic FAI:title="Generator Expressions"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Review: Introduction to the Standard Library">
			<FAI:Topic FAI:title="Operating System Interface"/>
			<FAI:Topic FAI:title="File Name Wildcards"/>
			<FAI:Topic FAI:title="Command Line Arguments"/>
			<FAI:Topic FAI:title="Error Output Redirection"/>
			<FAI:Topic FAI:title="Program Termination"/>
			<FAI:Topic FAI:title="Pattern Matching Example"/>
			<FAI:Topic FAI:title="Math Library"/>
			<FAI:Topic FAI:title="Internet Access"/>
			<FAI:Topic FAI:title="Dates and Times"/>
			<FAI:Topic FAI:title="Data Compression"/>
			<FAI:Topic FAI:title="Performance Measurement"/>
			<FAI:Topic FAI:title="Quality Control"/>
			<FAI:Topic FAI:title="Advanced Packages"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Pattern Matching with Regular Expressions">
			<FAI:Topic FAI:title="Matching A String Pattern"/>
			<FAI:Topic FAI:title="Pattern Matching Using RE&apos;s"/>
			<FAI:Topic FAI:title="Common Pattern Matching Characters"/>
			<FAI:Topic FAI:title="Common RE Patterns"/>
			<FAI:Topic FAI:title="RE Modifiers"/>
			<FAI:Topic FAI:title="Extended RE Characters"/>
			<FAI:Topic FAI:title="Common Escape Characters"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="CGI">
			<FAI:Topic FAI:title="Isn't Perl the de facto CGI Lanuage? "/>
			<FAI:Topic FAI:title="CGI Client/Server Flow"/>
			<FAI:Topic FAI:title="Initiating a CGI Program"/>
			<FAI:Topic FAI:title="URL Arguments - Anchor"/>
			<FAI:Topic FAI:title="HTML Form - Input Commands"/>
			<FAI:Topic FAI:title="HTML Form - Code"/>
			<FAI:Topic FAI:title="POST Request Methods"/>
			<FAI:Topic FAI:title="GET Request Methods"/>
			<FAI:Topic FAI:title="Environment Information"/>
			<FAI:Topic FAI:title="The CGI Module"/>
			<FAI:Topic FAI:title="Using the CGI Module"/>
			<FAI:Topic FAI:title="Generating an HTML Response"/>
			<FAI:Topic FAI:title="HTML Content Methods"/>
			<FAI:Topic FAI:title="CGI Module Example"/>
			<FAI:Topic FAI:title="Troubleshooting CGI Scripts"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Database Application Program Interface (DB-API)">
			<FAI:Topic FAI:title="The DB-API 2.0 Database Module"/>
			<FAI:Topic FAI:title="DB-API Synopsis and Documentation "/>
			<FAI:Topic FAI:title="pyodbc DB-API module for ODBC"/>
			<FAI:Topic FAI:title="pyodbc Synopsis and Documentation"/>
			<FAI:Topic FAI:title="ODBC Setup "/>
			<FAI:Topic FAI:title="ODBC Create Table Example "/>
			<FAI:Topic FAI:title="ODBC Select Example "/>
			<FAI:Topic FAI:title="ODBC Select Column Example "/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Cookies">
			<FAI:Topic FAI:title="The Cookie Object"/>
			<FAI:Topic FAI:title="Setting a Cookie"/>
			<FAI:Topic FAI:title="Retrieving a Cookie"/>
			<FAI:Topic FAI:title="Other Considerations"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Sessions">
			<FAI:Topic FAI:title="Cookie Based SID"/>
			<FAI:Topic FAI:title="Query String SID"/>
			<FAI:Topic FAI:title="Hidden Field SID"/>
			<FAI:Topic FAI:title="The shelve module"/>
			<FAI:Topic FAI:title="Cookie and Shelve"/>
			<FAI:Topic FAI:title="A Session Class"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="Advanced Standard Library Use">
			<FAI:Topic FAI:title="Summary of the Many Categories"/>
			<FAI:Topic FAI:title="Output Formatting"/>
			<FAI:Topic FAI:title="Templating"/>
			<FAI:Topic FAI:title="Working with Binary Data Record Layouts"/>
			<FAI:Topic FAI:title="Multi-threading"/>
			<FAI:Topic FAI:title="Logging"/>
			<FAI:Topic FAI:title="Weak References"/>
			<FAI:Topic FAI:title="Tools for Working with Lists"/>
			<FAI:Topic FAI:title="Decimal Floating Point Arithmetic"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="HTML Processing">
			<FAI:Topic FAI:title="Purpose"/>
			<FAI:Topic FAI:title="The sgmllib.py Module"/>
			<FAI:Topic FAI:title="Extracting Data from HTML Documents"/>
			<FAI:Topic FAI:title="The BaseHTMLProcessor.py Module"/>
			<FAI:Topic FAI:title="locals and globals"/>
			<FAI:Topic FAI:title="Dictionary-based String Formatting"/>
			<FAI:Topic FAI:title="Quoting Attribute Values"/>
			<FAI:Topic FAI:title="The dialect.py Module"/>
		</FAI:SuperTopic>
		<FAI:SuperTopic FAI:title="XML Processing">
			<FAI:Topic FAI:title="SAX vs. DOM"/>
			<FAI:Topic FAI:title="Packages"/>
			<FAI:Topic FAI:title="Parsing XML"/>
			<FAI:Topic FAI:title="Unicode"/>
			<FAI:Topic FAI:title="Searching for Elements"/>
			<FAI:Topic FAI:title="Accessing Element Attributes"/>
			<FAI:Topic FAI:title="Abstracting Input Sources"/>
			<FAI:Topic FAI:title="Standard Input, Output, and Error"/>
			<FAI:Topic FAI:title="Caching Node Lookups"/>
			<FAI:Topic FAI:title="Finding Direct Children of a Node"/>
			<FAI:Topic FAI:title="Creating Separate Handlers by Node Type"/>
			<FAI:Topic FAI:title="Handling Command-Line Arguments"/>
		</FAI:SuperTopic>
	</FAI:TopicList>
</FAI:CourseOutline>
