Mastering JavaScript and jQuery

Our Blogs

Get Course Information

Connect for information with us at

How would you like to learn?*


Mastering JavaScript and jQuery provides an introduction to and experience working with the JavaScript programming language in the environment it’s used in the most: the browser. JavaScript is simple and elegant but is often difficult to work with because it’s so different from the programming languages most developers are used to working with.

This course also covers jQuery and provides practical and hands-on experience with the preferred JavaScript library for building rich web applications. If you are building for the web, learning jQuery will change the way you write JavaScript, working across multiple browsers and platforms.

Working within a dynamic, hands-on learning environment, guided by our expert team, attendees will:

  • Become both familiar with the language and confident enough to work with it in any context
  • Learn enough of the DOM API to bend it to your will
  • Make communication between the browser and your server possible
  • Understand and effectively leverage closures
  • Understand how JavaScript’s object model differs from the model classical object-oriented programming languages
  • Learn what jQuery is and how to add it to your applications
  • Use jQuery to select complex sets of elements from the DOM
  • Develop rich web pages that respond to user interaction
  • Interact with your server-side code using Ajax
  • Explore a wide variety of plugins and learn how to write your own
  • Test your applications to make sure your JavaScript is as solid as the rest of your code

Course Outline

Session: Core JavaScript

Lesson: JavaScript Basics

  • JavaScript Defined
  • Variables and Operators
  • Flow Control and Conditionals

Exercise: JavaScript Basics

Lesson: Debugging Tools

  • Using the strict mode and setting breakpoints
  • Browser debugging tools
  • Monitoring resource usage and performance
  • Emulating devices Exceptions in JavaScript

Exercise: JavaScript Debugging

Lesson: JavaScript Functions

  • Functions in JavaScript
  • Invoking Functions
  • Function Constructor
  • Function Scope and Closures

Lesson: JavaScript Arrays, Math and Date

  • JavaScript Literals
  • JavaScript Arrays
  • Working with Numbers and Dates

Exercise: JavaScript Built-in Objects

Lesson: JavaScript Event Handling and the DOM

  • Events and Event Handling
  • HTML Document Object Model
  • Accessing the DOM
  • Dynamically Working with the DOM
  • DOM Challenges

Exercise: Using Events and the DOM

Lesson: Object-Oriented JavaScript

  • JavaScript “Objects” and “Classes”
  • Constructors and Prototypes
  • Prototypes
  • Extending Classes with Prototype
  • Reusable, Flexible Classes

Exercise: Working with Classes

Session: jQuery

Lesson: Why jQuery?

  • JavaScript Evolution
  • Why jQuery?
  • jQuery Usage
  • Downloading jQuery

Lesson: Basic jQuery

  • jQuery: Operational Overview
  • jQuery Capability Overview
  • Basic Selectors
  • Multiple Selector
  • Selecting by Order

Exercise: Installing and Testing jQuery

Lesson: Manipulating the DOM

  • Attributes vs. Propertie
  • CSS Box Model Properties
  • Element Content
  • Manipulating Children
  • Wrapping and Unwrapping
  • Effects (Basic Animation)
  • Effects Queues

Exercise: CSS Selection

Lesson: More On Element Selection

  • Hierarchical Selectors (Combinators)
  • Attribute Selectors
  • Basic vs. Child Filters
  • Filtering Methods
  • Traversing Methods

Exercise: Delving Into jQuery

Session: Working with jQuery

Lesson: Attributes, Forms, and DOM

  • Selecting from Forms
  • Selecting Parent and Children
  • Automatic DOM Traversal
  • Manipulating DOM Elements
  • Getting and Setting Attribute Values
  • Removing Attributes

Exercise: Dynamic DOM

Lesson: More jQuery!

  • The jQuery Function
  • The jQuery Object
  • Some jQuery “Static” Methods
  • Utility Methods

Exercise: jQuery Practice

Lesson: Event Handling

  • Binding Multiple Events to Same Handler
  • Multiple Events to Different Handlers
  • Event Targets
  • Triggering Events
  • Custom Events
  • Live Events

Exercise: jQuery Events

Lesson: More On Elements!

  • Changing HTML Content
  • Changing Text Content
  • Managing Elements
  • Introduction to Animations

Lesson: Ajax

  • Posting Data
  • Global Ajax Handlers
  • Serialization
  • Deferred Objects
  • Promises and Piping
  • Chaining Tasks

