Home > Vendors > Advanced-Technology-Courses > BA-JAVASCRIPT-NJS

BA-JAVASCRIPT-NJS - Basic & Advanced JavaScript and Node.JS Training Course


Duration: 3 days

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.


  • Understand the non-blocking nature of Node.js 
  • Writing asynchronous code with call-backs and streams 
  • Learn how to modularize code using NPM and require() 
  • Understand and take advantage of the built-in apis for building scalable few applications 
  • Learn how to build web applications using Express.js 
  • Understand how to handle authentication and authorization 
  • Learn how to build real-time applications using WebSockets and




  • Introduction oLanguage Overview 

        o Data Types oProgramming constructs 
        o Handling Exceptions 
        o Objects, Functions & Arrays 
        o Timer Functions 

  • Expressive JavaScript 

        o The Flexibility of JavaScript 
        o JavaScript as a Loosely Typed Language 
        o Functions as First-Class Objects 
        o Object Mutability 

  • Functions In Depth 

        o Function Objects 
        o Function Literal 
        o Function Invocation Patterns 
        o Augmenting Types 
        o Recursion & Closures 
        o Functions as Callbacks 
        o Function Currying & Memorization 

  • Closures In Depth 

        o How Closures Work 
        o Private Variables, Callbacks and Timers 
        o Binding Function Contexts 
        o Overriding Function Behavior 

  • Object Orientation With Prototypes 

        o Object Instantiation 
        o Constructors 
        o Inheritance and Prototype Chain 
        o Extending Object 
        o Extending Number 
        o Instantiation Issues 
        o Writing class-like code ES6 

  • New in ES6 oClasses olet and const

        o Arrow functions 
        o Enhanced Object Literals 
        o Destructuring 
        o Spread Operator 
        o Generators and Iterators 
        o Symbols 
        o Comprehensions 
        o Async Programming using Promises 

  • Using Babel.js 

DAY-2 & 3 


  • Introduction to Node.js

        o Installing Node.js 
        o Node’s Event Loop 
        o Alternatives to Node.js 
        o Writing asynchronous code 

  • Modularizing code

        o Understanding built-in modules 
        o Techniques for modularizing JavaScript code 
        o Using require() to modularize application code 
        o Using npm for third-party modules oHandling Exceptions 

  • Events and Streams 

        o Understanding Events 
        o EventEmitter class 
        o Understanding Streams 
        o Reading and writing streams 
        o Using pipe() 

  • Accessing Local Resources

        o Process Object 
        o Manipulating File System 
        o Understanding Buffers 

  • Node.js and the web

        o Handling web requests 
        o Building a web server 
        o Understanding the need for web sockets 
        o Realtime interaction using 

  • Building web applications using Express.js 

       o Installing Express.js
       o Routing
       o Parameters and queries in routing
       o Building views using view engine of choice (ejs / jade / handlebars)
       o Using blocks for layout ODisplaying data
       o Working with forms
       o Serving files
       o Working with cookies and sessions
       o Authentication and authorization
       o Error Handling

  • NodeJs Addons using C++ 

        o Overview of N-API 
        o Using node-gyp and node-addon-api 
        o Configuring application 
        o Building and using C++ Api in Node.js 

  • Scaling Node applications 

        o The Child process model 
        o Exec, spawn, and fork functions 
        o Using the Cluster module 

  • Node.js Eco System 

        o Node Packages 
        o Packages of interest 
        o Deciding Factors 

  • Debugging Node Applications
  • o Summary and Closing Remarks


  • Web developer who wants to build data intensive scalable applications using Node.js


  • Experience in application development in any programming language
  • Basic knowledge of the JavaScript language 
  • Exposure to any server technology (J2EE, .NET, Ruby etc)


Trainocate Certificate of Attendance


Show Schedule for: