Please enable JavaScript to use CodeHS

Introduction to Computer Science in JavaScript (Bulldog)

Introduction to Computer Science in Javascript (Bulldog) is an honors-level introductory course. Its curriculum teaches the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills. Once students complete the course, they will have learned material equivalent to a semester college introductory course in Computer Science and be able to program in JavaScript.


Units: 18
Timeframe: Year
Contact Hours: 200

By the Numbers

Contact Hours 200
Lessons 99
Videos 74
Exercises 131
Challenges 76
Offline Handouts 154


Unit Description
Programming With Karel: Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. Students will learn to give Karel these commands to instruct him to do certain things. In doing so, students will discover what it means to program and hone their problem solving skills.
Karel Challenges: Students will apply all the foundational concepts from Intro to Karel to solve some programming challenges.
JavaScript and Graphics: Students learn the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students will learn how to pair program while tackling more challenging tasks with JavaScript graphics.
JavaScript Control Structures: Students will learn how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges: Students will take all the foundational concepts from the Control Structures unit to solve some programming challenges.
Functions and Parameters: Students will learn to write reusable code with functions and parameters.
Functions Challenges: Students will use what they have learned in the Functions module to solve challenges.
Animation and Games: Now graphics will come to life! Students will learn how to make objects move around the screen. They will also learn how to let the user interact with your program with the mouse. At the end of this section, they will program their very own video game.
Animation Challenges: In this module students will take all the foundational concepts from the Animations unit to solve some programming challenges.
Project: Breakout: Students will learn to make the game invented by Steve Jobs and Steve Wozniak! In this module, they will build their very own breakout game from scratch using JavaScript.
Basic Data Structures: Students will explore lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.
Project: Tic Tac Toe: Did you know that Tic Tac Toe may have been played in Ancient Egypt? Now, students get to make their own game of tic tac toe on the computer! In this module, students will take what they have learned about data structures and make a two player tic tac toe game.
Project: Helicopter Game: Students now have the tools to make amazing games. This module walks them through the creation of the classic Helicopter game one step at a time.
Final Project: In this module students will take all the skills they've learned throughout the course to create a final program with a partner!
Final Exam: This course ends with a 25 question multiple choice exam.


Click on a demo to test it out.

Blinking Rectangles

Breakout Game

Helicopter Game


Here are a few examples of teacher resources and materials to use in the Introduction to Computer Science in JavaScript (Bulldog) course

Format of Course

The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.

Who is it for?

The Intro to Computer Science in JavaScript (Bulldog) course is designed for complete beginners with no previous background in computer science, though it is considered an "honors" level JavaScript course due to the pacing and depth of content. The course is highly visual, dynamic, and interactive. It is recommended for students in grades 9-12 that have completed Algebra 1.


Interested in teaching the Intro to Computer Science in JavaScript course with CodeHS? Get in touch, so we can help you bring CodeHS to your school!

Bring to My School

Professional Development

Teaching Intro Computer Science

Dive into the basics of programming and learn how to lead a successful introductory computer science class. This course covers everything from learning effective debugging methods to teaching computer science in a blended classroom. Perfect for teachers with limited or no programming experience.

View Units
CodeHS PD Options