Please enable JavaScript to use CodeHS


Introduction to Computer Science in JavaScript (Corgi)

Units

Unit Description
Programming with Karel: Students learn the basics of programming by giving Karel the Dog commands in a grid world.
Karel Challenges: Students apply all the foundational concepts from Intro to Karel to solve new challenges.
JavaScript Basics: Students learn the basics of JavaScript including variables, user input, mathematics, and functions.
The Canvas and Graphics: Students learn how to add graphics objects and position them on the canvas.
Graphics Challenges: Students apply what they have learned about graphics and basic JavaScript to complete a set of challenges.
Control Structures: Students learn how to use control structures such as if/else statements and loops to make advanced programs in JavaScript.
Control Structures Challenges: Students apply the foundational concepts from the Control Structures module to solve new challenges.
Functions: Students learn to write reusable code with functions, parameters, and return values, and explore the impact of variable scopes.
Functions Challenges: Students use what they have learned in the Functions module to solve new challenges.
Animation and Games: Students learn how to make objects move around the screen and let users interact using the mouse!
Animation Challenges: Students apply all the foundational concepts from the Animations module to solve new challenges.
Project: Breakout: Students learn how to make their own Breakout game from scratch using JavaScript.
Final Project: Students apply the skills they've learned throughout the course to create an original program!
Final Exam: This course ends with a 25 question multiple choice exam.

Unit Description
Midterm:
Practice: Karel: It can take some time to learn all of Karel's tricks. Brush up here with some extra Karel practice problems. These reinforce all of the fundamental concepts introduced in Karel, including commands, functions, loops, conditions control structures, and problem decomposition.
Practice: Functions: Functions are the critical building block of any program. To be able to use functions, you want to make sure you fully understand parameters, return values, and how to create your own functions. That is what this practice module is for.
Practice: Console Challenges: A bunch of fun console programs to get practice with JavaScript.
Practice: Graphics and Animation: A bunch of fun graphics programs to get practice with JavaScript.
Extension: Visualizing Music: Learn how to create your own music visualizer!
Extension: Data Structures: Students learn about lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.
Practice: Data Structures Challenges: Learn to code Conway's Game of Life and your own Connect Four game using your skills in data structures.
Project: Tic Tac Toe: Students create their own game of Tic Tac Toe! Students apply what they have learned about data structures and make a two player tic tac toe game.
Project: Helicopter Game: Students demonstrate their programming prowess as they develop the classic Helicopter game one step at a time.
Intro to CS: JavaScript Pretest: