<?xml version="1.0" encoding="UTF-8"?>
<?altova_sps ClassInfo.sps?>
<?xml-stylesheet type="text/xsl" href="classOutlineTemplate.xsl"?>

<courses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="classInfo_Final.xsd">
	<class>
		<classInfo>
			<classTitle>JavaScript Programming</classTitle>
			<softwareUsed>
				<software url="http://www.textpad.com/download/index.html" icon="../images/softwareIcons/jsICON.gif">Any Text Editor</software>
				<software>Any Web Browser</software>
			</softwareUsed>
			<swVersions>
				<version>5.0 +</version>
			</swVersions>
			<levels>
				<level>1</level>
			</levels>
			<duration>
				<hours>7</hours>
				<days>2</days>
			</duration>
			<courseCode partner="ax">jsc1</courseCode>
			<courseDescription>After a brief lull in popularity, JavaScript is once again a sought-after skill. It is currently behind the power of AJAX and DHTML and is frequently used in embedded devices. JavaScript has long been offered as an Introduction to Programming class because of its relative difficulty in comparison to full-blown object-oriented programming languages. Our JavaScript Programming class is designed to introduce the student to programming concepts that enhance web pages and provide an excellent foundation for beginning a career in programming. Students will learn the fundamentals of the language including its syntax and rules. See the objectives below for a complete list of topics. </courseDescription>
		</classInfo>
		<hwRequirements>
			<requirement>A Pentium-class machine with a minimum processor speed of 233 MHz.</requirement>
			<requirement>64 MB of Ram</requirement>
			<requirement>A connection to the Internet</requirement>
			<requirement>A monitor set to 800 x 600 pizel resolution and a minimum of 256 colors (16-bit color perferred)</requirement>
			<requirement>A powerPC, G3, or G4 with a minimum processor speed of 266 MHz.</requirement>
			<requirement>64 MB of RAM</requirement>
			<requirement>A connection to the Internet</requirement>
			<requirement>A monitor set to 800 x 600 pixel resolution and minimum of 256 colors ( 16-bit color preferred)</requirement>
		</hwRequirements>
		<swRequirements>
			<platformRequirements>
				<requirement>Microsoft Windows XP with Service Pack 2 or higher</requirement>
				<requirement>Macintosh OS X or higher</requirement>
			</platformRequirements>
			<requirement>Microsoft Internet Explorer 6 or higher</requirement>
			<requirement>Netscape 6.2 or Firefox 1.0 or higher</requirement>
			<requirement>An email application</requirement>
		</swRequirements>
		<preRequisites>
			<preReqClass>
				<preReq/>
			</preReqClass>
			<preReq>Basic word processing skills</preReq>
			<preReq>Basic operating system knowledge including navigate the file system, editing text, creating, copying and deleting files.</preReq>
			<preReq>Familiarity with the World Wide Web and Web browsers is helpful.</preReq>
			<preReq>Ability to create web pages.</preReq>
			<preReq>Familiarity with HTML and its syntax.</preReq>
			<preReq>Ability to write Cascading Style Sheets.</preReq>
		</preRequisites>
		<performanceObjectives>
			<objective>Create Simple JavaScript Scripts and interact with browser error-handling</objective>
			<objective>Test JavaScript syntax.</objective>
			<objective>Examine data types and variable types supported by JavaScript.</objective>
			<objective>Test rules governing the creation, use and manimuplation of data types and variables</objective>
			<objective>Test the operators that let you manipulate data.</objective>
			<objective>Write scripts that use control structures.</objective>
			<objective>Create and use functions</objective>
			<objective>Examine object characteristics, use and instantiate objects ad create custom objects.</objective>
			<objective>List window object properties, methods and event handlers.</objective>
			<objective>Create alert, prompt and confirm dialog boxes.</objective>
			<objective>Display and manipulate status bar messages.</objective>
			<objective>Manipulate browser windows, including opening and closing them.</objective>
			<objective>Investigate the Document object, its properties, methods and event handlers.</objective>
			<objective>Enter code to write text to a document loaded in the browser window.</objective>
			<objective>Create dynamic documents.</objective>
			<objective>Investigate the form object, its properties, methods and event handlers.</objective>
			<objective>Read data from and write data to form elements using JavaScript.</objective>
			<objective>Review the properties and methods of the String object.</objective>
			<objective>Use methods of the String object.</objective>
			<objective>Create dynamic text using substring methods.</objective>
			<objective>Build RegExp expressions to test against string values.</objective>
			<objective>Build out the main architecture for the form validation process.</objective>
			<objective>Create the code that tests individual form elements</objective>
			<objective>Create functions that prepare data for validation and display a dynamic validation report.</objective>
			<objective>Write the JavaScript code necessary to validate radio, checkbox and select list objects.</objective>
			<objective>Explore the Date object and its methods.</objective>
			<objective>Explore the Math object and its methods</objective>
			<objective>Perform mathematical operations using the Math objects methods.</objective>
			<objective>Exmaine the compatibility landscape and techniques for dealing with potential incompatibilities.</objective>
			<objective>Detect browsers to work around platform incompatibilities.</objective>
		</performanceObjectives>
		<supplementalMaterials>
			<book/>
			<website/>
		</supplementalMaterials>
		<courseContent>
			<lesson number="1">
				<lessonTitle>Getting Started</lessonTitle>
				<topic>JavaScript Overview</topic>
				<topic>JavaScript Programming Basics</topic>
				<lessonTime>1:15</lessonTime>
			</lesson>
			<lesson number="2">
				<lessonTitle>Variables and Operators</lessonTitle>
				<topic time="">Variables and Data Types</topic>
				<topic time="">Using Variables and Literals</topic>
				<topic time="">Operators</topic>
				<lessonTime>1:50</lessonTime>
			</lesson>
			<lesson number="3">
				<lessonTitle>Control Statements</lessonTitle>
				<topic time="">Controlling the Flow: JavaScript Control Statements</topic>
				<lessonTime>1:30</lessonTime>
			</lesson>
			<lesson number="4">
				<lessonTitle>Functions and Objects</lessonTitle>
				<topic time="">Functions</topic>
				<topic time="">Objects</topic>
				<lessonTime>1:30</lessonTime>
			</lesson>
			<lesson number="5">
				<lessonTitle>The Window Object</lessonTitle>
				<topic time="">The Window Object</topic>
				<topic time="">Dialog Boxes</topic>
				<topic time="">Status Bar Messages</topic>
				<topic time="">Window Manipulations</topic>
				<lessonTime>1:15</lessonTime>
			</lesson>
			<lesson number="6">
				<lessonTitle>The Document Object</lessonTitle>
				<topic time="">The Document Object</topic>
				<topic time="">Writing to Documents</topic>
				<topic time="">Dynamic Documents</topic>
				<lessonTime>1:40</lessonTime>
			</lesson>
			<lesson number="7">
				<lessonTitle>Frames</lessonTitle>
				<topic time="">HTML Frames Review</topic>
				<topic time="">Scripting for Frames</topic>
				<lessonTime>1:15</lessonTime>
			</lesson>
			<lesson number="8">
				<lessonTitle>Forms and Forms-based Data</lessonTitle>
				<topic time="">The Form Object</topic>
				<topic time="">Working With Form Elements and their Properties</topic>
				<lessonTime>2:00</lessonTime>
			</lesson>
			<lesson number="9">
				<lessonTitle>The String and RegExp Objects</lessonTitle>
				<topic time="">The String Object</topic>
				<topic time="">Using String Object Methods to Correct Data Entry Errors</topic>
				<topic time="">Creating Dynamic Effects with Substring Methods</topic>
				<topic time="">The RegExp Object</topic>
				<lessonTime>2:30</lessonTime>
			</lesson>
			<lesson number="10">
				<lessonTitle>Form Validation</lessonTitle>
				<topic time="">Form Validation: A Process</topic>
				<topic time="">Testing Data</topic>
				<topic time="">Preparing Data for Validation and Reporting Results</topic>
				<topic time="">Validing Non-Text Form Objects</topic>
				<lessonTime>1:45</lessonTime>
			</lesson>
			<lesson number="11">
				<lessonTitle>Dates and Math</lessonTitle>
				<topic time="">The Date Object</topic>
				<topic time="">Using and Manipulating Dates</topic>
				<topic time="">The math Object</topic>
				<topic time="">Doing Math with JavaScript</topic>
				<lessonTime>1:45</lessonTime>
			</lesson>
			<lesson number="12">
				<lessonTitle>Cross-Browser Compatibility</lessonTitle>
				<topic time="">Examing the Compatibility Landscape</topic>
				<topic time="">Detecting the Browsers and Platforms</topic>
				<lessonTime>2:15</lessonTime>
			</lesson>
				<nextClass url="../../html/advanced.html">JavaScript Advanced Topics</nextClass>
		</courseContent>
		<courseware>
			<bookTitle>JavaScript Programming</bookTitle>
			<publisher>Element K</publisher>
			<bookNumber>077971</bookNumber>
			<notes/>
			<author>Thomas F. Elston</author>
		</courseware>
	</class>
</courses>
