Getting Started

Get an overview of this course.

Course overview

The course starts with an overview of programming and it's history of programming. It then introduces JavaScript, with which we'll build our first JavaScript program. We'll then go over some basic programming concepts, such as the importance of comments and programming grammar, variables, and pop-up interaction.

Next, we'll shift our focus and look at some different datatypes, including characters, string, and different numeric types. We'll also learn how to find characters in a string, changing cases, and arithmetic operations, as well as generate numbers.

We will then delve into logical operations and flow control in JavaScript. We'll learn about boolean data types, logical operators, comparison operators, and how to implement logic in practical scenarios.

Press + to interact

From there we'll explore the concept of collections in JavaScript, focusing on arrays and multi-dimensional arrays. We'll learn how to manipulate arrays, transform their contents, and work with multi-dimensional arrays.

Next we'll delve into logical operations and flow control in JavaScript. We will learn about boolean data types, logical operators, comparison operators, and how to implement logic in practical scenarios.

The course will then introduce loops and iteration in JavaScript. We will explore different types of loops—including for loops and nested loops—and learn how to apply them effectively. We will deepen our understanding of arrays by exploring the spread operator, array iteration methods, and object iteration.

We will then learn about functions, their role in JavaScript, and how to work with parameters and arguments. We'll also explore random number generation, return values, and callbacks. This knowledge is essential for building modular and efficient code. Later, we'll dive into functional programming concepts in JavaScript. We'll explore scope, hoisting, and closure, and learn how to perform pure array updates. 

We then get an  introduction to the concept of objects in JavaScript. We will explore properties, methods, and how to work with objects to organize and manipulate data. We’ll explore advanced topics such as copying objects, object-oriented programming, and class components as well. 

Next we'll learn about the Document Object Model (DOM), a crucial aspect of web development. We'll explore how to navigate the DOM, manipulate attributes and styles, and create interactive web content.

After that, we'll focus on event-based programming in JavaScript. We'll discover how to handle keyboard and mouse events, and you'll build a To-Do List App to practice your event handling skills.

Finally, we’ll delve into time and date manipulation, timing, and asynchronous techniques in JavaScript. These skills are essential for building dynamic and responsive web applications.

Aim of the course

The aim of this course is to introduce the basic concepts of coding, backing up the theory with plenty of practical examples. Each chapter ends with coding challenges that will help consolidate your understanding. We encourage you to really dig into these challenges.

Press + to interact

We’ve tried to make as many of the challenges in the course as fun as possible, both to code and to play. By the end of the course, you’ll have coded a couple of fully playable games. You will also have the knowledge to create interactive websites, and you’ll be on the right path for writing full-scale applications.

Programming is a creative endeavor; it’s fundamentally about creating things. We need our code to be precise and concise, but we also need to inject it with some flair to make it come alive. This mix of precision and ingenuity is what continues to make coding enjoyable. Our hope is that this course will inspire you to start coding, and that you will continue to enjoy coding for a long time after you’ve finished this course.

Intended audience

This course is for people with no prior programming experience who would like to learn how to code. We use JavaScript in this course to teach you basic coding concepts—so at the end you will have a good understanding of JavaScript—but you can apply the principles you’ve learned to other programming languages too.