Make your websites dynamic and interactive with JavaScript! You'll create features and stand-alone applications. This course will wrap everything you've learned at The Odin Project into one, final capstone project.

The Basics and the Browser

We'll zoom through the basics of Javascript and how it's used in the browser with jQuery. This where things get really fun, since you get to immediately see everything you're building in the browser. By the end of this section, you'll actually know everything you need to build fun and interesting front-ends but, of course, it's really just the beginning.

Events, Effects and Widgets

Events drive just about everything you'll do with Javascript in the browser. We'll take a closer look at how they work and the kinds of things that they allow you to do.

Deeper into Javascript

You can do a lot with just basic Javascript, jQuery and a hacker mindset. But this section will take you deeper into how Javascript is actually doing things and it will give you the tools to produce more advanced functionality for your sites. Some of the previous projects have probably tested the boundaries of your understanding of Javascript, and here we'll fix that.

Advanced Browser Work

There's a whole lot more to using Javascript in the browser than just manipulating simple DOM elements with jQuery. If you want to grab data from external sites or your own back end, submit forms, or handle more complicated games, you'll need to dig deeper into how Javascript handles things like callbacks. Here we'll also cover how to build games using HTML5's `<canvas>` element, which lets you use Javascript logic to draw shapes.

Better Forms with jQuery and AJAX

In this section you'll learn about AJAX, the technology which allows you to send data from the browser to your web application without needing to refresh the page. It's commonly used with forms, but really represents a whole world of possibility for crafting performant user experiences.

Linking to APIs and Your Rails Back End

A real web app needs a back end in order to persist its data and do sensitive operations. Here you'll learn how to handle use AJAX to send data requests to your Rails back end. You'll also get a chance to work with external APIs like Google Maps, which is something you'll probably find yourself doing quite frequently as you build your own projects in the future.

Server Side Javascript and Javascript Frameworks

This is an **OPTIONAL** section where you will learn about using Javascript to run your server (instead of Ruby) and also about Javascript frameworks which let you build a full website as a single page run by Javascript to create blazing fast user experiences.

Finishing Up with Javascript

You've learned everything you need and all that remains to do is apply that knowledge to a worthy task. In this section, we'll briefly cover how to test Javascript using Jasmine and then get you started with your capstone project so you can show off your range of skills.