Please enable JavaScript to use CodeHS


New Hampshire Foundations of Computer Science

Units

Unit Description
Digital Citizenship and Cyber Hygiene: 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.
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.
Networks and the Internet: Students explore the structure and design of the internet, and how this design affects the reliability of network communication, the security of data, and personal privacy.
JavaScript and Graphics: Students learn the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students learn how to pair program while tackling more challenging tasks with JavaScript graphics.
JavaScript Control Structures: Students learn how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges: Students take all the foundational concepts from the Control Structures unit to solve some programming challenges.
Functions, Events, and Lists: Students learn to write reusable code with functions and parameters.
Final Project: Students learn the theory and practice of user interface design. With rapid prototyping and user testing, they design and develop their own engaging web pages.

Unit Description
Computer Science Careers: This module introduces students to potential career paths in the field of computer science.
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.
Animation and Games- Extended User Interaction: Now, your graphics will come to life. You will learn how to make objects move around the screen. You will also learn how to let the user interact with your program with the mouse. At the end of this section, you will program your very own video game.
Extended Array Concepts: We introduce lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.
Extended Data Structures: