Make REAL web applications using cutting-edge technologies
Build responsive applications using modern CSS technologies like flexbox
Build JSON APIs using Node, Express and MongoDB
Learn the most popular front end library React and master the fundamentals around state, props and the component lifecycle
Use babel and webpack to transpile and bundle code
Understand what the Virtual DOM is and how React performs reconciliation
Leverage Component Lifecycle methods with React to include making AJAX calls properly
Secure Node, Express, Mongo and React applications on the front-end and back-end using bcrypt and JSON Web Tokens
Add routing to a single page application with the most popular routing library for react, React Router.
Manage State with a centralized store using Redux
Connect Redux with a React application to build scalable production applications with client-side state management
Select and manipulate elements in the DOM using D3
Build dynamic visualizations using D3 and SVG
Use D3 to build scatterplots, histograms, pie charts and force graphs
Build compelling map visualizations with GeoJSON and TopoJSON
Master how to handle asynchronous code using callbacks, promises, generators and async functions
Understand how JavaScript handles asynchronous code using the Event Loop with the Stack, Heap and Queue.
Use advanced array methods to build a solid understanding of functional programming
Create dynamic single page applications using AJAX
Structure applications with design patterns using closure and modules
Explain how Object Oriented Programming works with a thorough understanding of the keyword this and the new keyword
Refactor code using call, apply and bind to remove duplication
Use jQuery to build single page applications and understand the limitations of just using jQuery
Create block scope with the let keyword and use the const keyword to prevent variables from being redeclared
Clean up code using arrow functions and master method binding without using the bind keyword
Use default parameters, for of loops and the rest and spread operator to write more concise and more maintainable code
Refactor an ES5 application to use ES2015
Master the new class syntax and create instance methods, class methods
Implement inheritance in ES2015 using extends and super
Leverage newer data structures like Maps and Sets to better solve problems
Learn cutting edge features to the JavaScript language with ES2016, 2017 as well as experimental JavaScript additions
Solve problems similar to what you would get in a developer interview or phone screen