An introduction to JavaScript for intermediate or advanced coders in upper middle or high school. In this advanced lesson plan, students will be introduced to JavaScript as they complete engaging lessons, solve challenging puzzles, and build their own games in JavaScript. This course is ideal for students who have already completed at least one Tynker course and are comfortable with the basics of programming logic and computational thinking. This course will help them transition to JavaScript and adapt to the additional challenges of text-based syntax.

Students who successfully complete this lesson plan will demonstrate a strong mastery of JavaScript syntax, as well as the ability to creatively program games and other projects and debug their own code. Students will also be able to come up with an idea for a game and take it through the entire design and implementation process, creating custom versions of many of their favorite games in JavaScript.


  • JavaScript syntax
  • Sequencing
  • Repetition
  • Conditional logic
  • Nested loops
  • Automation
  • Pattern recognition
  • Simple motion
  • Keyboard and mouse events
  • Creating and using an HTML canvas
  • Operators
  • Expressions
  • Variables
  • Collision detection
  • Using arrays and objects to store structured data

What Students Learn

  • Learn JavaScript syntax
  • Use conditional logic, loops, and conditional loops to solve problems
  • Create and use variables
  • Detect and handle keyboard and mouse events
  • Write and interpret JavaScript expressions
  • Use the HTML canvas for drawing and displaying images
  • Detect win/loss conditions in a game
  • Implement collision detection between images on the canvas
  • Use arrays and objects to store structured data

Technical Requirements

* Online courses require a modern desktop computer, laptop computer, Chromebook, or Netbook with Internet access and a Chrome (29+), Firefox (30+), Safari (7+), or Edge (20+) browser. No downloads required.

1. The Basics
16 activities
Get used to typing and syntax and learn the basics of JavaScript.
2. Loops and Patterns
16 activities
Learn to recognize patterns and use a "for" loop to solve problems.
3. Conditional Logic
16 activities
Learn about conditionals in JavaScript.
4. Conditional Loops
11 activities
Learn how to use the "while" loop and the "do-while" loop in JavaScript.
5. Variables
15 activities
Learn to use variables to store information in JavaScript.
6. Expressions
11 activities
Learn about expressions in JavaScript.
7. Using the Canvas
14 activities
Discover the canvas element, sprites, layering, and sorting
8. User Interaction
11 activities
Learn to set up and handle keyboard and mouse events in JavaScript.
9. Game Design
16 activities
Learn about game loops, win/loss conditions, and keeping score in JavaScript.
10. Snake
1 activity
Create a "Snake" game on your own.
11. Breakout
1 activity
Build a game of "Breakout" on your own.
12. Pong
1 activity
Program a game of "Pong" on your own.
13. Final Game
3 activities
Build a game of your choice. Choose from "Flappy Bird", "Alien Invaders", and "Geometry Dash".