Core Coursework
(take these in order)
- +
Editor's Notes
A practical introduction to JavaScript and an overview of the language, Anjana covers what you need to know to be competent at writing JavaScript. - ⠇
JavaScript: From First Steps to Professional
Take your first steps into the wide world of JavaScript and walk away with the core skills needed to become a professional JavaScript programmer! - +
Editor's Notes
Will’s course emphasizes in-depth knowledge of JavaScript and technical communication, two skills necessary for becoming a high-performing engineer. - ⠇
JavaScript: The Hard Parts, v2
Take your JavaScript to the next level. Gain an understanding of callbacks, higher-order functions, closure, asynchronous and object-oriented JavaScript! - +
Editor's Notes
Many JavaScript developers quickly jump into a framework before understanding the power and potential of Vanilla JS. Use Max’s course to understand why you might not need a framework. - ⠇
Vanilla JS: You Might Not Need a Framework
Explore Vanilla JavaScript, understand core concepts, work with the DOM API, handle events, and build a web application from scratch. Delve into advanced topics like SPA routing, web components, and reactive programming. - +
Editor's Notes
Kyle’s course reinforces many 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, v3
Dive into JavaScript's core language features; types & coercion, scope & closure, and JavaScript's object-oriented system. - +
Editor's Notes
Modern JavaScript builds on top of the foundations and adds more to the language. Will’s JavaScript the Recent Parts course will give you a deeper understanding of the modern features in the JavaScript Language. - ⠇
JavaScript: The Recent Parts
Get up to speed with new object destructuring JavaScript features like tagged template literals, destructuring, iterators, generators, and async-await. Learn more! - +
Editor's Notes
Understanding asynchronous and functional programming drastically increases your programming abilities. - ⠇
The Hard Parts of Asynchronous JavaScript
Develop an intuitive understanding of the new features of JavaScript in ES6+: iterators, generators, promises, and async/await! - +
Editor's Notes
Functional programming relies on tools like map/reduce/filter, pure functions, and immutability. These tools allow developers to compose pure functions to write more predictable and bug-free code. - ⠇
Functional-Light JavaScript, v3
Improve your JavaScript by applying functional programming concepts like function purity, point-free, partial-application, currying, plus even more advanced concepts. - +
Editor's Notes
Go under the hood of the web browser as Will builds a robust mental model for UI composition and virtual DOM rendering so you can understand and recreate the reactivity of frameworks in the most performant way. - ⠇
The Hard Parts of UI Development
Develop an under-the-hood knowledge of UI development by learning techniques such as data binding, UI composition, templating, virtual DOM and its reconciliation, and hooks, all from scratch! Master UI frameworks such as React, Angular, Vue, and Svelte by seeing exactly what problems they solve. - +
Editor's Notes
We have even more optional JavaScript courses! TypeScript is a standard way to add type information into the language. You’ll want to learn to optimize and measure your code’s performance. Check out the various design patterns you can utilize in your applications and learn some techniques to debug your JavaScript.
Elective Coursework
- ⠇
TypeScript Fundamentals, v3
TypeScript adds a powerful type system on top of your JavaScript to catch bugs before they happen and provides a superior developer experience for collaborative teams. - ⠇
JavaScript Performance
Write more efficient JavaScript, optimize rendering performance, load assets faster with a CDN, split loading resources with Webpack, and more! - ⠇
The Hard Parts of Object Oriented JavaScript
Understand JavaScript’s prototypal design and ES6+ classes to better organize and scale your JavaScript apps. - ⠇
A Tour of JavaScript & React Patterns
Learn a suite of design patterns to improve your JavaScript and React code architecture! - ⠇
JavaScript Testing Practices and Principles
In this course, you'll learn the principles and best practices for writing maintainable test applications to catch errors before your product reaches the end user. - ⠇
Debugging and Fixing Common JavaScript Errors
Learn what causes common JavaScript bugs and how to debug them. Learn how to use the latest developer tools to isolate and fix the source of issues. - ⠇
Hardcore Functional Programming in JavaScript, v2
Learn functional programming concepts such as pure functions, currying, composition, functors, monads, and see functional concepts in action!