Logical Imagination offers JavaScript training via our live, instructor-led online classes or as onsite classes at your location.  

JavaScript is a critical skill for today's web developer. Users expect a high level of interaction and responsiveness from a professional web application. And, with the advent of HTML5, Javascript can do more powerful things. WebGL, geolocation, persistent storage and offline functionality are all HTML5 features that involve JavaScript. What about tools like Dojo or Node.js? They're fantastic, but no developer can fully utilize them before learning the fundamentals of JavaScript and the document object model.

  • TypeScript Fundamentals

    $325.00
    TypeScript Fundamentals Logo
    TypeScript is a cutting-edge, open-source programming language that is a superset of JavaScript. TypeScript makes available today programming features that are planned for inclusion in future releases of JavaScript. TypeScript source code compiles to plain JavaScript, so it can be used in projects targeting any browser on any host with any operating system. This course prepares students with the fundamentals of TypeScript for use within modern web. . .

    TypeScript Fundamentals

    • Introduction to TypeScript
      • What is TypeScript?
      • How to Install TypeScript
      • Let, Const, Block Scope and Module Scope
      • Template Strings
      • Arrow Functions
      • Compiling TypeScript With Options
      • Install and Use Typings
      • Install and Use TSLint
    • Types in TypeScript
      • Primitive Types
      • Enums and Tuples
      • Symbols
      • Union Types
      • Intersection Types
      • Nullable Types With -- strictNullChecks
    • Classes
      • Encapsulation and Scope
      • Properties
      • Methods
      • Constructors and Parameter Properties
      • Inheritance
    • Interfaces and Namespaces
      • Creating Interfaces
      • Implementing Interfaces
      • Anonymous Interfaces
      • Type Guarding
      • Organizing Code in Namespaces
    • Generics
      • Generic Functions
      • Generic Classes
      • Generic Constraints
    • Appendix A: Decorators
      • Decorators, Decorator Factories and Composition
      • Class Decorators
      • Method Decorators
      • Property Decorators
      • Parameter Decorators
  • JavaScript Introduction

    $975.00
    JavaScript Introduction Logo
    Students will learn to use JavaScript effectively to make their web pages more dynamic and functional and to reduce the number of roundtrips to the server. Students will learn JavaScript syntax, how to work with variables, learn write flow control logic, validate forms, create roll-over images, open and work with new windows, and learn to work with JavaScript timers, intervals and navigation history.

    Introduction to JavaScript

    • 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
      • 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

    Upcoming Dates

  • Advanced JavaScript Programming

    $650.00
    Advanced JavaScript Programming Logo
    In this Advanced JavaScript Programming class, you will learn advanced JavaScript techniques and good standard coding conventions. You will also learn advanced form validation with Regular Expressions, to manipulate the HTML DOM and to create jump menus and cascading select menus. Finally, you will learn to manipulate CSS with JavaScript to create applications using Dynamic HTML.

    Advanced JavaScript Programming

    • Quick JavaScript Recap
      • Primitive Data Types
      • Native Types
      • Functions
      • The DOM
      • JavaScript is not the DOM
      • The Window Object
      • The XMLHttpRequest Object
      • JSON
    • Advanced Functions
      • Optional Function Arguments
      • Truthy and Falsey
      • Default Operator
      • Default Operator Gotcha!
      • Functions Passed as Arguments
      • Anonymous Functions
      • Inner Functions
      • Observing and Capturing Events
      • The eval() Functions
      • Variable Scope
      • Error Handling
      • 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
      • 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
      • Accessing Nodes by Type, Name or Value
      • 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 Time
    • 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

    Upcoming Dates

  • jQuery Fundamentals

    $975.00
    jQuery Fundamentals Logo
    You can think of jQuery as one of the four technologies that every professional web developer should master, along with HTML5, CSS3, and JavaScript. So this class is for any web developer today. That includes web developers who know HTML5 and CSS3 but are new to JavaScript and jQuery, web developers who have done JavaScript programming but are new to jQuery, web developers who have used jQuery for special-purpose applications but don’t feel comfortable. . .

    jQuery Fundamentals

    • Introduction to Web Development
      • How a Web Application Works
      • The Components of a JavaScript Application
      • Critical HTML and CSS Skills
      • How to Test a JavaScript Application
      • How to Use Aptana to Develop JavaScript Applications
    • Getting Started with JavaScript
      • How to Include JavaScript in an HTML Document
      • The JavaScript Syntax
      • How to Work with JavaScript Data
      • How to Code Control Statements
      • How to Find Errors in Your Code
    • How to Work with Objects, Functions, and Events
      • How to Use Objects to Work with Data
      • How to Use Functions
      • How to Handle Events
    • How to Test and Debug a JavaScript Application
      • An Introduction to Testing and Debugging
      • How to Debug with Firebug
      • Other Debugging Methods
    • How to Work with Arrays
      • How to Create and Use an Array
    • How to Script the DOM with JavaScript
      • DOM Scripting Properties and Methods
      • Two Critical Issues for JavaScript Applications
      • DOM Scripting Skills for Links and Images
      • How to Use Timers
    • Get Off to a Fast Start with jQuery
      • Introduction to jQuery
      • Basics of jQuery Programming
      • A Working Subset of Selectors, Methods, and Event Methods
    • How to Use Effects and Animations
      • How to Use Effects
      • A Slide Show Application with Effects
      • How to Use Animation
      • A Carousel Application with Animation
    • How to Use the DOM Manipulation and Traversal Methods
      • The DOM Manipulation Methods
      • The Methods for Working with Styles and Positioning
      • The DOM Traversal Methods
    • How to Work with Forms and Data Validation
      • Introduction to Forms and Controls
      • How to Use jQuery to Work with Forms
      • A Validation Application that uses JavaScript
      • How to Use a Plugin for Data Validation
      • A Validation Application that Uses the Validation Plugin
    • How to Create and Use Plugins
      • Introduction to Plugins
      • How to Use Four of the Most Useful Plugins
      • How to Create Your own Plugins
      • A Web Page that Uses Two Plugins
    • jQuery UI Themes and Widgets
      • Introduction to jQuery UI
      • How to Build and Use a jQuery UI Download
      • How to Use jQuery UI Widgets
    • How to Use jQuery UI Interactions and Effects
      • How to Use Interactions
      • How to Use Effects
    • Ajax, JSON, and Blogger
      • Introduction to Ajax
      • How to Use the jQuery Shorthand Methods for Ajax
      • How to Use the $.ajax Method for Working with Ajax
      • How to Use Ajax with the API for Google's Blogger
    • API's for YouTube, Twitter, and Flickr
    • API for Google Maps
    • jQuery Mobile
      • How to Work with Mobile Devices
      • How to Get Started with jQuery Mobile
      • How to Style Web Pages with jQuery Mobile
    • How to Enhance a jQuery Mobile Web Site
      • How to Use the jQuery Mobile Documentation
      • How to Use jQuery Mobile for Content Formatting
      • How to Use jQuery Mobile for List Views
      • How to Use jQuery Mobile for Forms

    Upcoming Dates

  • Developing Web Applications Using Node.js

    $650.00
    Developing Web Applications Using Node.js Logo
    Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. Developing Web Applications Using NodeJS is a two-day instructor-led course that teaches students how to build server-side web applications using open. . .

    Developing Web Applications Using Node.js

    • Setting up Node.js and Other Essentials
      • Installing Node.js and NPM
      • Launching Node.js Scripts
      • Node.js Basics and Syntax
      • Node.js Core Modules
      • Handy Node.js Utilities
    • Node Package Manager
      • Installing a Package
      • Global Packages
      • Updating Packages
      • Creating Packages
    • Using Express.js to Create Node.js Web Apps
      • Installing Express.js
      • Express.js Scaffolding
      • Setting Up Folders and Configuration
    • TDD and BDD
      • Installing and Understanding Mocha
      • TDD with Assert
      • BDD with Expect.js
    • Persistence with MongoDB and Mongoskin
      • Installing and Running MongoDB
      • Data Manipulation from the Mongo Console
      • Native MongoDB Driver for Node.js
      • Main Mongoskin Methods
    • Boosting Data with Mongoose ORM Library
      • Installing Mongoose
      • Mongoose Schemas
      • Mongoose Models
      • Relationships and Joins
      • Express.js + Mongoose = True MVC
    • Using Sessions and OAuth in Node.js Apps
      • Authorization with Express.js
      • Token-Based Authentication
      • Session-Based Authentication
      • Node.js OAuth
    • Building Node.js REST API Servers
      • RESTful API Basics
      • Test Coverage with Mocha and Superagent
      • REST API Server Implementation with Express and Mongoose

    Upcoming Dates