Course Highlights
  • Learn everything there is to know about Javascript - from scratch!
  • Build beautiful web apps to add to your portfolio
  • Get job ready with a deep understanding of the internals of JS
  • Work with Node JS and Express
  • Create a full E-Commerce app complete with authentication
  • Automate testing your code by creating your own custom testing framework!
  • Build your own physics-based JavaScript game
  • Understand how Javascript developers work on a day-to-day basis
  • Master the latest JS features like async and arrow functions

Overview

What are the aspects of this course?

  • Teaches about building real-world apps
  • It includes 3 real-world projects
  • Over 80 plus programming practice exercises and challenges 
  • Using the latest features of ES6 and ES7
  • Exploring the behind the scenes functioning of javascript
  • Debugging code and deployment of application
  • Comprehensive use of promise, async/wait along with asynchronous javascript

Other prior requirements:

  • Though there is no strict requirement, this course will teach you the entire procedure from scratch. Below are some of the basic requirements you must have in order to learn:
  • You must have a well-working computer system(windows, Mac, or Linux)
  • Stable internet connection for seamless learning

Who can do this course?

  • People who are totally fresher can go for this boot camp course.
  • People who want to master the features of modern javascript.
  • People who want to experience real-world projects and get hands-on coding experience.
  • People who are already working with JavaScript or want to switch their career to JavaScript developer can choose this course.
  • People who are working remotely as a freelancer can benefit from this course.
Curriculum

5 Topics
How This Course Works
JS ECMA TC39: What Do They Mean??
The Tools You Need
Customizing VSCode & Extensions
A Quick Note About MDN

10 Topics
Goals & Primitives
Running Code in the JS Console
Introducing Numbers
NaN & Infinity
Numbers Quiz
Variables & Let
Unary Operators
Introducing Const
The Legacy of Var
Variables Quiz

12 Topics
Booleans Intro
Strings
String Indices
String Methods
More String Methods
Strings Quiz
String Escape Characters
String Template Literals
Null & Undefined
The Math Object & Random Numbers
typeof operator
parseInt & parseFloat

16 Topics
Making Decisions in JS
Comparison Operators
Double Equals (==)
Triple Equals (===)
Running Code From a Script
If Statements
Else If
Else
Nesting Conditionals
Truthy & Falsy Values
Logical AND (&&)
Logical OR (||)
NOT Operator (!)
Operator Precedence
The Switch Statement
Ternary Operator

14 Topics
Creating Arrays
Array Indices
Modifying Arrays
Push and Pop
Shift and Unshift
Concat
Includes and IndexOf
Reverse and Join
Slice
Splice
Sorting (Part 1)
Intro to Reference Types
Using Const with Arrays
Working with Nested Arrays

7 Topics
Intro to Objects
Creating Object Literals
Accessing Object Properties
Adding and Updating Properties
Nested Arrays & Objects
Objects and Reference Types
Array/Object Equality

12 Topics
Intro to Loops
For Loops
Infinite Loops!
For Loops & Arrays
Nested For Loops
Intro to While Loops
More While Loops
Break Keyword
For...Of Intro
Comparing For and For...Of
For...Of with Objects
For...In Loops

10 Topics
Our First Function!
Dice Roll Function
Introducing Arguments
Functions With Multiple Args
The Return Statement
More on Return Values
Function Challenge 1: passwordValidator
Function Challenge 2: Average
Function Challenge 3: Pangrams
Function Challenge 4: Get Playing Card

9 Topics
Function Scope
Block Scope
Lexical Scope
Function Expressions
Higher Order Functions
Functions as Arguments
Functions as Return Values
Callbacks
Hoisting

12 Topics
Intro to Array Callback Methods
forEach
Map
Arrow Functions Intro
Arrow Functions: Implicit Returns
Array.find
Filter
Some & Every
Revisiting Sort!
Reduce Intro
Reduce Pt. 2
Even More Reduce!

11 Topics
New JS Features Intro
Default Parameters
Spread for Function Calls
Spread in Array Literals
Spread in Object Literals
The Arguments Object (not new)
Rest Parameters (new!)
Destructuring Arrays
Destructuring Objects
Nested Destructuring
Destructuring Parameters

10 Topics
Shorthand Object Properties
Computed Properties
Adding Methods to Objects
Method Shorthand Syntax
Intro to Keyword THIS
Using THIS in Methods
THIS: Invocation Context
Annoyomatic Demo
Putting It All Together: Deck Of Cards
Creating A Deck Factory

9 Topics
Introduction to the DOM
IMPORTANT NOTE: HTML & CSS
Taste of the DOM
Another Fun DOM Example
The Document Object
getElementById
getElementsByTagName
getElementsByClassName
querySelector & querySelectorAll

14 Topics
Working with innerText & textContent
innerHTML
value src href and more
Getting & Setting Attributes
Finding Parent/Children/Siblings
Changing Multiple Elements
Altering Styles
getComputedStyle
Manipulating Classes
Creating Elements
Append Prepend & insertBefore
removeChild & remove
NBA Scores Chart Pt1.
NBA Scores Chart Refactor

10 Topics
Intro to DOM Events
2 Ways NOT to Add Events
addEventListener
The Impossible Button Demo
Events on Multiple Elements
The Event Object
Key Events: keypress keyup & keydown
Coin Game Demo
Form Events & PreventDefault
Input & Change Events

10 Topics
The Call Stack
Call Stack Debugging w/ Dev Tools
JS is Single Threaded
How Asynchronous Callbacks Actually Work
Welcome to Callback Hell
Introducing Promises!
Returning Promises from Functions
Resolving/Rejecting w/ Values
The Delights of Promise Chaining
Refactoring w/ Promises

9 Topics
Intro to AJAX
JSON & XML
XMLHttpRequests: The Basics
XMLHttpRequests: Chaining Requests
A Better Way: Fetch!
Chaining Fetch Requests
Refactoring Fetch Chains
An Even Better Way: Axios
Sequential Axios Requests

7 Topics
A Quick Overview of Async Functions
The Async Keyword
The Await Keyword
Error Handling in Async Functions
Multiple Awaits
Parallel Vs. Sequential Requests
Refactoring with Promise.all

7 Topics
What on Earth are Prototypes?
An Intro to OOP
Factory Functions
Constructor Functions
JS Classes - Syntactical Sugar
A Bit More Practice with Classes
Extends Super and Subclasses

27 Topics
Join Our Community!
Welcome to Part 2!
App Overview
Project Setup
Event-Based Architecture
Class-Based Implementation
Binding Events in a Class
Reminder on 'This'
Determining the Value of 'This'
Solving the 'This' Issue
Starting and Pausing the Timer
Where to Store Data?
DOM-Centric Approach
Getters and Setters
Stopping the Timer
Notifying the Outside World
OnTick and OnComplete
Extracting Timer Code
Introducing SVG's
Rules of SVG's
Advanced Circle Properties
The Secret to the Animation
First Pass on the Animation
Smoothing the Animation
Adjusting by an Even Interval
Using Icons
Styling and Wrapup

45 Topics
Application Overview
Starter Kit Setup
Big Challenges
Fetching Movie Data
Fetching a Single Movie
AutoComplete Widget Design
Searching the API on Input Change
Delaying Search Input
Understanding Debounce
Implementing a Reusable Debounce
Extracting Utility Functions
Awaiting Async Functions
Rendering Movies
Handling Errored Responses
Opening a Menu
Style of Widget Creation
Moving HTML Generation
Quick Note
Repairing References
Handling Broken Images
Automatically Closing the Dropdown
Handling Empty Responses
Handling Movie Selection
Making a Followup Request
Rendering an Expanded Summary
Expanded Statistics
Issues with the Codebase
Making the Autocomplete Reusable
Displaying Multiple Autocompletes
Extracting Rendering Logic
Extracting Selection Logic
Removing Movie References
Consuming a Different Source of Data
Refreshed HTML Structure
Avoiding Duplication of Config
Hiding the Tutorial
Showing Two Summaries
When to Compare?
How to Compare?
Extracting Statistic Values
Parsing Number of Awards
Applying Parsed Properties
Updating Styles
Small Bug Fix
App Wrapup

36 Topics
Application Overview
Project Setup
Matter Terminology
Getting Content to Appear
Boilerplate Overview
Drawing Borders
Clicking and Dragging
Generating Random Shapes
Maze Generation Algorithm
More on Maze Generation
Configuration Variables
Grid Generation
Verticals and Horizontals
Abstracting Maze Dimensions
Guiding Comments
Neighbor Coordinates
Shuffling Neighbor Pairs
Determining Movement Direction
Updating Vertical Wall Values
Updating Horizontal Wall Values
Validating Wall Structure
Iterating Over Walls
Drawing Horizontal Segments
Drawing Vertical Segments
Drawing the Goal
Drawing the Playing Ball
Handling Keypresses
Adding Keyboard Controls
Disabling Gravity
Detecting a Win
Adding a Win Animation
Stretching the Canvas
Understanding the New Unit Variables
Refactoring for Rectangular Mazes
Adding Fill Colors
Displaying a Success Message

11 Topics
Application Overview
Project Setup
Handling Form Submission
Base64 Encoding
Encoding the Entered String
Parts of a URL
Generating the URL
Toggling Element Visibility
Decoding the Message
Displaying the Message
App Deployment

