Programming in HTML5 with JavaScript and CSS3 training course

Course 204805 days

Course OverviewThis course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript programming skills. This course is an entry point into both the Web application and Windows Store apps training paths. The course focuses on using HTML5/CSS3/JavaScript to implement programming logic, define and use variables, perform looping and branching, develop user interfaces, capture and validate user input, store data, and create well-structured applications.The lab scenarios in this course are selected to support and demonstrate the structure of various application scenarios. They are intended to focus on the principals and coding components/structures that are used to establish an HTML5 software application.

AudienceThe students in Course 20480: Programming in HTML5 with JavaScript and CSS3 have 6-12 months of programming experience and who are interested in developing applications using HTML5 with JavaScript and CSS3 (either Windows Store apps for Windows 8 or web applications).This course is intended for students who have the following experience:

Describe how to use jQuery to simplify code that uses many common JavaScript APIs.

Module 4: Creating Forms to Collect Data and Validate User InputThis 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 5: Communicating with a Remote Data SourceThis 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 6: Styling HTML5 by Using CSS3This 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 7: Creating Objects and Methods by Using JavaScriptThis 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 8: Creating Interactive Pages using HTML5 APIsThis 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 9: Adding Offline Support to Web ApplicationsThis 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 10: Implementing an Adaptive User InterfaceThis 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 11: Creating Advanced GraphicsThis 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 12: Animating the User InterfaceThis 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 13: Implementing Real-Time Communications by Using Web SocketsThis 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 14: Creating a Web Worker ProcessThis 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

Providing User Feedback During a Long-Running Process

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.