Library

Course: The Complete Modern Javascript Course with ES6 (2018)

The Complete Modern Javascript Course with ES6 (2018)

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
About this Course

Did you know that Javascript is the #1 web programming language in the world? 

Did you know that Mastering Javascript (and really Mastering Javascript) will make you a highly sought after web developer in the job Market?

You are here probably because you heard things like the above points and you don't have any programming background. Or you know some JavaScript which you can use to build basic projects, but you admit that once you read some advanced JS code, you are completely lost. Or you feel intimidated when other developers speak about Advanced concepts like Closures, Encapsulation, IIFE and so on. But you really want to be the best because you have all the curiosity, time and dedication it takes to become a true JS developer.

If you came here for any of the reasons mentioned above. Then you have come to the right place! Your search journey stops here! And you are ready to embark on a learning journey full of fun and success.

This course has been designed using a robust structure that will take you from zero skills to a job ready Javascript Developer. It is the most Comprehensive Javascript Course in the Market. With 15 highly structured sections distributed over 26 hours of content and 220 lectures, including crystal clear presentations, coding exercises and a full professional real life project: This course covers everything you need to standout when applying for a JS developer job. 

You will learn the basics:

  • Variables & Data Types
  • Conditional and Looping
  • Functions Part 1, including: first class functions, statements vs expressions, immediately invoked function expressions 
  • Objects Part 1, including: object literals, prototypes, equality, constructors, JSON
  • DOM: event handling, the event object, debouncing, event propagation, event delegation, single threaded Javascript

Then move to advanced concepts:

  • Execution Context, Hoisting, 'this'
  • Scope Chain
  • Closures: including updating outer variables, iterations, closures with event loops,
  • Objects 2: Encapsulation & Information Hiding including: using closures to hide information, using IIFE to create private static properties and methods
  • Objects 3: Inheritance & Prototype Chain, including class augmentation and object cloning
  • Singleton & Modular Design Patterns, including: name-spacing
  • Functions 2, including the 'arguments' property, Function.prototype.call

By the end of the course, you will build a full professional Javascript Project from scratch: A fully functional Typing Test Application which can test users typing speed and generate a PDF certificate at the end of the test. 

You will build the full project using advanced techniques you would have learnt in this course. (Modular Design pattern, Functional Design, etc). You can also customise the project and add it to your CV. A robust project like this one will truly make you stand out in the crowd and help you get a job.

You will be supported all the way through the course whenever you need help.

We hope to see you in the course.

Who is the target audience?

  • Students who would like to go from Zero Skills to securing a Javascript Developer Job
  • Students who know some JS and how to use it, but do not master advanced concepts like IIFE, Closures, etc
  • Students preparing JS interviews with top Web Development corporations
  • Students interested in learning top JS frameworks (after finishing this course) used by companies like Facebook, Instagram, Paypal, etc: Angular, React, Node
  • Students interested in learning beyond coding: thinking and Functional Design
Basic knowledge
  • There is no pre-knowledge required. This course will take you from zero skills to a job ready JS Developer
  • All you need is a computer
  • HTML/CSS can help. But no worries as we included videos teaching HTML/CSS from scratch
What you will learn
  • Build Advanced Javascript Projects from Scratch using JS's best practises
  • Write High quality Javascript Code using the Modular Design Pattern
  • Confidently use advanced concepts like Closures and Encapsulation to build robust Javascript Applications
  • Meet JS Coding Standards of world class corporations
Curriculum
Number of Lectures: 247
Total Duration: 31:04:52
Introduction
  • Promo  
  • Introduction to JavaScript  
  • Get your toolbox - Chrome & Brackets  
  • Install Chrome & Brackets  
  • Your first JavaScript Programme  
Variables & Data types
  • Introduction to Variables & Data types  
  • Download Variables & Data types Source Code  
  • Create Variables  
  • Rules  
  • Memory  
  • Numbers - Introduction  
  • Numbers - Arithmetic Operations  
  • Numbers - Operator Precedence  
  • Numbers - More Operator / Special Numbers  
  • Strings  
  • Booleans  
  • Booleans - Logical Operators  
  • Booleans - Operator Precedence  
  • Booleans - Ternary Operator  
  • Booleans vs Non Booleans  
  • null and undefined  
  • Type coercion  
  • Objects  
  • Arrays  
  • Coding Challenge: Help the Cashier - Introduction  
  • Download Coding Challenge: Help the Cashier Source Code  
  • Coding Challenge: Help the Cashier - Logic  
  • Coding Challenge: Help the Cashier - Solution (Part 1)  
  • Coding Challenge: Help the Cashier - Solution (Part 2)  
Conditional and Looping
  • Download Conditional & Looping Source Code  
  • If Statement  
  • Switch Statement  
  • For Statement  
  • while do Statement  
  • do while Statement  
  • Download Coding Challenge Source Code  
  • Coding Challenge: Improve your Cashier Code - Part 1  
  • Coding Challenge: Improve your Cashier Code - Solution 1  
  • Coding Challenge: Improve your Cashier Code - Part 2  
  • Coding Challenge: Improve your Cashier Code - Solution 2  
Functions - Part 1
  • Download Functions Part -1 Source Code  
  • Introduction to Functions - Part 1  
  • Return values  
  • Pass 'by value' vs 'by reference'  
  • First class functions  
  • Statement vs Expression  
  • IIFE: Immediately Invoked Function Expressions  
  • An invocation pattern: Recursion  
  • Built-in JS Functions  
  • Scope  
  • Coding Challenge: Is it prime? - Introduction  
  • Coding Challenge - Is it Prime Source Code  
  • Coding Challenge: Is it prime? - Logic  
  • Coding Challenge: Is it prime? - Solution  
  • Coding Challenge: Can you count the primes? - Introduction  
  • Coding Challenge - can you count the primes source code  
  • Coding Challenge: Can you count the primes? - Logic  
  • Coding Challenge: Can you count the primes? - Solution  
Objects - Part 1
  • Download Objects Part - 1 Source Code  
  • Object literals  
  • 'Dot notation' vs 'Brackets'  
  • Constructors - 'new' keyword - 'this'  
  • Prototype  
  • Equality  
  • String Object  
  • Date Object - 1  
  • Date Object - 2  
  • Math Object  
  • JSON  
  • Array Object  
  • Array methods  
  • Loop through Arrays using forEach  
The DOM
  • Download DOM Source Code  
  • Learn HTML&CSS (1)  
  • Learn HTML&CSS (2)  
  • Learn HTML&CSS (3)  
  • Learn HTML&CSS (4)  
  • Understand the DOM  
  • Access DOM elements (1)  
  • Access DOM elements (2)  
  • Change DOM elements  
  • Remove DOM elements  
  • Event Handling (1)  
  • Event Handling (2)  
  • Event object - keys  
  • Event object - Mouse events  
  • Event object - Scroll event  
  • Event object - Focus  
  • Event object - preventDefault  
  • Single Threaded Javascript  
  • Debouncing  
  • Event Propagation  
  • Event Delegation  
  • jQuery  
Execution Context - Hoisting - 'this'
  • Download Execution Context Source Code  
  • Global Execution Context - 'this'  
  • Execution Context - Creation & Hoisting  
  • Execution Context - Execution  
  • Function declaration overriding variable declaration  
Scope Chain
  • Download Scope Chain Source Code  
  • Introduction to Scope Chain  
  • Understand the scope chain  
Closures
  • Download Closures Source Code  
  • Understand Closures  
  • Update values of outer variables (1)  
  • Update values of outer variables (2)  
  • Closures with event loops (1)  
  • Closures with event loops (2)  
  • Iteration Challenge  
Objects - Part 2: Encapsulation & Information Hiding
  • Download Objects - Part 2 Source Code  
  • Why would you hide information?  
  • Use closures to hide properties and methods  
  • Use IIFE to create private static properties and methods  
Objects - Part 3: Inheritance & Prototype chain
  • Download Objects - Part 3 Source Code  
  • Understand the prototype (1)  
  • Understand the prototype (2)  
  • Inheritance & Prototype Chain: __proto__  
  • Inheritance & Prototype Chain: Object.create  
  • Inheritance & Prototype Chain: Constructor Inheritance  
  • Inheritance & Prototype Chain: extend function  
  • Class Augmentation (1)  
  • Class Augmentation (2)  
  • Object cloning  
Objects part - 4: Objects Challenges
  • Download objects - Part 4 Source Code  
  • Challenge: Iteration and hasOwnProperty  
  • Challenge: Iteration using object.keys & forEach  
  • Challenge: getPrototypeOf & getOwnPropertyNames  
  • Challenge: Climb up the prototype chain  
Objects - Part 5: Singleton & module Patterns
  • Download Objects - Part 5 Source Code  
  • Namespacing  
  • Singleton Pattern  
  • Wrap page specific code  
  • Modular Design Pattern  
Functions - Part 2
  • Download Functions Part -2 Source Code  
  • Functions are objects  
  • The 'arguments' property  
  • Function.prototype.call  
  • Function.prototype.apply  
  • Function.prototype.bind  
