• +353-1-416-8900(GMT OFFICE HOURS)
  • 1-800-526-8630(US/CAN TOLL FREE)
  • 1-917-300-0470(EST OFFICE HOURS)
Web Applications Developer Training Product Image

Web Applications Developer Training

  • ID: 2164591
  • January 2012
  • Region: Global
  • 161 Hours
  • Webucator

Whether you’re new to web development or want to enhance your skills, this program will give you the knowledge you need to create dynamic database-driven websites using the latest technologies. You’ll master basic HTML (the core technology behind almost all websites), learn CSS for designing pages, and discover how to make your pages more dynamic with JavaScript. In addition, you’ll learn the fundamentals of PHP, SQL, XML, and Ajax. You’ll also explore HTML5, the newest version of HTML, putting you on the cutting edge of web development.

Once you’ve successfully completed this program, you’ll be prepared to enter the job market where Web Applications Developers are in high demand and earn rewarding salaries.

This class is hands-on and interactive, with exercises, presentations and readings to ensure students stay engaged and learn the material presented.

Approx. 161 hours

This course is valid for One Year after purchase.

For information about Technical Requirements, please contact us

A Quick Overview of Web Development
- Client-side Programming
- Server-side Programming

Introduction to HTML
- Getting Started
- A Simple HTML Document
- The HTML Skeleton
- HTML Elements
- XHTML vs. HTML
- Special Characters
- lang and xml:lang

Paragraphs, Headings and Text
- Paragraphs
- Breaks and Horizontal Rules
- Quoted Text
- Preformatted Text
- Phrase Elements
- Formatting Elements
- Documenting Changes

HTML Links
- Text Links
- Absolute vs. Relative Paths
- Targeting New Windows
- Email Links
- Anchors
- The title Attribute

HTML Images
- Inserting Images
- Image Links

HTML Lists
- Unordered Lists
- Ordered Lists
- Definition Lists

HTML Tables
- Creating Tables
- Attributes
- Merging Cells

HTML Forms
- How HTML Forms Work
- The Tag
- Form Elements
- Creating a Registration Form
- Adding Checkboxes and Radio Buttons
- Adding a Select Menu and a Textarea

Crash Course in CSS
- Benefits of Cascading Style Sheets
- CSS Rules
- Selectors
- Precedence of Selectors
- The Cascade
- Creating an Embedded Style Sheet
- Creating an External Style Sheet
- Adding Inline Styles
- Media Types
- and
- Divs and Spans
- Units of Measurement
- The Inherit Value
- @import

CSS Fonts
- Font - the old way
- Font-family
- Font-size
- Font Family and Font Size
- Font-style
- Font-variant
- Font-weight
- Font Style, Font Variant and Font Weight

CSS Text
- Letter-spacing
- Word-spacing
- Line-height
- Text-align
- Text-decoration
- Text-indent
- Text-transform
- Vertical-align
- White-space
- Text Properties

Colors and Backgrounds
- About Color Values
- Color
- Background-color
- Background-image
- Colors and Backgrounds

Custom Cursors
- Cursor Styles
- Custom Cursors
- Using Custom Cursors

CSS and Links
- Pseudo-classes
- CSS Button Links
- Modifying Links

Borders, Margins and Padding
- Getting Started
- Borders
- Margin
- Padding
- Borders, Margin and Padding

Styling Tables with CSS
- A Review of HTML Table Syntax
- Styling a table

Positioning and Visibility
- Element Flow
- Position
- Positioning
- Z-index
- Display
- Visibility
- Float
- Clear

Advanced CSS Page Layout
- Resetting Styles
- Full Width Layouts
-- Two-column
-- Three-column
- Positioning the Headings
- Fixed Width Layouts
-- Two-column
-- Three-column
- A Recommendation on Positioning
-- Other Methods of Layout
- Laying out a Page - The power of float

CSS Shorthand Properties
- What is CSS Shorthand?
-- List of CSS Shorthand
- Shorthand Margins and Padding
- Shorthand Border and Outline
- Shorthand Backgrounds
- Shorthand Fonts
- Shorthand Lists
- Using Shorthand

CSS Lists as Hierarchical Navigation
- Using Lists as Vertical Navigation
- Using Nested Lists as Navigation
- Using Lists as Horizontal Navigation
- Using Lists as Drop-Down or Fly-Out Navigation
- Using a List to Create a Navigation Menu

CSS Background Tricks
- The State of Rounded Corner Boxes
- Fixed-width Rounded Corner Boxes
- Relative-width Rounded Corner Boxes
- "Mountaintop" Corner Boxes
- Tabbed Navigation
- Drop Shadows
- Replacing Text with an Image
- Using Backgrounds

Laying out and Styling Forms with CSS
- Laying out the Questions
- Creating the Form
- Reset Revisited
- Styling the Form
- Expanding the Form

CSS Best Practices
- Review some of recommended CSS Best practices

Browser-compatibility Issues
- Quirks Mode
- Internet Explorer Conditional Statements
- Common Browser Bugs / Issues
- Fixing the Box Model Bug

JavaScript Basics
- The Name "JavaScript"
- The HTML DOM
- JavaScript Syntax
-- Basic Rules
-- Dot Notation
-- Square Bracket Notation
- Where Is JavaScript Code Written?
- JavaScript Objects, Methods and Properties
-- Methods
-- Properties
-- The Implicit window Object
-- The getElementById() Method
- Event Handlers

Variables, Arrays and Operators
- JavaScript Variables
-- A Loosely-typed Language
-- Storing User-Entered Data
- Arrays
-- Associative Arrays
-- Array Properties and Methods
- JavaScript Operators

JavaScript Functions
- Built-in Functions
-- Number(object)
-- String(object)
-- isNaN(object)
-- parseFloat() and parseInt()
- Built-in Functions vs. Methods
- User-defined Functions
-- Function Syntax
-- Passing Values to Functions
-- A Note on Variable Scope
-- Returning Values from Functions

Built-In JavaScript Objects
- String
- Math
- Date
- typeof Operator

Conditionals and Loops
- Conditionals
-- if - else if - else Conditions
-- Switch / Case
Loops
-- while Loop Syntax
-- do...while Loop Syntax
-- for Loop Syntax
-- for...in Loop Syntax

JavaScript Form Validation
- Accessing Form Data
- Basics of Form Validation
-- The this Object
-- Cleaner Validation
- Validating Radio Buttons
- Validating Checkboxes
- Validating Select Menus
- Focus, Blur, and Change Events
-- Focus and Blur
-- Change
- Validating Textareas

Images, Windows and Timers
- Image Rollovers
- Preloading Images
- Creating a Slide Show
- Windows
- Timers
- Popup Timed Slide Show

Navigator, History, and Location Objects
- The navigator Object
- Feature Detection
- history Object
- location Object
- Creating a Simple Quiz

Quick JavaScript Recap
- Primitive data types
-- Null
-- Undefined
-- Boolean
-- Number
-- String
- Native Types
-- Date
-- Array
-- Object
-- Regular Expressions
- Functions
- The DOM
-- The DOM is not JavaScript
-- JavaScript is not the DOM
-- The window object
- The XMLHttpRequest object
- JSON

Advanced Techniques
- Optional Function Arguments
- Truthy and Falsy
- Default Operator
-- Default Operator Gotcha!
- Functions Passed as Arguments
- Anonymous Functions
- Inner Functions
- Observing and Capturing Events
- The eval() Function
- Variable Scope
- Error Handling
-- Runtime Errors
- The delete Operator

Regular Expressions
- Getting Started
-- JavaScript's Regular Expression Methods
-- Flags
-- String Methods
- Regular Expression Syntax
-- Start and End ( ^ $ )
-- Number of Occurrences ( ? + * {} )
-- Common Characters ( . \d \D \w \W \s \S )
-- Grouping ( [] )
-- Negation ( ^ )
-- Subpatterns ( () )
-- Alternatives ( | )
-- Escape Character ( \ )
- Backreferences
- Form Validation with Regular Expressions
- Cleaning Up Form Entries

The HTML Document Object Model
- innerHTML
- Accessing Element Nodes
-- getElementById()
-- getElementsByTagName()
-- getElementsByClassName()
-- querySelectorAll()
-- querySelector()
- Accessing Element and Text Nodes Hierarchically
- Attaching Events
-- Event Propagation: Capturing and Bubbling
-- Detaching Events
- Accessing Attribute Nodes
-- getAttribute()
-- attributes[]
- Accessing Nodes by Type, Name or Value
-- nodeType
-- nodeName
- Removing Nodes from the DOM
-- DOM Differences: The Whitespace Problem
- Creating New Nodes
- Identifying the Target of an Event

Dynamic Forms
- Jump Menus
-- The options[] Collection
-- The selectedIndex Property
-- Disabling Form Elements
- Adding Options to a Select Menu
- Cascading Select Menus
-- Making the Code Modular
- Creating a JavaScript Timer
- A Sample Quiz Tool

Dynamic HTML
- Introduction
- Accessing and Modifying Styles
- JavaScript style Properties
- Hiding and Showing Elements
- Manipulating Tables
- Dynamically Changing Dimensions
-- Creating a Timed Slider
- Positioning Elements Dynamically
-- Creating a Different Timed Slider
- Changing the Z-Index
- A Note on JavaScript Frameworks

PHP Basics
- How PHP Works
- The php.ini File
- Basic PHP Syntax
-- PHP Tags
-- PHP Statements and Whitespace
-- Comments
-- PHP Functions
-- Hello World!
- Variables
-- Variable Types
-- Variable Names (Identifiers
-- Type Strength
-- Hello Variables!
-- Variable Scope
-- Superglobals
-- Constants
-- Variable-Testing and Manipulation Functions
- First PHP Script
- PHP Operators
- Creating Dynamic Pages
-- Single Quotes vs. Double Quotes
-- Passing Variables on the URL
- Passing Variables via the Query String

- Flow Control
- Conditional Processing
-- If Conditions
- Working with Conditions
- Loops
-- while
-- do...while
-- for
-- break and continue
- Working with Loops

Arrays
- Enumerated Arrays
-- Initializing Arrays
-- Appending to an Array
-- Reading from Arrays
-- Looping through Arrays
- Working with Enumerated Arrays
- Associative Arrays
-- Initializing Associative Arrays
-- Reading from Associative Arrays
-- Looping through Associative Arrays
-- Superglobal Arrays
- Working with Associative Arrays
- Two-dimensional Arrays
-- Reading from Two-dimensional Arrays
-- Looping through Two-dimensional Arrays
- Array Manipulation Functions

PHP and HTML Forms
- HTML Forms
-- How HTML Forms Work
-- A Sample HTML Form
-- Form Variables
- Processing Form Input

String Manipulation
- Formatting Strings
-- Concatenation
-- String Manipulation Functions
-- Examples of String Functions
- Working with String Manipulation Functions
- Magic Quotes
-- magic_quotes_gpc
-- magic_quotes_runtime
-- Recommendation on Magic Quotes

Reusing Code and Writing Functions
- Including Files
-- require
-- require_once
-- auto_prepend_file and auto_append_file
- Adding a Header and Footer
- User Functions
-- Defining and Calling Functions
-- Default Values
-- Variable Scope
-- By Reference vs. By Value
- Form Processing
-- Code Organization
- Form Validation and Presentation Functions

Managing Data
- Querying a Database
-- mysqli() Overview
-- mysqli Methods and Properties
-- Inserting and Updating Records
-- mysqli Prepared Statements
- Inserting Records

MDB2
- Advantages and Disadvantages of MDB2
-- Why use a database abstraction layer?
-- When not to use a database abstraction layer?
- Using MDB2
- Creating a Customer Report

Authentication with PHP and SQL
- A Database-less Login Form
- Authenticating Users

Regular Expressions
- Perl-compatible Regular Expression Functions
-- preg_match()
-- preg_replace()
-- Regular Expression Tester
- Regular Expression Syntax
-- Start and End ( ^ $ )
-- Number of Occurrences ( ? + * {} )
-- Common Characters ( . \d \D \w \W \s \S )
-- Grouping ( [] )
-- Negation ( ^ )
-- Subpatterns ( () )
-- Alternatives ( | )
-- Escape Character ( \ )
- Form Validation Functions with Regular Expressions

Session Control and Cookies
- Sessions
-- Configuring Sessions
-- Session Functions
- Cookies
- Authentication with Session Control

Sending Email with PHP
- mail()
-- Shortcomings of mail()
- PHPMailer
- Sending a Password by Email

File System Management
- Opening a File
-- fopen()
- Reading from a File
-- fgets()
- Writing to a File
-- fwrite()
- Writing to a File
- File Locking
-- flock()
- Uploading Files via an HTML Form
- Getting File Information
- More File Functions
- Directory Functions
-- Getting a Directory Listing
- Creating a Resume Management Page

Relational Database Basics
- Brief History of SQL
- Relational Databases
-- Tables
-- Rows
-- Columns
-- Relationships
-- Datatypes
-- Primary Keys
-- Foreign Keys
-- Relational Database Management System
- Popular Databases
-- Commercial Databases
-- Popular Open Source Databases
-- Valid Object References
- SQL Statements
-- Database Manipulation Language (DML)
-- Database Definition Language (DDL)
-- Database Control Language (DCL)

Simple SELECTs
- Introduction to the Northwind Database
- Some Basics
-- Comments
-- Whitespace and Semi-colons
-- Case Sensitivity
- SELECTing All Columns in All Rows
- Exploring the Tables
- SELECTing Specific Columns
- Sorting Records
-- Sorting By a Single Column
-- Sorting By Multiple Columns
-- Sorting By Column Position
-- Ascending and Descending Sorts
- The WHERE Clause and Operator Symbols
-- Checking for Equality
-- Checking for Inequality
-- Checking for Greater or Less Than
-- Checking for NULL
-- WHERE and ORDER BY
- Using the WHERE clause to check for equality or inequality
- Using the WHERE clause to check for greater or less than
- Checking for NULL
- Using WHERE and ORDER BY Together
- The WHERE Clause and Operator Words
-- The BETWEEN Operator
-- The IN Operator
-- The LIKE Operator
-- The NOT Operator
- More SELECTs with WHERE
- Checking Multiple Conditions
-- AND
-- OR
-- Order of Evaluation
- Writing SELECTs with Multiple Conditions

Advanced SELECTs
- Calculated Fields
-- Concatenation
-- Mathematical Calculations
-- Aliases
- Calculating Fields
- Aggregate Functions and Grouping
-- Aggregate Functions
-- Grouping Data
-- Selecting Distinct Records
- Working with Aggregate Functions
- Built-in Data Manipulation Functions
-- Common Math Functions
-- Common String Functions
-- Common Date Functions
- Data Manipulation Functions

Subqueries, Joins and Unions
- Subqueries
- Joins
-- Table Aliases
-- Multi-table Joins
- Using Joins
- Outer Joins
- Unions
-- UNION ALL
-- UNION Rules
- Working with Unions

If time allows, one or more of the following may be covered:
- Conditional Processing with CASE
- INSERT, UPDATE, DELETE
- Student Challenges - Design your own reports

XML Basics
- What is XML?
- XML Benefits
-- XML Holds Data, Nothing More
-- XML Separates Structure from Formatting
-- XML Promotes Data Sharing
-- XML is Human-Readable
-- XML is Free
- XML in Practice
-- Content Management
-- Web Services
-- RDF / RSS Feeds
- XML Documents
-- The Prolog
-- Elements
-- Attributes
-- CDATA
-- Whitespace
-- XML Syntax Rules
-- Special Characters
- Creating a Simple XML File

Quick Introduction to XHTML
- XHTML vs. HTML
- The DOCTYPE Declaration
-- XHTML Strict
-- XHTML Transitional
-- XHTML Frameset
- The Document Element
- A Sample XHTML Document

DTDs
- Well-formed vs. Valid
- The Purpose of DTDs
- Creating DTDs
-- The Document Element
-- Other Elements
-- Choice of Elements
-- Empty Elements
-- Mixed Content
-- Location of Modifier
-- Using Parentheses for Complex Declarations
-- Declaring Attributes
- Validating an XML Document with a DTD

XML Schema Basics
- The Purpose of XML Schema
- The Power of XML Schema
- A First Look
-- A Simple XML Schema
- Validating an XML Instance Document

Simple-Type Elements
- Overview
- Built-in Simple Types
-- 19 Primitive Data Types
-- Built-in Derived Data Types
-- Defining a Simple-type Element
- User-derived Simple Types
-- Applying Facets
-- Controlling Length
-- Specifying Patterns
-- Working with Numbers
-- Enumerations
-- Whitespace-handling
- Specifying Element Type Locally
- Nonatomic Types
-- Lists
-- Unions
- Declaring Global Simple-Type Elements
-- Global vs. Local Simple-Type Elements
- Default Values
- Fixed Values
- Nil Values

XSLT Basics
- eXtensible Stylesheet Language
- An XSLT Stylesheet
-- xsl:template
-- xsl:value-of
-- Whitespace and xsl:text
- Output Types
-- Text
-- XML
-- HTML
- Elements and Attributes
-- xsl:element
-- xsl:attribute
-- Attributes and Curly Brackets

Ajax Basics
- The Purpose of Ajax
-- Traditional Web Application
-- An Ajax Web Application
- The XMLHttpRequest Object
-- Using an XMLHttpRequest Object
-- Handling the Response
- The Callback Function

Passing Data
- XML
-- Creating an addChild() Function
- Dynamic Tables
- JSON
- Review of Object Literals
-- Arrays
-- Objects
-- Arrays in Objects
-- Objects in Arrays
- Back to JSON
-- JSON Syntax
-- JSON Parsers
- JSON Advantages and Disadvantages

Ajax Applications
- Login Form
- Quick Lookup Form
- Preloaded Data
-- Ajax Slideshow
-- Navigable Tables

XSLT Transformations with JavaScript
- XSLT
-- Basic XSLT
- XSLT in the Browser
-- The Mozilla Method
-- The IE Method
- Advantages and Disadvantages of XSLT in Ajax Applications

Ajax/JavaScript Frameworks
- The Purpose of Frameworks
-- Choosing a Framework
- Dojo
-- Downloading Dojo
-- Using Dojo for Ajax
- Prototype
-- Downloading Prototype
-- Using Prototype for Ajax
- Other Popular Frameworks
-- Other Frameworks

More Ajax Applications
- Inline Editing
-- The contenteditable Attribute
- Detailed Information on Demand
- Autologout
- Autocompletion

Laying out a Page with HTML5
- Page Structure
-- Laying out a Page with HTML 4 - the "old" way
-- Laying out a Page with HTML5
- New HTML5 Structural Tags
- Page Simplification

HTML5 - How We Got Here
- The Problems HTML 4 Addresses
- The Problems XHTML Addresses
- The New More Flexible Approach of HTML5 - Paving the Cowpaths
- New Features of HTML5
-- HTML5 and JavaScript
-- Additional Changes
-- Modernizr
- The HTML5 Spec(s)
- Current State of Browser Support

Sections and Articles
- The section Tag
-- The HTML 4 Way
-- The HTML5 Way
-- Display of HTML5 Structural Elements
- The article Tag
- Outlining
-- Sectioning
- Accessibility

HTML5 Audio and Video
- Supported Media Types
- The audio Element
-- Audio Formats
-- Multiple Sources
-- Audio Tag Attributes
-- Getting and Creating Audio Files
- The video Element
-- Video Tag Attributes
-- Creating and Converting Video Files
- Accessibility
- Scripting Media Elements
- Dealing with Non-Supporting Browsers
-- Graceful Degradation

HTML5 Forms
- Modernizr
- New Input Types
-- search
-- tel
-- url and email
-- date/time input types
-- number
-- range
-- min, max, and step attributes
-- color
- HTML5 New Form Attributes
-- autocomplete
-- novalidate
- Some Other New Form Field Attributes
-- required
-- placeholder
-- autofocus
-- autocomplete
-- form
-- pattern
- New Form Elements
-- datalist
-- progress and meter

HTML5 Web Storage
- Overview of HTML5 Web Storage
- Web Storage
-- Browser Support
-- Local Storage
-- Session Storage
-- Prefixing your Keys
- Other Storage Methods
-- Web Database Storage
-- Indexed Database API

HTML5 Canvas
- Getting Started with Canvas
-- Context
- Drawing Lines
-- Multiple Sub-Paths
-- The Path Drawing Process
-- The fill() Method
- Color and Transparency
- Rectangles
- Circles and Arcs
-- Radians
- Quadratic and Bézier Curves
-- Practice
- Images
-- drawImage() - Basic
-- drawImage() - Sprites
- Text
-- Text Properties

Integrated APIs
- Offline Application API
-- Cache Manifest File
-- The HTML File
-- Managing ApplicationCache with JavaScript
-- A Sample Application
- Drag and Drop API

Note: Product cover images may vary from those shown

RELATED PRODUCTS

Our Clients

Our clients' logos