Please enable JavaScript to use CodeHS

Indiana Computer Science I


Unit Description
Programming With Karel: Karel helps teach foundational skills in programming by simplifying JavaScript to four simple commands. Using these commands, students solve increasingly difficult problems and explore how complex programming languages can be developed from simple commands.
Karel Challenges: Students take all the foundational concepts from Karel to solve programming challenges.
Cybersecurity: Students learn topics on Internet etiquette, how to stay safe on the web, potential effects of digital footprints, how to protect their information, and the implications of cyberbullying.
JavaScript and Graphics: Students learn the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students learn the basics of pair programming and take all the foundational concepts from JavaScript Graphics to solve programming challenges.
JavaScript Control Structures: This module covers the basics of how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges: This module requires students to use all the foundational concepts from the Control Structures module to solve programming challenges.
Functions and Parameters: This module teaches students how to write reusable code using functions and parameters.
Functions Challenges: This module requires students to use all the foundational concepts from the Functions module unit to solve programming challenges.
Animation and Games: Students learn how to make objects move around the screen, and how to let users interact with programs using the mouse.
Animation Challenges: This module requires students to use all the foundational concepts from the Animations unit to solve some programming challenges.
Project: Breakout: In this module, students build their very own breakout game from scratch using JavaScript.
Final Project: Students take all the skills they've learned throughout the course to create a final program with a partner.
Final Exam: This module includes a culminating exam, testing students on their knowledge of all course materials.

Unit Description
Extra Karel Practice: 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.
Extra Karel Puzzles: A set of all the trickiest Karel puzzles for you to solve
Functions and Parameters Practice: 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.
Extra Console Challenges: A bunch of fun console programs to get practice with JavaScript.
More Graphics and Animation: A bunch of fun graphics programs to get practice with JavaScript.
Data Structures Challenge Problems: Learn to code Conway's Game of Life and your own Connect Four game using your skills in data structures.
Evolution Simulation:
Demo Problems:
Extra Quiz Questions:
Visualizing Music: Learn how to create your own music visualizer!
Data Structures: We introduce 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, you get to make your own game of tic tac toe on the computer! In this module, you will take what you have learned about data structures and make a two player tic tac toe game.
Project: Helicopter Game: You now have the tools to make amazing games. This module walks you through the creation of the classic Helicopter game one step at a time.