|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.
|Karel Challenges: Students apply the foundational concepts from Karel to solve programming challenges.
|What is Computing?: Students review the history of computing, learn about the various parts that make up modern computers, and the impact computing has on the world.
|Mobile Apps Project: Students explore examples of how to make their first real mobile app and how to test it out on their phone. To run apps on a smartphone phone, students will need to download the Expo app. Find more information about Expo at https://expo.io.
|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.
|Web Design: Students are led through a high-level introduction to HTML and CSS to create several simple web pages.
|Computer Science Careers: Students explore various careers in computer science.
|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.
|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
|Control Structures Challenges: In this module you'll take all the foundational concepts from the Control Structures unit to solve some programming challenges.
|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.
|Functions, Events, and Lists: Learn to write reusable code with functions and parameters.
|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.
|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:
|The ABCs of Cryptography: In this module, we will dive into the history of cryptography systems, the motivation behind using encryption systems, and basic cryptography systems. Additionally, we will explore topics on how to use cryptography, cryptology, and cryptanalysis to decode a message without the use of a key. Finally, we will look into more advanced cryptographic topics like public key cryptography and hash functions.
|Software Security: In this module, we will learn what happens when running a web application and how to look inside web apps using developer tools, source code, and more. We will learn basic SQL so we can learn about common attacks like SQLi and XSS. and recommend solutions for flawed security systems.
|What is Computing? Original Material:
|New Material (2020-2021):
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.Teacher Signup
Sign up as a student if you are in a school and have a class code given to you by your teacher.Student Signup