<?xml version="1.0" standalone="no" ?>

<!--  FAI_JavaScript.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="FAI_JavaScript.xml"
     xmlns:FAI="http://www.fisher-assoc.com/DTDs/FAI_CourseOutline.dtd" >

  <FAI:CourseTitle FAI:level="Introduction"  FAI:code="JavaScript">
    JavaScript Programming
  </FAI:CourseTitle>  
  
  <FAI:CourseCategory>Web</FAI:CourseCategory>
  <FAI:CourseCategory>Javascript</FAI:CourseCategory>

  <FAI:SummaryInfo>

    <FAI:CourseDesc FAI:version="1.0" >
	A comprehensive, hands-on course covering topics 
	required by all web-page designers and programmers.     
    </FAI:CourseDesc>

    <FAI:CourseDuration>
	3 Days
    </FAI:CourseDuration>

    <FAI:CourseAudience>
	Web application developers and web-page designers 
	seeking to integrate client-side interaction into their site.    
    </FAI:CourseAudience>

    <FAI:CourseObjectives>

      <FAI:Objective FAI:desc="Be familiar with Object Oriented Programming using JavaScript" />
      <FAI:Objective FAI:desc="Understand how to access and manipulate documents, windows, forms, and controls" />
      <FAI:Objective FAI:desc="Understand how to write input-validation code for Forms" />
      <FAI:Objective FAI:desc="Understand how to write reusable JavaScript code" />
      <FAI:Objective FAI:desc="Be familiar with using cookies to cache information" />

    </FAI:CourseObjectives>

    <FAI:CourseSetupList>

      <FAI:Setup FAI:desc="Internet Explorer 5+ (or equivalent)"  />

    </FAI:CourseSetupList>    

    <FAI:CourseTextList>

      <FAI:Text FAI:title="Course Workbook" />
      <FAI:Text FAI:title="JavaScript Bible, Goodman, (Wiley)" 
                FAI:link="http://www.amazon.com/JavaScript-Bible-Danny-Goodman/dp/0470069163/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1237816692&amp;sr=1-1" />

    </FAI:CourseTextList>    

    <FAI:CoursePrerequisiteList>
      <FAI:CoursePrerequisite FAI:title="Hypertext Markup Language (HTML)" 
			      FAI:link="FAI_HTML.xml" />
    </FAI:CoursePrerequisiteList>    

  </FAI:SummaryInfo>  

  <FAI:TopicList>

    <FAI:SuperTopic FAI:title="Introduction">

      <FAI:Topic FAI:title="Dynamic HTML" />
      <FAI:Topic FAI:title="What Is JavaScript ?" />
      <FAI:Topic FAI:title="Versions" />
      <FAI:Topic FAI:title="JavaScript Resources" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>                

    <FAI:SuperTopic FAI:title="Embedding JavaScript Within A Page">

      <FAI:Topic FAI:title="Embedding JavaScript In HTML" />
      <FAI:Topic FAI:title="Creating and Using JavaScript Files" />
      <FAI:Topic FAI:title="The NOSCRIPT Tag" />
      <FAI:Topic FAI:title="Writing To The Document" />
      <FAI:Topic FAI:title="Quotation Marks" />
      <FAI:Topic FAI:title="Defining Functions" />
      <FAI:Topic FAI:title="Calling Functions" />
      <FAI:Topic FAI:title="Debugging JavaScript" />
      <FAI:Topic FAI:title="Lab Exercise" />
      
    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Representing Data">

      <FAI:Topic FAI:title="Data Types" />
      <FAI:Topic FAI:title="Representing Literal Data" />
      <FAI:Topic FAI:title="Escape Characters" />
      <FAI:Topic FAI:title="Data Variables" />
      <FAI:Topic FAI:title="String Objects" />
      <FAI:Topic FAI:title="String To Numeric Conversion" />
      <FAI:Topic FAI:title="Numeric To String Conversion" />
      <FAI:Topic FAI:title="Array Objects" />
      <FAI:Topic FAI:title="Array Indexing" />
      <FAI:Topic FAI:title="Manipulating An Array" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>

    <FAI:SuperTopic FAI:title="Expressions and Operators">

      <FAI:Topic FAI:title="Types Of Statements" />
      <FAI:Topic FAI:title="Comments" />
      <FAI:Topic FAI:title="Expressions" />
      <FAI:Topic FAI:title="Assignment Operators" />
      <FAI:Topic FAI:title="Comparison Operators" />
      <FAI:Topic FAI:title="Arithmetic Operators" />
      <FAI:Topic FAI:title="Bitwise Operators" />
      <FAI:Topic FAI:title="Logical Operators" />
      <FAI:Topic FAI:title="String Operators" />
      <FAI:Topic FAI:title="Expression Control Operators" />
      <FAI:Topic FAI:title="Object Operators" />
      <FAI:Topic FAI:title="Defining Functions - Review" />
      <FAI:Topic FAI:title="Calling Functions - Review" />
      <FAI:Topic FAI:title="Parameters vs. Arguments Property" />
      <FAI:Topic FAI:title="Operator Precedence" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Control Statements">

      <FAI:Topic FAI:title="User Interaction" />
      <FAI:Topic FAI:title="Alerting" />
      <FAI:Topic FAI:title="Prompting For Input" />
      <FAI:Topic FAI:title="Getting Input" />
      <FAI:Topic FAI:title="Confirming An Action" />
      <FAI:Topic FAI:title="Flow Control Statements" />
      <FAI:Topic FAI:title="Conditional Execution" />
      <FAI:Topic FAI:title="If ... else Statement" />
      <FAI:Topic FAI:title="Switch Statement" />
      <FAI:Topic FAI:title="While Loop" />
      <FAI:Topic FAI:title="For Loop" />
      <FAI:Topic FAI:title="break and continue Statements" />
      <FAI:Topic FAI:title="for ... in Statement" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="JavaScript Object Model">

      <FAI:Topic FAI:title="JavaScript Objects" />
      <FAI:Topic FAI:title="Using Objects" />
      <FAI:Topic FAI:title="Core Objects" />
      <FAI:Topic FAI:title="Sample Core Object: String" />
      <FAI:Topic FAI:title="Navigator Object" />
      <FAI:Topic FAI:title="Identifying The Browser" />
      <FAI:Topic FAI:title="Which Browser" />
      <FAI:Topic FAI:title="Browser Objects" />
      <FAI:Topic FAI:title="Example: Browser Information" />
      <FAI:Topic FAI:title="Document Object Hierarchy" />
      <FAI:Topic FAI:title="DOM - A Simple View" />
      <FAI:Topic FAI:title="DOM - A Form View" />
      <FAI:Topic FAI:title="Document Objects - Reference" />
      <FAI:Topic FAI:title="Custom Objects" />
      <FAI:Topic FAI:title="Events" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Form Processing">

      <FAI:Topic FAI:title="JavaScript Form Processing" />
      <FAI:Topic FAI:title="Form As Object and Property" />
      <FAI:Topic FAI:title="Form Element as Object and Property" />
      <FAI:Topic FAI:title="Form Element Attribute as Object and Property" />
      <FAI:Topic FAI:title="Example: Expression In Form" />
      <FAI:Topic FAI:title="Same Example: Expression In Function" />
      <FAI:Topic FAI:title="Same Example: Passing Form Argument" />
      <FAI:Topic FAI:title="Example: Element To Element In Form" />
      <FAI:Topic FAI:title="Coding Guidelines" />
      <FAI:Topic FAI:title="Form Objects" />
      <FAI:Topic FAI:title="Button Objects" />
      <FAI:Topic FAI:title="Text Objects" />
      <FAI:Topic FAI:title="Radio and Checkbox Objects" />
      <FAI:Topic FAI:title="Select Object" />
      <FAI:Topic FAI:title="File Upload Object" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Handling Events">

      <FAI:Topic FAI:title="The Event Model" />
      <FAI:Topic FAI:title="Event Sources" />
      <FAI:Topic FAI:title="Event Types / Handlers" />
      <FAI:Topic FAI:title="mouseOver and mouseOut Handler" />
      <FAI:Topic FAI:title="interval and onLoad Handlers" />
      <FAI:Topic FAI:title="Simulating An Event" />
      <FAI:Topic FAI:title="Other Event Handlers" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>                

    <FAI:SuperTopic FAI:title="Core Objects and Functions">

      <FAI:Topic FAI:title="Core Objects" />
      <FAI:Topic FAI:title="Top Level Properties and Functions" />
      <FAI:Topic FAI:title="Example: parseInt" />
      <FAI:Topic FAI:title="Example: eval" />
      <FAI:Topic FAI:title="String Functions" />
      <FAI:Topic FAI:title="HTML Code Generation" />
      <FAI:Topic FAI:title="Array Object" />
      <FAI:Topic FAI:title="Math Object" />
      <FAI:Topic FAI:title="Browser Object Arrays" />
      <FAI:Topic FAI:title="Date Object" />
      <FAI:Topic FAI:title="Date Methods" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Validating Form Input">

      <FAI:Topic FAI:title="Why Data Validation ?" />
      <FAI:Topic FAI:title="Client-Side vs. Server Side" />
      <FAI:Topic FAI:title="When To Validate Data ?" />
      <FAI:Topic FAI:title="Validation Scenario: Has Text" />
      <FAI:Topic FAI:title="Validation Scenario: Mixed Format" />
      <FAI:Topic FAI:title="Why Pattern Matching ?" />
      <FAI:Topic FAI:title="Creating a Regular Expression" />
      <FAI:Topic FAI:title="Common Pattern Matching Symbols" />
      <FAI:Topic FAI:title="Post-Pattern Modifiers" />
      <FAI:Topic FAI:title="Special Escape Pattern Characters" />
      <FAI:Topic FAI:title="Pattern Examples" />
      <FAI:Topic FAI:title="Matching Regular Expressions" />
      <FAI:Topic FAI:title="Validation Scenario: Variable Format" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Document Control">

      <FAI:Topic FAI:title="Image Object" />
      <FAI:Topic FAI:title="Image Selection" />
      <FAI:Topic FAI:title="Image Slide Show" />
      <FAI:Topic FAI:title="Image Roll" />
      <FAI:Topic FAI:title="Multiple Forms" />
      <FAI:Topic FAI:title="Replacing The Current Document" />
      <FAI:Topic FAI:title="Other Document Capabilities" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Window and Frames">

      <FAI:Topic FAI:title="Windows and Frames" />
      <FAI:Topic FAI:title="Opening and Closing Windows" />
      <FAI:Topic FAI:title="Referencing A Window Object" />
      <FAI:Topic FAI:title="Creating a Frame" />
      <FAI:Topic FAI:title="Updating a Frame" />
      <FAI:Topic FAI:title="Referencing a Frame Object" />
      <FAI:Topic FAI:title="Window Object Properties" />
      <FAI:Topic FAI:title="Window Object Methods" />
      <FAI:Topic FAI:title="Window Object Events" />
      <FAI:Topic FAI:title="Handling Major Window Events" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
    <FAI:SuperTopic FAI:title="Advanced Topics">

      <FAI:Topic FAI:title="JavaScript URLs" />
      <FAI:Topic FAI:title="The Status Bar" />
      <FAI:Topic FAI:title="What Is A Cookie ?" />
      <FAI:Topic FAI:title="How Cookies Are Sent" />
      <FAI:Topic FAI:title="Using The Cookie Property" />
      <FAI:Topic FAI:title="Using Cookies With JavaScript" />
      <FAI:Topic FAI:title="Custom Objects" />
      <FAI:Topic FAI:title="Defining A Custom Object Type" />
      <FAI:Topic FAI:title="Using Custom Objects" />
      <FAI:Topic FAI:title="Lab Exercise" />

    </FAI:SuperTopic>
                
  </FAI:TopicList>
 
</FAI:CourseOutline>
 

