Huntsville Training Track




We'll cover the fundamentals of practical JavaScript usage in a browser, with a focus on language features that tend to confuse people most in their first year or so of front-end work with some advanced crash courses sprinkled in between. The sessions are hands-on, drawing on the accelerated curriculum we use for rapid on-boarding at Hack Reactor, an advanced immersive program that trains exceptional full-stack software engineers.

JS Fundamentals: Arrays, Objects and Functions

Level: Beginner

We’ll cover the fundamentals of JavaScript, with a focus on the language features and questions everyone has in their first year of working in JavaScript, such as: “What does it mean for a function to have properties?” “How do I use the arguments object?” “Why can’t I use a for loop to iterate over an array?” “Can variables be used as references to other variables?”

Scopes and Closures demystified with pictures

Level: Beginner

Learn the details of how JavaScript scopes behave, and how to use the powerful tool of closures. Closures are everywhere in JS code, so understanding how to read them will dramatically improve your ability to read and debug any application.

Crash Course: Node.js

Level: Advanced

We’ll cover the basics on how to get started with Node.js, how to use the Node.js repl to run JavaScript files and spin up your first Node.js server using Express.js! This is an intermediate session for developers familiar with JavaScript syntax, interfacing with asynchronous systems, and at least minor use of the command line.

WTF is ‘this’?

Level: Beginner

It’s not you, it’s JavaScript. The keyword ‘this’ trips everybody up at first, and continues to do so long after it rightly should. We’ll cover the 4 simple rules that can lead you out of nearly any confusing situation. By the end, you’ll be equipped to confidently say what ‘this’ refers to at any point in your runtime.

Prototype Chains

Level: Intermediate

JavaScript offers a simple feature called “prototype chains” to support various forms of code sharing. Before diving into the deep end of pseudoclassical instantiation and subclassing, you’ll want to thoroughly know all the gotchas of this little feature they’re built upon.

Asynchronous Execution and Event Systems

Level: Intermediate

The majority of JavaScript applications rely on the language’s asynchronous features. Understanding how your interpreter’s internal event loop behaves will help you in your use of event systems and in debugging difficult race conditions. We’ll explore how you can use the event systems found in every JS interpreter, every browser, many libraries like jQuery, and practically every MVC framework.

Code Sharing Techniques

Level: Beginner

We’ll explore the patterns that you see every day in JavaScript code bases, and teach you to use the features you’ve learned to clean up and DRY out your code, including methods, mixins, and classes.

Crash Course: Backbone.js

Level: Advanced

Learn the fundamentals to get started with Backbone.js. Models, Collections and Views are covered as well as next steps to continue mastering this MV* Framework. This is an advanced class for developers familiar with JavaScript classes, jQuery, and use of 3rd party libraries.

Secrets and Lies about JavaScript Classes

Level: Intermediate

Most of the documentation to be found on the internet describing JavaScript classes, prototype chains, and the keyword ‘new’ is confusing or even misleading. However, there is a small set of foundational rules that can clarify almost any use case. We’ll examine the nuances that trip most people up, and give you a full working understanding of how to read and write various different flavors of JavaScript classes.