Javascript and jQuery

Javascript is taking over the world right now -- web applications are becoming more and more front-weighted. While it used to be mostly a tool for animating drop down menus and validating form inputs, Javascript (with help from jQuery's magic) has grown into a way to produce full featured front end applications including single-page web apps.

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.

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.