× {{alert.msg}} Never ask again
Class time and plan

Live Mentor

Small Group

Hands-On Learning

“Through live sessions with interactive Q&A, learn everything you need to be productive in JavaScript in just 9 hours. ”

Josh David Miller

Josh David Miller is a UX-focused product consultant and serial entrepreneur who helps startups bring ideas to market. Josh has more than a decade of experience building products and their integrated teams, and he is an avid evangelist of and contributor to open source initiatives.

Master JavaScript in 4 Weeks with a Live Instructor

Who is this class for?

This class is for those who have had some exposure to JavaScript, but are looking to master its fundamentals for great good.

No knowledge of any existing frameworks or tools is required, but we recommend that you check out the curriculum and make sure you know at least 50% of what the topics are about, meaning that you feel comfortable in participating in relevant discussions.

Also, whether you can get the most out of the class or not largely depends on if you know what you are interested in learning. Being comfortable with doing research and willing to tackle assignments would help you tremendously make good use of the class as well.

What will you learn?

You will learn everything you need to start building things for the web, including the fundamentals of the language, its capabilities, and how to leverage your new skills to learn any of the many great front-end or back-end JavaScript frameworks.




Codementor 4-Week JavaScript Class: Syllabus

Lesson 1

Day 1: Test-Driven Development

In our first class together, we’ll talk about what you can expect from this class. Then we’ll take things easy with a walk through the land of test-driven development (TDD), and we’ll flex our muscles with some ES6/ES2015 syntax.

Question Scope

  • variable scope;
  • objects vs primitives;
  • functional programming;
  • unit testing, test-driven development, expectations, test runners (like Tape), assertions, etc;
  • var vs let vs const;
  • ES2015 syntax: fat arrows, rest/spread, template strings, enhanced object literals, destructuring, default values, modules and exports, etc;

Lesson 2

Day 2: The Document Object Model (DOM)

Now that we’ve laid the groundwork, it’s time to get started! In our second class together, we’ll create a primitive, hacky “to do” app in the browser using pure JavaScript - no jQuery here! Then we’ll talk about the limitations of what we just created and how we might go about improving it on Day 3.

Question Scope

  • the document object model (DOM);
  • querying for nodes/elements;
  • creating, updating, and removing elements;
  • jQuery vs pure JavaScript;
  • browser events and the event loop;
  • working with forms, buttons, and input boxes;

Lesson 3

Day 3: Prototypes

It’s time for a challenge. Let’s talk about the three kinds of prototypal inheritance in JavaScript (concatenative, functional, and differential) and when it’s best to use each.

Question Scope

  • inheritance;
  • constructors and factory functions;
  • ES2015 classes;
  • the new keyword;
  • the code>this keyword;
  • mixins;
  • higher-order functions;

Lesson 4

Day 4: Architecting Scalable Web Apps

Day 3 was a doozy, so it’s time to practice it some more. We’ll take the knowledge we gained from Day 3, throw in some best practices, and then rewrite the parts of our todo app that would be helped by our new mad skillz.

Question Scope

  • Day 3, continued;
  • business logic vs UI code;
  • application state;
  • unidirectional data flow;

Lesson 5

Day 5: Asynchronous JavaScript

So far, all our data has been ephemeral - just living in memory and dying as soon as we leave the page. The next step is creating a server - someplace to store it. But before we do that, it would be a great boon for us to understand how we work with asynchronous code in JavaScript. We’ll start with callback drawbacks, move into promises, and end with reactive programming.

Question Scope

  • callback functions;
  • promises, then, and error handling;
  • reactive programming and observables;

Lesson 6

Day 6: Node & NPM

Now we’re ready to go on the frontend, so we turn our attention to the backend. On Day 6, we create a complete server backend for our todo application.

Question Scope

  • REST APIs;
  • Node, NPM, package management, and scripts;
  • ExpressJS;
  • Cross-origin resource sharing (CORS);
  • databases;
  • HTTP, headers, methods, etc;

Lesson 7

Day 7: Webpack

We have a frontend; we have a backend. But they’re not connected. It’s time to pull everything together to get a complete, fully-functional todo app using our full-stack engineering skills. And though we’ve been using it since Day 2, we’ve glossed over how we go from raw code to running web app. In this class, we’ll dive into Webpack, its history, and why its necessary, as well as take just a quick peak at its awesome power.

Question Scope

  • building web apps;
  • communicating with the server using fetch or XHR;
  • webpack, bundles, modules, loaders, etc;
  • continuous integration and continuous deployment;
  • isomorphic/universal JavaScript;
  • Application state versus UI state;

Lesson 8

Day 8: React + the Developer Console

We now have a complete web app written in pure JavaScript, but you’re unlikely to write any application of scale that way, so it’s time to learn some frameworks. We’ll start our penultimate class by porting our app to React, a lightweight, lightning-fast view library. With the little time we have left, we’ll also take a quick detour into Chrome developer console and the awesome power it brings us.

Question Scope

  • React: components, JSX, state, props, etc.
  • Frameworks versus libraries;
  • Associated technologies: Redux, Relay/GraphQL, routing, etc;
  • Source maps;
  • Stepping and the debugger;
  • The “Network” tab;

Lesson 9

Day 9: AngularJS + Next Steps

No JavaScript class would be complete without talking about the hugely popular AngularJS, a big, opinionated framework for creating web apps. We’ll start by porting our application to this framework before moving on to discuss the differences between it and React, and determining which is right for you. Because this is, sadly, our final class, we’ll end with a discussion on next steps: where do you go from here?

Question Scope

  • AngularJS: components, directives, services, dependency injection;
  • Opinionated vs non-opinionated frameworks;
  • Career choices and how to gain a reputation;
  • What to learn next and how best to learn it;
  • Evaluating frameworks;
  • Comparisons to other frameworks: Meteor, Vue, Backbone, etc;
  • Founding a startup;



You Will Get

9 Hours of Live Classes

The live group lecture is the core of the class. The mentor will teach the curriculum live and students can ask questions directly.

Hands-on Pair Programming

You'll get the chance to code live via hands-on exercises. All students will work on the exercises together and get instant feedback from the instructor via screen-sharing.

Unlimited Lesson Playbacks

Had to miss a class? Fear not. All lessons are recorded and you can review the recordings in the future.

Frequently Asked Questions

How is this different from other courses?

For only $99, you’ll get to learn full stack JavaScript web development live with a real online mentor. This includes 4 weekly live classes. Having live interaction with a mentor makes learning much easier than watching recorded video tutorials.

What do I need to know before the class?

This class is for those who have had some exposure to JavaScript, but are looking to master its fundamentals for great good. No knowledge of any existing frameworks or tools is necessary.

What if I miss a class?

All classes will be recorded and you‘ll have access to the recordings at any time. You can also ask questions in our Slack channel and get help from other members of the community.

What is a Delayed Live Class?

Delayed Live Class is for those who couldn't make it for the live sessions. With Delayed Live Classes, you'll be able to watch recordings uploaded within 24 hours after each session, and have access to our Slack community to ask questions and discuss with your peers and the instructor.

Class Enrollment Starts Soon

Space is Limited - Reserve Your Seat Now!

This is not a beginner class. Not sure if you are ready for the class?

The class will be held on Mons and Thurs, at 6PM PST / 9PM EST, starting on Jun 15th.
The schedule doesn’t work for you?
Check out another class that are held on 11:30AM PST, staring on Jul 6th!
Marc

Questions? We're here to help!

Have questions about this live class or Codementor in general? Our team is here to help!

Class time and plan