{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} {\f69\froman\fcharset238\fprq2 Times New Roman CE;}{\f70\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f72\froman\fcharset161\fprq2 Times New Roman Greek;}{\f73\froman\fcharset162\fprq2 Times New Roman Tur;} {\f74\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f75\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f76\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f77\fswiss\fcharset238\fprq2 Arial CE;}{\f78\fswiss\fcharset204\fprq2 Arial Cyr;} {\f80\fswiss\fcharset161\fprq2 Arial Greek;}{\f81\fswiss\fcharset162\fprq2 Arial Tur;}{\f82\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f83\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f84\fswiss\fcharset186\fprq2 Arial Baltic;}} {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\title JavaScript Programming}{\author Joy Insinna}{\operator Joy Insinna}{\creatim\yr2002\mo10\dy25\hr14\min55} {\revtim\yr2002\mo10\dy25\hr14\min55}{\version2}{\edmins0}{\nofpages3}{\nofwords731}{\nofchars4172}{\*\company elementk}{\nofcharsws5123}{\vern8247}}\margl1440\margr1440 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}} {\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}} {\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9 \pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1\fs28\cf1 JavaScript Programming \par \par }{\b\f1\cf1 Course specifications \par }{\f1\fs20\cf1 Course number: 077 921 \par Software version number: 4.x+ \par Course length: 3 days \par \par }{\b\f1\cf1 Hardware/software required to run this course \par }{\f1\fs20\cf1 To complete the exercises and labs in this course, you will need both Internet Explorer and Navigator installed. Computers should have sufficient memory and hard-disk space to run both browsers simultaneously. We recommend at least 32 MB of RAM and 200 MB disk space (to hold the browsers). The course was written to run with Internet Explorer 4.0 and newer and Navigator 4.04 and newer. Use the latest versions available. Access to the Internet is not required during class. However, \'93field trips\'94 to selected web sites, noted in places throughout the course, would require such access. See your reference manual for hardware considerations that apply to your specific hardware setup. \par \par }{\b\f1\cf1 Course description \par \par }{\b\f1\fs20\cf1 Overview:}{\f1\fs20\cf1 Students will learn how to program by using JavaScript 1.3. \par \par }{\b\f1\fs20\cf1 Prerequisites:}{\f1\fs20\cf1 }{\i\f1\fs20\cf1 HTML Programming: Level 1 }{\f1\fs20\cf1 and a strong familiarity with using the Internet or equivalent knowledge. \par \par }{\b\f1\fs20\cf1 Delivery method:}{\f1\fs20\cf1 Instructor-led, group-paced, classroom-delivery learning model with structured hands-on activities. \par \par }{\b\f1\fs20\cf1 Benefits:}{\f1\fs20\cf1 Students will learn how to write JavaScript programs that use the latest language techniqu es (version 1.3). Students will also learn how to write programs that are compatible with previous versions of the language and are cross-browser compatible. \par \par }{\b\f1\fs20\cf1 Target student:}{\f1\fs20\cf1 Students enrolling in this course should have a strong understanding of HTML prog ramming and should have a basic familiarity with JavaScript. They should have examined scripts written by others and have implemented other people\rquote s scripts on their web pages. This is a serious programming course for those students who want to gain a full understanding of this powerful programming language. \par \par }{\b\f1\fs20\cf1 What's next:}{\f1\fs20\cf1 }{\i\f1\fs20\cf1 JavaScript Programming}{\f1\fs20\cf1 is the first course in this series.}{\i\f1\fs20\cf1 Advanced JavaScript Programming}{\f1\fs20\cf1 , the next course in this series, teaches students advanced language components and advanced programming techniques. \par \page \par }{\b\f1\fs28\cf1 JavaScript Programming \par \par }{\b\f1\cf1 Performance-based objectives \par }{\f1\fs20\cf1 Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to: \par \par }\pard \ql \fi-360\li1080\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin1080\itap0 {\f1\fs20\cf1 *\tab List the JavaScript syntax rules and implement good coding practices. \par *\tab List the data and variable types that JavaScript supports, use the many control statements available in JavaScript, and create and use functions. \par *\tab Describe object characteristics, use objects, instantiate objects, and create custom objects. \par *\tab Describe the purpose of the Document object and use its properties, methods, and event handlers. \par *\tab Script with frames in mind. \par *\tab Describe the purpose of the Form object and use its properties, methods, and event handlers to read and write to HTML forms. \par *\tab Choose a general process for validating user input into web forms. \par *\tab Validate user input into HTML forms including testing for required fields, numeric data and numeric data within a range of values specified, and string data. \par *\tab Describe the purpose of the Date object, instantiate and use instances of the Date object to create clocks, count-down timers, and perform date math. \par *\tab Describe the purpose of the Math object and use its constants and methods to perform mathematical operations. \par *\tab Characterize the compatibility landscape and choose between the various techniques for dealing with potential incompatibilities. Detect browsers in order to create code that works around platform incompatibilities. \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\f1\fs20\cf1 \page \par }{\b\f1\fs28\cf1 JavaScript Programming \par \par }{\b\f1\cf1 Course content \par \par }{\b\f1\fs20\cf1 Lesson 1: Getting Started with JavaScript \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 JavaScript Overview \par JavaScript Programming Overview \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 2: JavaScript Building Blocks\emdash Variables and Operators \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 Variables and Data Types Overview \par Using Variables and Data \par Operators \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 3: JavaScript Building Blocks\emdash Control Statements \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 Controlling the flow \endash JavaScript Control Statements \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 4: JavaScript Building Blocks\emdash Functions and Objects \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 Functions \par Objects \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 5: The Window Object \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 The Window Object \par Dialog Boxes \par Status Bar Messages \par Window Manipulations \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 6: The Document Object \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 The Document Object \par Writing to Documents \par Dynamic Documents \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 7: Working with Frames \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 HTML Frames Review \par Scripting for Frames \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 8: Working with Forms and Forms-based Data \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 The Form Object \par Working with Form Elements and Their Properties \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 9: Validating Form Data \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 A General Approach \par Testing for Required Fields \par Validating Numeric Data \par Validating String Data \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 10: Dates and Math \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 Overview of the Date Object \par Using and manipulating Dates \par Overview of the Math Object \par Doing Math with JavaScript \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\fs20\cf1 Lesson 11: Introduction to Cross-browser Compatibility \par }\pard \ql \li720\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\cf1 Examining the Compatibility Landscape \par Detecting Browser and Platforms \par \par }\pard \ql \li360\ri0\sl240\slmult0\widctlpar\faauto\rin0\lin360\itap0 {\b\f1\cf1 Additional information: }{\f1\fs20\cf1 This course teaches cross-browser p rogramming techniques, and thus requires both Internet Explorer and Navigator to be installed. Students will not be able to complete some exercises if they do not have access to both browsers. \par \par }\pard \ql \li0\ri0\sl240\slmult0\widctlpar\tx2160\faauto\rin0\lin0\itap0 {\f1\fs20\cf1 \par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 { \par }}