Exercise: jQuery Selectors and Content Manipulation

Session: jQuery Plugins and Enhancements

Lesson: jQuery Plugins

  • jQuery Validation Plugin
  • jQuery Form plugin
  • jQuery BBQ (Back Button &

Query) Plugin

  • jQuery Hotkeys Plugin
  • jQuery Color Plugin

Exercise: jQuery Plugins

Lesson: jQuery UI

  • jQuery UI Effects
  • Advanced Easing
  • Interactions
  • Position Utility
  • Widgets
  • Icons

Exercise: jQuery UI

Lesson: Templates

  • Micro Templates
  • jQuery Template Plugin
  • Compiling Templates Template Items

Session: JavaScript Object Notation (JSON)

Lesson: JSON Objects

  • Understand JavaScript’s literal syntax for creating arrays and objects
  • Understand object literals
  • Understand arrays
  • Understand arrays in objects
  • Understand objects in arrays

Lesson: JSON Syntax and Processing

  • Understand JSON Syntax
  • Understand JSON Parsers
  • Read and write object and array literals in JavaScript
  • How to use JSON in an Ajax application
  • Understand the advantages of using JSON
  • Understand the disadvantages of using JSON
  • How to use JSON in an Ajax application
  • How to transfer data to and from the server

Lesson: jQuery, JSON, and AJAX

  • jQuery AJAX Utility Method
  • jQuery and JSON
  • jQuery and Other Data Types
  • Serialization
  • Deferred Objects
  • Promises and Piping
  • Chaining Tasks

Exercise: Implementing JSON

Session: Advanced JavaScript Topics

Lesson: ES6: The Next Step

  • ES6 Defined
  • ES6 Default and Rest Parameters
  • IIFE and Closures
  • ES6 Importing/Exporting Modules
  • Arrays, ES6 Maps, and ES6 Sets
  • Working Arrays with ES6
  • Working Strings with ES6 Strings
  • ES6 Constructs and Inheritance
  • ES6: Getters and Setters

Exercise: Working with ES6

Lesson: HTML5 JavaScript API

  • Cross-Domain Messaging
  • Working with Web Storage
  • Offline with Application Cache
  • Geolocation: What, Why, and How

Exercise: Using the Web Storage API

Exercise: Using the ApplicationCache API

Lesson: TypeScript

  • Strong Data Typing
  • Compiling TypeScript to JavaScript
  • TypeScript Datatypes
  • TypeScript Classes and Interfaces

Lesson: JavaScript Best Practices

  • Code Conventions for the Lifecycle
  • Resolving Shared Resources
  • Constructs to Use
  • Constructs to Avoid
  • Memory Considerations

Lesson: JavaScript Scheduling, Execution, and Security

  • Timers and Scheduling
  • Execution Contexts
  • Same Origin Policy and JavaScript
  • Security Considerations

Lesson: Performance and Optimization

  • Code Optimization
  • JavaScript Verbosity Tradeoffs
  • Memory Considerations
  • Cyclic References

Lesson: Download Options

  • Explain the basic principles underlying web application performance optimization
  • Understand the role of downloading options in smoothing bandwidth usage
  • Understand how caching can reduce bandwidth usage

Lesson: Security

  • Security: The Complete Pictur
  • Unvalidated Input
  • Injection Flaws
  • XSS
  • Spoofing
  • How Attackers See JavaScript Applications
  • OWASP Top Ten for 2017

Session: Web Design

Lesson: Responsive Web Design

  • Adapting to Varying Screen Sizes
  • Scaling Page and Text Content
  • Scaling and Adapting for Media
  • Options for Adjusting Media

Exercise: Make a Responsive Page

Lesson: User Interface Principles

  • Design Principles
  • Improving Interactions with Users
  • Matching Web Flow to User Expectations

Lesson: Layout Techniques

  • Page Layout Consideration
  • Stacking Content
  • Handling Excessive Content
  • Providing Consistency Across Web Presence

Exercise: Design: Using Responsive Web Design Patterns

Lesson: Navigation Techniques

  • Handling Excessive Content
  • Providing Context and State Feedback
  • Navigation Placement and Techniques

Exercise: Design: jQuery Events Project

Lesson: Selection Techniques

  • Improving Text Input
  • Improving Enumerated Input
  • Accessibility Considerations

This course is available on our public schedule via Live Virtual Classroom:

Contact us here.