Introduction to Node.js Course


Course Code: hsts-c7

Course Overview

HSTS's Intro to Node.js training course is designed to demonstrate the power and flexibility of the Node.js platform. This course is a combination of lectures and hands-on exercises that provide practical real-world experience.
Since its introduction in 2009, Node.js has become one of the go-to platforms from developing everything for massively scaleable real-time enterprise web applications to automating Internet of Things embedded devices. Because it is written in JavaScript, the most popular and widely used programming language in the world, and has more than 200,000 publicly available opensource packages in its module ecosystem, developing Node.js applications increases developer productivity and reduces infrastructure costs. In our Intro to Node.js training course, students will learn:

  • The fundamentals of asynchronous server-side JavaScript
  • Node.js standard library including Streams, Buffers and HTTP servers
  • How to create, deploy and distribute Node.js applications
  • Workflow automation with Gulp and Grunt task runners
  • Interacting with NoSQL databases like MongoDB and Redis
  • The basics of building a real-time web application in the Express.JS framework

Course Prerequisites

Students must have a good working knowledge of computers, operating systems, using a mouse, keyboard, standard menus and commands. Students must be able to open, save, and close applications, files, as well as navigate to other folders.
To participate in the hands-on code demos, students should have a basic working knowledge web browsers. Previous experience with HTML, CSS and JavaScript/jQuery is helpful, but students without programming backgrounds still will be able to follow along and run sample code.

Job Roles For This Course

- Web developers
- DevOps engineers
- Data Scientists
- Game developers

Projects Using This Course

Websites and web applications
RESTful APIs and other data microservices
Robotics, physical computing and Internet of Things devices

Related Training and Courses

PHP and MySQL Coding
Cross-platform Native App Development Using HTML5, CSS3 and JavaScript
Advance JavaScript, jQuery Using JSON and Ajax
Advance Website Design Using HTML and CSS

Class Info

Highlights

  • 10 sessions each 1.5 hours with hands-on training led by experienced instructors
  • Digital courseware and online course tracking
  • Final course project delivery
  • Certificate of Completion for each course
  • Session-based assignment

Enrollment Fee

$29 per class hour or $390 per course

Location

  • In Person at HacDC's office (1525 Newton St, NW, Ste 212 Washington DC, 20010) located 2 blocks from the Columbia Height metro
  • Private custom training on site or at your location
  • Project based training cn site or at your location

Time

  • In Person: 9AM-3:00PM (1 hour Lunch)
  • Private custom & project based training: your preference

Software Versions

Our classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 240-200-6131

Online Registration Form

Submit below form if you wish to register to our coding classes. The courses are filled on first come, first served basis.



Course Outline


1. What Is Node.js?

Introduction to Node.js

Installing Node.js two ways


2. Why Node.js?

A brief history of the World Wide Web

The evolution of JavaScript for 1994 to present

Requirements of modern web applications

The road to Node through Ruby on Rails

Understanding the problems Node.JS aims to solve


3. A Crash Course in JavaScript

Datatypes: The building blocks of an application

Functions: Getting stuff done

Control structures

Understanding objects and object-oriented programming

JSON

Synchronous and asynchronous programming


4. The Node.js Runtime

“Hello, world!” writing your first program

JavaScript in the browser vs. the server

Visualizing the heap, the stack and the event loop

Understanding callbacks

Handling errors


5. Understanding Modules

Dependency management 101

Common.JS and EMCA 2016 imports

Defining a program with package.json

Versioning with SemVer 2.0


6. Using npm

Node vs. npm

Defining your own module with npm

Writing scripts

Managing dependencies with npm

Sharing your module


7. The Node.js Standard library

Understanding the API documentation

The process and global objects

Accessing the filesystem

Using Streams

Manipulating data with Buffers

Creating an HTTP server


8. Event-based Programming

What is an event?

Listening for an event

Event-based I/O

Defining your own events


9. Extending Node.js With C++ Add-ons

Transcending JavaScript with Node

Using node-gyp to compile and run an extension


10. Designing Your Application

Getting out out “callback hell”

Control flow with async.js

Using ECMA 2016 Promises

The road ahead: EMCA 2017 async/await


The following topics may be included at the discretion of your instructor.


11. Task Runners

Workflow automation

Introduction to Grunt

Introduction to Gulp


12. NoSQL Databases

Relational vs. non-relational databases

Using MongoDB in Node

Using Redis in Node


13. Building an Express web application

What is a web app?

Configuring Express

Understanding routers

Using data to create dynamic views

Sockets and real-time communication


14. Deploying Your Application

Installing an application on a live server

Running multiple node apps as microservices