Duration
5 days
Outline
Programming in HTML5 with JavaScript and CSS3
Module 1: Introduction to JavaScript
This module provides an introduction to the JavaScript language, and shows how to use JavaScript to add
interactivity to HTML5 pages.
Lessons
- Overview of JavaScript Syntax
- Programming the HTML DOM with JavaScript
- Introduction to jQuery
Lab : Displaying Data and Handling Events by Using JavaScript
- Displaying Data Programmatically
- Handling Events
After completing this module, students will be able to:
- Explain the syntax of JavaScript and describe how to use JavaScript with HTML5.
- Write JavaScript code that manipulates the HTML DOM and handles events.
- Describe how to use jQuery to simplify code that uses many common JavaScript APIs.
Module 2: Creating Forms to Collect Data and Validate User Input
This module describes the new input types available with HTML5, and explains how to create forms to collect and
validate user input by using the new HTML5 attributes and JavaScript code.
Lessons
- Overview of Forms and Input Types
- Validating User Input by Using HTML5 Attributes
- Validating User Input by Using JavaScript
Lab : Creating a Form and Validating User Input
- Creating a Form and Validating User Input by Using HTML5 Attributes
- Validating User Input by Using JavaScript
After completing this module, students will be able to:
- Create forms that use the new HTML5 input types.
- Validate user input and provide feedback by using the new HTML5 attributes.
- Write JavaScript code to validate user input and provide feedback in cases where it is not suitable to use HTML5 attributes
Module 3: Communicating with a Remote Data Source
This module describes how to send and receive data to and from a remote data source by using an XMLHTTPRequest object and by performing jQuery AJAX operations.
Lessons
- Sending and Receiving Data by Using XMLHTTPRequest
- Sending and Receiving Data by Using jQuery AJAX operations
Lab : Communicating with a Remote Data Source
- Retrieving Data
- Serializing and Transmitting Data
- Refactoring the Code by Using jQuery ajax method
After completing this module, students will be able to:
- Serialize, deserialize, send, and receive data by using XMLHTTPRequest objects.
- Simplify code that serializes, deserializes, sends, and receives data by using the jQuery ajax method
Module 4: Styling HTML5 by Using CSS3
This module describes how to style HTML5 pages and elements by using the new features available in CSS3.
Lessons
- Styling Text
- Styling Block Elements
- CSS3 Selectors
- Enhancing Graphical Effects by Using CSS3
Lab : Styling Text and Block Elements using CSS3
- Styling the Navigation Bar
- Styling the Page Header
- Styling the About Page
After completing this module, students will be able to:
- Style text elements on an HTML5 page by using CSS3.
- Apply styling to block elements by using CSS3.
- Use CSS3 selectors to specify the elements to be styled in a Web application.
- Implement graphical effects and transformations by using the new CSS3 properties.
Module 5: Creating Objects and Methods by Using JavaScript
This module explains how to write well-structured and easily-maintainable JavaScript code, and how to apply object-oriented principles to JavaScript code in a Web application.
Lessons
- Writing Well-Structured JavaScript
- Creating Custom Objects
- Extending Objects
Lab : Refining Code for Maintainability and Extensibility
- Inheriting From Objects
- Refactoring Code to Use Objects
After completing this module, students will be able to:
- Describe the benefits of structuring JavaScript code carefully to aid maintainability and extensibility.
- Explain best practices for creating custom objects in JavaScript.
- Describe how to extend custom and native objects to add functionality.
Module 6: Creating Interactive Pages using HTML5 APIs
This module describes how to use some common HTML5 APIs to add interactive features to a Web application. This
module also explains how to debug and profile a Web application.
Lessons
- Interacting with Files
- Incorporating Multimedia
- Reacting to Browser Location and Context
- Debugging and Profiling a Web Application
Lab : Creating Interactive Pages by Using HTML5 APIs
- Incorporating Video
- Incorporating Images
- Using the Geolocation API
After completing this module, students will be able to:
- Use the Drag and Drop, and the File APIs to interact with files in a Web application.
- Incorporate audio and video into a Web application.
- Detect the location of the user running a Web application by using the Geolocation API.
- Explain how to debug and profile a Web application by using the Web Timing API and the Internet Explorer Developer Tools.
Module 7: Adding Offline Support to Web Applications
This module describes how to add offline support to a Web application, to enable the application to continue functioning in a user's browser even if the browser is disconnected from the network.
Lessons
- Reading and Writing Data Locally
- Adding Offline Support by Using the Application Cache
Lab : Adding Offline Support to a Web Application
- Implementing the Application Cache
- Implementing Local Storage
After completing this module, students will be able to:
- Save and retrieve data locally on the user's computer by using the Local Storage API.
- Provide offline support for a Web application by using the Application Cache API.
Module 8: Implementing an Adaptive User Interface
This module describes how to create HTML5 pages that can dynamically detect and adapt to different devices and
form factors.
Lessons
- Supporting Multiple Form Factors
- Creating an Adaptive User Interface
Lab : Implementing an Adaptive User Interface
- Creating a Print-Friendly Stylesheet
- Adapting Page Layout To Fit a Different Form Factor
After completing this module, students will be able to:
- Describe the need to detect device capabilities and react to different form factors in a Web application.
- Create a Web page that can dynamically adapt its layout to match different form factors.
Module 9: Creating Advanced Graphics
This module describes how to create advanced graphics for an HTML5 Web application by using a Canvas element,
and by using Scalable Vector Graphics.
Lessons
- Creating Interactive Graphics by Using Scalable Vector Graphics
- Programmatically Drawing Graphics by Using a Canvas
Lab : Creating Advanced Graphics
- Creating an Interactive Venue Map by Using Scalable Vector Graphics
- Creating a Speaker Badge by Using a Canvas Element
After completing this module, students will be able to:
- Use Scalable Vector Graphics to add interactive graphics to an application.
- Draw complex graphics on an HTML5 Canvas element by using JavaScript code.
Module 10: Animating the User Interface
This module describes how to enhance the user experience in an HTML5 Web application by adding animations.
Lessons
- Applying CSS Transitions
- Transforming Elements
- Applying CSS Key-frame Animations
Lab : Animating User Interface Elements
- Applying Transitions to User Interface Elements
- Applying Key-Frame Animations
After completing this module, students will be able to:
- Apply CSS transitions to elements on an HTML5 page, and write JavaScript code to detect when a transition has occurred.
- Describe the different types of 2D and 3D transitions available with CSS3
- Implement complex animations by using CSS key-frames and JavaScript code.
Module 11: Implementing Real-Time Communications by Using Web Sockets
This module explains how to use Web Sockets to transmit and receive data between an HTML5 Web application and
a server.
Lessons
- Introduction to Web Sockets
- Sending and Receiving Data by Using Web Sockets
Lab : Implementing Real-Time Communications by Using Web Sockets
- Receiving Data from Web Socket
- Sending Data to a Web Socket
- Sending Multiple Types of Messages To or From a Web Socket
After completing this module, students will be able to:
- Explain how Web Sockets work and describe how to send and receive data through a Web Socket.
- Use the Web Socket API with JavaScript to connect to a Web Socket server, send and receive data, and handle the different events that can occur when a message is sent or received.
Module 12: Creating a Web Worker Process
This module describes how to use Web Worker Processes to perform long-running operations asynchronously and
improve the responsiveness of an HTML5 Web application.
Lessons
- Introduction to Web Workers
- Performing Asynchronous Processing by Using a Web Worker
Lab : Creating a Web Worker Process
- Improving Responsiveness by Using a Web Worker
After completing this module, students will be able to:
- Describe the purpose of a Web Worker process, and how it can be used to perform asynchronous processing as well as provide isolation for sensitive operations.
- Use the Web Worker APIs from JavaScript code to create, run, and monitor a Web Worker process.
AngularJS
Module 1 - Introduction
- What is AngularJS?
- The history of AngularJS
- AngularJS and jQuery
Module 2 - Creating an AngularJS Application
- A simple application
- Two way Data Binding
- Defining an AngularJS Module
Module 3 - Controllers
- Definition and Purpose
- Using $scope
- How Angular uses Dependency Injection
- Broadcasting events on the $rootScope and $scope
Overview
- Using AngularJS built-in filters
- Custom filters
- $filter
Module 5 - Directives
- Overview and Purpose
- Teaching the Browser New HTML
- Difference between scope and $scope
- Employing HTML Templates
- Using directives as
- An element
- An Attribute
- A class
- Transclusion using transclude
- Comparing link() and compile()
Overview
- Providers, Factories and Services
- Data sharing between Controllers
- Invoking the $http service
- GET and POST
- $http() function
Overview
- SPA and Page Navigation
- Route parameters - $routeParams
- $location service
Module 8 - Forms
- The AngularJS form Directive
- Using AngularJS Form Validation
- Custom validation
Module 10 - Under the hood
- Digest loop
- $apply
Module 11 - Extending AngularJS
- AngularUI
- UI Bootstrap
Programme scope, delivery arrangements and suitability are confirmed during enquiry.