JavaScript is a programming language that allows you to implement complex things on web pages — every time a web page does more than just sit there and display static information for you to look at — displaying timely content updates, or interactive maps, or animated 2D/3D graphics, or scrolling video jukeboxes, etc. — you can bet that JavaScript is probably involved.

Learning pathway

JavaScript is arguably more difficult to learn than related technologies such as HTML and CSS. Before attempting to learn JavaScript, you are strongly advised to get familiar with at least these two technologies first, and perhaps others as well. Start by working through the following modules:

Having previous experience with other programming languages might also help.

After getting familiar with the basics of JavaScript, you should be in a position to learn about more advanced topics, for example:


This topic contains the following modules, in a suggested order for working through them.

JavaScript first steps
In our first JavaScript module, we first answer some fundamental questions such as "what is JavaScript?", "what does it look like?", and "what can it do?", before moving on to taking you through your first practical experience of writing JavaScript. After that, we discuss some key JavaScript features in detail, such as variables, strings, numbers and arrays.
JavaScript building blocks
In this module, we continue our coverage of all JavaScript's key fundamental features, turning our attention to commonly-encountered types of code block such as conditional statements, loops, functions, and events. You've seen this stuff already in the course, but only in passing — here we'll discuss it all explicitly.
Introducing JavaScript objects
In JavaScript, most things are objects, from core JavaScript features like strings and arrays to the browser APIs built on top of JavaScript. You can even create your own objects to encapsulate related functions and variables into efficient packages. The object-oriented nature of JavaScript is important to understand if you want to go further with your knowledge of the language and write more efficient code, therefore we've provided this module to help you. Here we teach object theory and syntax in detail, look at how to create your own objects, and explain what JSON data is and how to work with it.
Web API basics (TBD)
There is a huge number of APIs built into modern web browsers that enable you to do all kinds of interesting things. This module gives you a fun introduction to some of the most common and interesting ones.

See also

Coding math
An excellent series of video tutorials to teach the math you need to understand to be an effective programmer, by Keith Peters.

Document Tags and Contributors

 Last updated by: chrisdavidmills,