Course 485:
JavaScript and SPA Programming with jQuery, Knockout, AngularJS, Node.js, and Grunt

(4 days)


Course Description

JavaScript is used in a variety of ways with today’s dynamic Web applications, but how do you know which library or framework to use given the vast number of JavaScript technologies out there? In the JavaScript Technologies class, you’ll be introduced to several key JavaScript libraries and frameworks such as jQuery, Knockout, AngularJS, JavaScript patterns, Node.js, the powerful Grunt JavaScript build tool, and more.

The course starts with an in-depth look at the jQuery script library and shows how it can be used to significantly boost developer productivity. Topics covered include jQuery selectors, handling events, manipulating the DOM, and calling different types of services using Ajax to retrieve data. Additional information about enhancing pages with jQuery plugins and jQuery UI are also covered.

In addition to jQuery, the course also discusses client-side data binding with Knockout, Single Page Application (SPA) fundamentals with AngularJS, server-side JavaScript programming with Node.js, JavaScript patterns for structuring JavaScript, and using Grunt tasks to manipulate JavaScript and automate builds. If you’re looking to get experience with several key JavaScript technologies that will make you more productive and allow you to build more dynamic and responsive applications, this is the course for you!

Learning Objectives

  • Data binding options with Knockout or AngularJS
  • SPA fundamentals with AngularJS
  • How jQuery can enhance productivity
  • Selecting DOM objects using jQuery selectors
  • The role of jQuery event handlers
  • Ajax techniques
  • JavaScript patterns and techniques for writing clean JavaScript code
  • How to use jQuery Plugins
  • js programming with JavaScript
  • Using the Grunt JavaScript build tool


Experience building applications that use HTML, CSS, and JavaScript. To get the most out of this course, students should have six months or more hands-on experience with JavaScript.

Course Outline 

1. Getting Started with jQuery

  • Getting Started with jQuery
  • Selector Fundamentals
  • Understanding Control Chaining
  • Detecting When a Page has Loaded

2. The jQuery Event Model

  • jQuery Event Model Benefits
  • Using on()
  • Handling Hover Events
  • Accessing Event Properties

3. Manipulating the DOM with jQuery

  • Using the each() Command
  • Modifying Attributes
  • Adding and Removing Nodes
  • Modifying Styles and CSS Classes
  • Using the html() and text() Functions

4. jQuery AJAX Features

  • jQuery AJAX Functions
  • Loading HTML Content from the Server
  • Making get(), getJSON(), and post() Functions
  • Using the ajax() Function

5. JavaScript Patterns and Technologies

  • The Need for Patterns
  • Pattern Technology Enablers
  • Understanding Closures
  • The Role of QUnit
  • Prototype Pattern
  • Revealing Module Pattern
  • Revealing Prototype Pattern

6. Data Binding with KnockoutJS

  • Introduction to KnockoutJS
  • Creating a ViewModel Object
  • Working with Binding and Observables
  • Putting It All Together

7. Introduction to SPA Development with AngularJS

  • What Is AngularJS?
  • Data Binding, Directives, and Filters
  • Views, Controllers, and Scope
  • Modules, Routes, and Factories

8. Serving Data Using Node.js

  • What Is Node.js?
  • Using Node.js Modules
  • Using Socket.IO and WebSockets
  • Using Express

9. Grunt – A Node.js JavaScript Build Tool

  • What Is Grunt?
  • Creating a GruntFile
  • Task Examples

Please Contact Your ROI Representative to Discuss Course Tailoring!