Node.js Fundamentals

This course focuses on developing the server side of web applications and REStful web services using Node.js. The course focuses on node.js and its complementary libraries, such as Express.js, Restfy.js, Mongoose and others.

The course was developed for people with basic knowledge in software development. It can be either a programming course that was taken in the past or practical experience. The first two meetings cover the required knowledge in JavaScript for developing in Node.js.

The course includes 90 academic hours delivered in 18 weekly meetings, that take place in class, and 180 academic hours (and beyond) that take place at home. The training material (slides, video clips, assignments, solutions and code samples) for the entire course is organized on the e-learning platform we use during the course. Each meeting includes a theoretical lecture together with practical practice (at least 40% of each meeting). The practical practice includes coding by the instructor followed by the students and coding by the students with the assistance of the instructor. Each meeting is captured on video in order to allow the students effective learning process at home.

The course includes lots of relatively small assignments and a final project the students will develop as an open source project and place it as a module other Node.js developers will be able to use.

Meeting

Topic

Sub Topics

1

JavaScript Programming

JavaScript Programming
Introduction


Basic Elements
Object Oriented Programming

2

JavaScript Programming

JavaScript Programming
Object Oriented Programming
Arrays

Functions
Anonymous Functions

Errors      

Asynchronous Programming
Lambda Expressions

3

Node.js Server Side Development

Node.js Basics
Introduction
Jump Start
Basics
Debugging

4

Node.js Server Side Development

Node.js Basics
Operating System
Query String
Path
Process
Basics

HTML
Forms

5

Node.js Server Side Development

Node.js Basics
Node.js on Heroku
MySQL

6

MongoDB

Mongo DB Basics
Introduction
Jump Start
MongoDB Shell
Data Types

7

MongoDB





Mongoose

Mongo DB Basics
CRUD Operations
Querying
Indexing

Mongoose Basics 
Introduction
Jump Start

8

REStful Web Services





Developing REStful Web Services in Node.js

REStful Web Services
Introduction
Constraints
Characteristics

Restify Basics
Introduction
Jump Start

9

Node.js Server Side Development

Node.js Basics
Timers
Files

10

Node.js Server Side Development

Node.js Basics
Headers

11

Express Framework

Express.js Basics
Introduction
Basics

12

Express Framework

Express.js Basics
Configuration
Request
Response                                                                                      

13

Express Framework

Express.js Basics
Middlewares    

14

Express Framework

Express.js Basics
Session Management  

15

WebSockets API







Redis

Introduction to HTML5
WebSockets API
                                                     
Socket.IO
Introduction
Basics

Resis Basics
Introduction
Basics

16

Express Framework

Express.js Basics
Security Best Practices

Performance Best Practices

17

Node.js Scalability

Node.js Scalability
Introduction
Basics
The Cluster Module

18

Node.js Design Patterns


Node.js Design Patterns
Introduction
Classic Patterns


Changes:

26/2/2018         More topics are added
4/7/2018         The Session Management topic was shifted to be delivered as part of the Express topics.