Please enable JavaScript to use CodeHS

Michigan Course 3A


Unit Description
Digital Citizenship and Cyber Hygiene: Students are introduced to Internet etiquette and how to stay safe on the world wide web. Students will explore the potential effects of their digital footprints, how to protect information from online risks, and the implications of cyberbullying.
Programming With Karel: Students are introduced to programming with Karel the Dog. Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. Students learn to program Karel to solve puzzles and challenges.
Karel Challenges: Students use everything they learned in the previous module to solve challenging puzzles with Karel the Dog!
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 are introduced to the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students learn how to pair program! Students take all the foundational concepts from JavaScript Graphics to solve some programming challenges.
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: This unit introduces students to the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface and employ an iterative design process including rapid prototyping and user testing to 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: