Course outline for JavaScript

Pre-requisites for learning JavaScript

  • Participants must be comfortable in some programming language preferably a scripting language
  • Knowledge of HTML and CSS is required if you are interested in learning JavaScript in the browser

Lab Setup

Hardware Configuration

Participants must have access to a system with the following hardware configuration:

  • 2GB of free RAM, 20GB of free disk space and full network connectivity

Software configuration

  • Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)
  • Firefox and Chrome browsers

Duration

2-5 days

Training Mode

Online training for JavaScript

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for JavaScript

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for JavaScript

Introduction to JavaScript

  • Why Java? Why Script?
  • Important features of JavaScript

Basic Language Constructs

  • Values
  • Numbers
  • Strings
  • Booleans
  • Objects
  • null
  • undefined
  • Typing
  • Reserved Words
  • Comments
  • Operators
  • Statements
  • Expressions
  • Conditionals
  • Looping

Objects

  • Understanding Primitive Types
  • Composite Types
  • Object Internals ‐ Use of Hashtables
  • Predefined objects
  • Ways to create Objects
  • Ways to iterate Objects
  • Pass by reference

Functions and Functional Programming

  • Function syntax
  • Return values of functions
  • Anonymous Functions
  • Inner Functions
  • Function Scope
  • Globals and how to avoid them
  • Functions as Objects
  • call and apply

Arrays

  • How JavaScript arrays are different
  • Multidimensional arrays

Closures

  • What are closures
  • Examples of closures
  • Practical uses of closures
  • Emulating private methods using closures

Prototypes and Prototypal Inheritance

  • Inheritance in JavaScript
  • Difference from classical inheritance
  • Constructor functions
  • The prototype link
  • The object Function
  • The this keyword

JavaScript Programming Paradigms

  • Object oriented programming in JavaScript
  • Functional programming in JavaScript
  • Aspect oriented programming in JavaScript

Document Object Model

  • Introduction to DOM
  • A little history of the web
  • Levels (or types) of DOM
  • Nodes
  • Elements
  • Attributes
  • Text
  • Comment

JavaScript and DOM

  • Parsing XML in JavaScript
  • Create elements
  • Retrieve elements
  • Delete elements
  • Work with attributes
  • A few examples

Event Handling in JavaScript

  • Adding event handlers
  • Asynchronous handling of events with callbacks
  • Event bubbling
  • Event capturing

JavaScript Libraries

  • The need for libraries
  • Handling cross-browser issues with JS libraries
  • jQuery
  • Node.js
  • Angular
  • React
  • CSS Libraries
    • Bootstrap
    • CSS Resets
    • Normalise.css
  • HTML5 Boilerplate
  • Less and Sass

AJAX and XMLHttpRequest

  • The components - XMLHttp, JavaScript, XML (or JSON) and DOM
  • Intelligent clients with AJAX
  • Examples of AJAX usage
  • The future - Websockets and real-time applications

Data Formats

  • What are data formats?
  • Difference from data structures
  • Serialization and deserialization
  • Maps as generic data containers