24 Topics
JavaScript with Node vs the Browser
Executing JavaScript
Working with Modules
Invisible Node Functions
The Require Cache
Files Get Required Once!
Debugging with Node
App Overview
Accessing Standard Library Modules
The Callback Pattern in Node
The Process.cwd Function
Running a Node Program as an Executable
Linking a Project
Is it a File or a Folder?
A Buggy Initial Implementation
Optional Solution #1
A Callback-Based Solution
Callback-Based Functions Using Promises
Issues with Sequential Reads
Promise.all-Based Solution
Console Logs with Colors
Accepting Command Line Arguments
Joining Paths
App Wrapup

13 Topics
App Overview
Project Setup
Big Application Challenges
Watching Files with Chokidar
Issues with Add Event
Debouncing Add Events
Naming Require Statements
Handling CLI Tools with Caporal
Ensuring Files Exist
It Works!
More on StdIO
[Optional] More on Child_Process
App Wrapup

10 Topics
App Overview
App Architecture
Package.json Scripts
Creating a Web Server
Behind the Scenes of Requests
Displaying Simple HTML
Understanding Form Submissions
Parsing Form Data
Middlewares in Express
Globally Applying Middleware

14 Topics
Data Storage
Different Data Modeling Approaches
Implementing the Users Repository
Opening the Repo Data File
Small Refactor
Saving Records
Better JSON Formatting
Random ID Generation
Finding By Id
Deleting Records
Updating Records
Adding Filtering Logic
Exporting an Instance
Signup Validation Logic

10 Topics
Cookie Based Authentication
Creating User Records
Fetching a Session
Signing Out a User
Signing In
Hashing Passwords
Salting Passwords
Salting + Hashing Passwords
Comparing Hashed Passwords
Testing the Full Flow

23 Topics
Project Structure
Structure Refactor
HTML Templating Functions
HTML Reuse with Layouts
Building a Layout File
Adding Better Form Validation
Validation vs Sanitization
Receiving Validation Output
Adding Custom Validators
Extracting Validation Chains
Displaying Error Messages
Validation Around Sign In
Password Validation
Template Helper Functions
Adding Some Styling
Exposing Public Directories
Next Steps
Product Routes
The Products Repository
Code Reuse with Classes
Creating the Products Repository
Building the Product Creation Form
Some Quick Validation

15 Topics
Exploring Image Upload
Understanding Mutli-Part Forms
Accessing the Uploaded File
[Optional] Different Methods of Image Storage
Saving the Image
A Subtle Middleware Bug
Better Styling
Reusable Error Handling Middleware
Products Listing
Redirect on Success Actions
Requiring Authentication
Template Update
Ids in URLs
Receiving URL Params
Displaying an Edit Form

20 Topics
Editing a Product
Fixing the HandleErrors Middleware
Edit Form Template
Deleting Products
Starting with Seed Data
User-Facing Products
Products Index
Merging More Styling
Understanding a Shopping Cart
Solving Problem #1
Solving Problem #2
Shopping Cart Boilerplate
Submission Options
Creating a Cart One Way or Another
Adding Items to a Cart
Displaying Cart Items
Rendering the List
Totaling Cart Items
Removing Cart Items
Redirect on Remove

18 Topics
Testing Overview
A Simple Function to Test
A No-Frills Testing Implementation
Test Driven Development
Fixing Three Issues
The Assert Module
Using Mocha
App Setup
Reminder on This App
Why is Test Setup Difficult?
Mocha in the Browser
Displaying the Autocomplete
Verifying the Dropdown State
Writing Assertions
Fake DOM Events
Holding Up Assertions
Implementing WaitFor
Asserting Records Fetched

23 Topics
Test Framework Requirements
Project Setup
Implementation Steps
Walking a Directory Structure
Implementing Breadth First Search
Collecting Test Files
Running Test Files
A Quick Test Harness
Implementing 'beforeEach' and 'it'
Adding Basic Reporting
Adding Colors
Better Formatting
Ignoring Directories
Running Browser-Based JS
A Sample Web App
Why JSDOM?
Building a Render Function
HTML Element Assertions
An Incorrectly Passing Test
Another Small Issue
Script Execution Delay
Implementing a Delay
Fixing a Test

1 Topic
Bonus!

  Write a Review

The Modern Javascript Bootcamp Course

Go to Paid Course
Frequently Asked Questions
It can be easy to learn if you are from a computer background or have basic knowledge about HTML and CSS. To have a good grip on javascript, it's important to learn its basics and how it functions and implement it with real-life projects for better understanding.
Go to the subscription settings page. Here, you will see the drop-down menu next to your profile photo. Click on the cancel button next to your subscription.
Udemy is a leading learning platform that has highly professional instructors. The courses are more varied and have lots of coding exercises to practice. Students here get a chance to work with real-life projects.
Yes, the Udemy course subscription can be cancelled easily anytime, but you can't get a refund. However, you can access the content till the last date of your billing.
Yes, Udemy offers discounts to students, and there are also various free student courses available. Students having a referral link or coupon code can get discounts on the paid course.