Download the free Grasshopper app

Coding Fundamentals I: JavaScript Basics

Learn coding fundamentals, like functions, variables, and much more. This is a JavaScript course, but the concepts apply to any programming language.

Drawing Shapes

Get started coding! Use functions to create colorful patterns.

Glossary: Functions


Variables store pieces of information, such as numbers or strings. Learn why variables are useful, how they’re created, and practice using them.

Glossary: Data Types, Strings, Numbers, Variables, Assignment Operators


An array stores a list of multiple items, for example a list of groceries (an array of strings) or a list of ages (an array of numbers). Start using arrays and learn how to edit and access the items that arrays store.

Glossary: Arrays, Array Indexing

If Statements

If statements run code only if a certain condition is true. Learn how to create an if statement and control the flow of your code.

Glossary: If Statements, Comparison Operators


Learn how to use operators in coding, such as math operators (add, subtract, multiply, and divide) and logical operators (and & or).

Glossary: Math Operators, Logical Operators


Repetitive tasks can be boring! Learn how to use a for loop to run the same block of code multiple times.

Glossary: Loops, For...of Loop

Loops II

Learn about other types of loops, such as a classic for loop, which runs a block of code a certain number of times.

Glossary: Loops, Classic For Loop, Nested Loop

Object Expressions

Start using objects to store more complex data. Find out how objects differ from arrays, and learn how to edit and access the key-value pairs they store.

Glossary: Objects

Climb the Mountain

In these final puzzles, you’ll use what you’ve learned to climb to the top of a mountain. Most of the puzzles don’t have starter code, so you’ll write your code from scratch!

Glossary: Functions, Objects, Arrays, Assignment Operators, Loops, Comparison Operators