Skip to main content
Course image for JavaScript Foundations

JavaScript Foundations

Full Course

JavaScript Foundations will teach you the fundamentals of programming with JavaScript and get started on the road to its mastery. Prior experience with HTML & CSS is recommended.

Course Preview

Stop Faking It And Learn The True Power Of JavaScript

In this course, you will learn how to create code that can make basic decisions; employ efficient debugging techniques with browser developer tools; access and modify HTML elements and CSS styles on a page; and use JavaScript to communicate with a server. This course will also introduce you to the rapidly growing world of JavaScript libraries, and you'll get a chance to create a simple application with Backbone.js.

Course Outline

  • Lesson One: JavaScript Basics

    This lesson focuses on the bare basics of what you need to know about JavaScript: working with variables, types of data in JavaScript, how to handle text and numbers, and even how to let your code make its own decisions. We’ll also talk about tools you need to get started, and how to begin debugging your code.

  • Lesson Two: More JavaScript Basics

    In this lesson, you’ll learn about functions, a couple of new data types as well as arrays, and objects. We also get into events and advanced debugging. By the end, you’ll be able to create small programs with more complex behavior that can react to user input.

  • Lesson Three: The DOM (Document Object Model)

    The Document Object Model, or DOM, is a model of an HTML document, where each HTML element is represented by a JavaScript object. In this lesson, we’re going to show you how to use JavaScript to manipulate the DOM.

  • Lesson Four: Creating Elements, Fragments, and Templates

    In this lesson, we’ll take manipulation of the DOM a step further-creating brand new HTML elements, adding them to a page, removing existing elements from a page, and even moving elements around to rearrange a page. We’ll also look at building and deploying document fragments.

  • Lesson Five: Server Communication

    So far, we’ve been developing all our projects in a sandbox. In this lesson, we’ll move beyond the sandbox and begin communicating with the outside world by sending data to and receiving data from servers on the Web.

  • Lesson Six: Advanced Concepts

    In this lesson, we wrap up by covering the subject of scope, going into a few basic concepts of application design, and then finally, looking at some application frameworks and doing a bit of hands-on work with one of those frameworks, Backbone JS.


  • The ability to code HTML/CSS by hand.
  • An understanding of device differences: You should at least be familiar with the differences between various systems, devices, and web browsers.
  • Familiarity with jQuery, but this is not strictly required.

Software Requirements

  • Mac or Windows desktop or laptop
  • A text editor (We suggest Visual Code Studio, it’s free, and available for Mac, Windows, and Linux)
  • Google Chrome web browser is recommended, although any modern browser with Developer Tools will suffice.

This Course is For

  • Designers with coding chops
  • Front-end developers
  • jQuery developers

Meet the Instructor

Keith Peters

Keith Peters

Keith Peters is a developer based in Boston. He is the author of Playing with Chaos: Programming Fractals and Strange Attractors in JavaScript and Actionscript 3.0 Animation: Making Things Move. He is also co-author of HTML5 Animation with Javascript and the Actionscript 3.0 Cookbook.


🛠 We’re planning some website maintenance on . We’ll be down temporarily — we apologize for any inconvenience.