Master Writing Professional and Modern JavaScript

Take your JavaScript to the next level and find out what it's fully capable of.

Core Coursework

(take these in order)

  • +

    Editor's Notes

    A practical introduction to JavaScript and an overview of the language, Bianca covers what you need to know to be competent at writing JavaScript.
  • JavaScript: From Fundamentals to Functional JS, v2

    Learn higher-order functions, closures, scope, master key functional methods like map, reduce and filter and promises and ES6+ asynchronous JavaScript.
    8 hours, 11 minutes CC
    JavaScript: From Fundamentals to Functional JS, v2
  • +

    Editor's Notes

    Will’s course emphasizes not only understanding JavaScript, but also communicating your understanding of the language’s most important concepts. Communicating is a necessary skill for becoming a high-performing engineer.
  • JavaScript: The Hard Parts

    Take your JavaScript to the next level. Gain an understanding of callbacks, higher order functions, closure, asynchronous and object-oriented JavaScript!
    7 hours, 9 minutes CC
    JavaScript: The Hard Parts
  • +

    Editor's Notes

    Kyle’s course builds by reinforcing many of the foundational concepts covered in Will’s course, but goes even deeper. He also covers types and the type coercion that goes on under the hood of JavaScript.
  • Deep JavaScript Foundations

    Master JavaScript deeply learning scope and closure, functions, the prototype system, closure, types, coercion and new ES6 features in JavaScript!
    9 hours, 50 minutes CC
    Deep JavaScript Foundations
  • +

    Editor's Notes

    Modern JavaScript builds on top of the foundations and adds syntactic sugar like arrow functions and ES6. Kyle’s ES6 course will give you a deeper understanding of the newer language features.
  • ES6: The Right Parts

    Learn new ES6 JavaScript language features like arrow function, destructuring, generators & more to write cleaner and more productive, readable programs.
    5 hours, 18 minutes CC
    ES6: The Right Parts
  • +

    Editor's Notes

    Understanding asynchronous and functional programming deeply will increase your programming abilities drastically. The first course is part 2 of Will’s “Hard Parts” series. With this one, he’s focusing on the new asynchronous features in JavaScript.
  • JavaScript: The New Hard Parts

    Develop an intuitive understanding of the new features of JavaScript in ES6+: iterators, generators, promises, and async/await!
    4 hours, 48 minutes CC
    JavaScript: The New Hard Parts
  • +

    Editor's Notes

    There’s a push with new languages that compile to JavaScript which are born of a functional nature like Elm and PureScript. In this course, we see how far we can take pure JavaScript towards more traditional functional programming.
  • Hardcore Functional Programming in JavaScript

    Discover functional programming and build an example web app using abstract interfaces like Monads, Functors, Monoids and Applicatives.
    5 hours, 58 minutes CC
    Hardcore Functional Programming in JavaScript
  • +

    Editor's Notes

    Getting lots of practice using map, reduce and filter will reveal how completely indispensable of tools they are in your day to day code. Jafar teaches these within the context of observables, which is a construct to create streams of data in JavaScript.
  • Asynchronous Programming in JavaScript (with Rx.js Observables)

    Learning how to build and manage asynchronous programs is perhaps the most important part of becoming an effective JavaScript programmer.
    9 hours, 38 minutes CC
    Asynchronous Programming in JavaScript (with Rx.js Observables)
  • +

    Editor's Notes

    We have even more optional JavaScript courses! TypeScript is increasingly becoming a standard way to add type information into the language. You’ll want to learn to be able to optimize and measure your code’s performance. The entire JavaScript language can be broken down into abstract syntax trees (ASTs). Finally, it’s good to have some techniques to debug your JavaScript.

Elective Coursework