Core JavaScript Essentials- JavaScript Basics
- Debugging Tools
- JavaScript Functions
- JavaScript Arrays, Math and Date
- JavaScript Event Handling and the DOM
- Object-Oriented JavaScript
jQuery- Why jQuery
- Basic jQuery
- Manipulating the DOM
- More on Element Selection
Working with jQuery- Attributes, Forms, and DOM
- More jQuery!
- Event Handling
- More On Elements!
- Ajax
jQuery Plugins and Enhancements- jQuery Plugins
- jQuery UI
- Templates
JavaScript Object Notation (JSON)- JSON Objects
- JSON Syntax and Processing
- jQuery, JSON, and AJAX
Advanced JavaScript Topics- ES6: The Next Step
- HTML5 JavaScript API
- TypeScript
- JavaScript Best Practices
- JavaScript Scheduling, Execution, and Security
- Performance and Optimization
- Download Options
- Security
Web Design- Responsive Web Design
- User Interface Principles
- Layout Techniques
- Navigation Techniques
- Selection Techniques
, Session: Core JavaScript Essentials
Lesson: JavaScript Basics
JavaScript Defined
Variables and Operators
Flow Control and Conditionals
Lesson: Debugging Tools
Using the strict mode and setting breakpoints
Browser debugging tools
Monitoring resource usage and performance
Emulating devices Exceptions in JavaScript
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
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
Lesson: Object-Oriented JavaScript
JavaScript œObjects and œClasses
Constructors and Prototypes
Prototypes
Extending Classes with Prototype
Reusable, Flexible 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
Lesson: Manipulating the DOM
Attributes vs. Properties
CSS Box Model Properties
Element Content
Manipulating Children
Wrapping and Unwrapping
Effects (Basic Animation)
Effects Queues
Lesson: More on Element Selection
Hierarchical Selectors (Combinators)
Attribute Selectors
Basic vs. Child Filters
Filtering Methods
Traversing Methods
Session: Working with jQuery
Lesson: Attributes, and DOM
Selecting from Forms
Selecting Parent and Children
Automatic DOM Traversal
Manipulating DOM Elements
Getting and Setting Attribute Values
Removing Attributes
Lesson: More jQuery!
The jQuery Function
The jQuery Object
Some jQuery œStatic Methods
Utility Methods
Lesson: Event Handling
Binding Multiple Events to Same Handler
Multiple Events to Different Handlers
Event Targets
Triggering Events
Custom Events
Live Events
Lesson: More On Elements!
Changing HTML Content
Changing Text Content
Managing Elements
Introduction to Animations
Lesson: Ajax
Posting Data
Global Ajax Handlers
JSONP
Serialization
Deferred Objects
Promises and Piping
Chaining Tasks
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
Lesson: jQuery UI
jQuery UI Effects
Advanced Easing
Interactions
Position Utility
Widgets
Icons
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, and AJAX
jQuery AJAX Utility Method
jQuery and JSON
jQuery and Other Data Types
Serialization
Deferred Objects
Promises and Piping
Chaining Tasks
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
Lesson: HTML5 JavaScript API
Cross-Domain Messaging
Working with Web Storage
Offline with Application Cache
Geolocation: What, Why, and How
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, 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 Picture
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
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
Lesson: Navigation Techniques
Handling Excessive Content
Providing Context and State Feedback
Navigation Placement and Techniques
Lesson: Selection Techniques
Improving Text Input
Improving Enumerated Input
Accessibility Considerations