Typing Test App (Advanced Real Life Professional Project)
  • Introduction to Typing Test App  
  • Steps Simplified  
  • Back to Client Requirements  
  • Functional Design  
  • Modular Pattern Design  
  • Modular Categorisation  
  • Data Module Structure  
  • UI Module Structure  
  • Format Current Word Structure  
  • Results Calculation Structure  
  • Update Time Left - Structure  
  • Certificate Module Structure  
  • Events Module Structure  
  • Words Module Structure  
  • Overview of Modules  
  • Get ready to Write Code  
  • Download Get ready to Write Code Source Code  
  • App Skeleton & Decoration (1)  
  • App Skeleton & Decoration (2)  
  • App Skeleton & Decoration (3)  
  • Download App Skeleton & Decoration Source Code  
  • init function (Events Module)  
  • Download init function (Events Module) Source Code  
  • Fill the list of Test Words (Data Module)  
  • Download Fill the list of Test Words (Data Module) Source Code  
  • Shuffle an Array  
  • Download Shuffle an Array Source Code  
  • Add Random Capitalisation  
  • Download Add Random Capitalisation Source Code  
  • Add Random Punctuation  
  • Download Add Random Punctuation Source Code  
  • Fill the list of Test Words (1) (UI Module)  
  • Fill the list of Test Words (2) (UI Module)  
  • Download Fill the list of Test Words (2) (UI Module) Source Code  
  • Time Initialisation (Data & UI Modules)  
  • Download Time Initialisation (Data & UI Modules) Source Code  
  • Move to a New Word (Data Module)  
  • Move to a New Word (Data Module) Source Code  
  • Set the Active Word & Format it (UI Module)  
  • Download Set the Active Word & Format it (UI Module) Source Code  
  • Type a Character - Event Listener  
  • Download Type a Character - Event Listener Source Code  
  • word.prototype.update(value)  
  • Download word.prototype.update(value) Source Code  
  • keydown vs keyup vs keypress vs input Events  
  • keydown vs keyup vs keypress vs input Events Source Code  
  • Format the Active Word (UI Module)  
  • Format the Active Word (UI Module) Source Code  
  • Press Space - Event  
  • Press Space - Event Source Code  
  • Scroll the Active Word into the Middle of the View  
  • Scroll the Active Word into the Middle of the View Source Code  
  • Press Enter - Create a Fake Event using the Event Constructor  
  • Press Enter - Create a Fake Event using the Event Constructor Source Code  
  • Launch the Test  
  • Launch the Test Source Code  
  • Calculate Words Per Minute & wpmChange (Data Module)  
  • Update the Time Left (Data & UI Modules)  
  • Update the Time Left (Data & UI Modules) Source Code  
  • Calculate Clicks Per Minute & cpmChange (Data Module)  
  • Calculate Clicks Per Minute & cpmChange (Data Module) Source Code  
  • Calculate accuracy & accuracyChange (Data Module)  
  • Calculate accuracy & accuracyChange (Data Module) Source Code  
  • Update Results (UI Module)  
  • Update Results (UI Module) Source Code  
  • End the test & show the Modal (1) (Data & UI Modules)  
  • End the test & show the Modal (2) (Data & UI Modules)  
  • End the test & show the Modal (Data & UI Modules) Source Code  
  • Generate PDF Certificate (1) (Certificate Module)  
  • Generate PDF Certificate (1) (Certificate Module) Source Code  
  • Generate PDF Certificate (2) (Certificate Module)  
  • Generate PDF Certificate (2) (Certificate Module) Source Code  
  • Generate PDF Certificate (3) (Certificate Module)  
  • Generate PDF Certificate (3) (Certificate Module) source Code  
ES6 - ES2015: Introduction
  • Introduction  
ES6 - Variables & Scoping
  • Review of 'var' declaration  
  • 'let' scope and temporal dead zone  
  • Block scoping in ES6  
  • Functions and Block scoping  
  • Functions and Block scoping - Use 'let'  
  • 'let' Scope vs Closures  
  • Closures Challenge  
  • 'const' - Read only variables  
ES6 - Modern Feautures which will make your Coding Experience Easier!
  • Template Literals  
  • Arrow Functions - 'this' Lexical Scope  
  • Destructuring - Arrays  
  • Destructuring - Objects  
  • Destructuring - Functions  
  • Functions - Default Parameter Values  
  • Functions - Rest Parameters  
  • Spread Operator  
  • Object Literals New Features  
ES6 - New Data Structures & Iteration (Iterators, Generators, Maps, Sets,...)
  • for of Loop  
  • Iterators, Generators & next()  
  • Maps - Iteration  
  • Sets - Iteration  
  • Sets - Challenges: Intersection * Difference  
  • Symbols  
  • Symbol.iterator  
ES6 - Modern Array Methods
  • Array.from: collections, strings & arguments  
  • Array.from: optional map, length property, Maps & Sets  
  • Array.of()  
  • More Modern Array methods  
ES6 - Classes (static methods, getters/setters, inheritance, extends, super,...)
  • Back to ES5 Constructors  
  • ES6 Classes Syntax  
  • Static methods  
  • Getters & Setters  
  • Class Inheritance - extends - super()  
Reviews (0)