Code.org
Text Compression
The second lesson in a unit of 15 introduces pupils to text compression. The class begins with discussing how they already use text compression when sending text messages. Pairs learn more about the subject as they work to compress a...
Code.org
Encoding and Sending Formatted Text
Introduce your class to encoding text. Pairs work together to create a protocol to send text prior to learning ASCII encoding. Groups then collaborate to send and translate ASCII codes creating a formatted text message. 
Code.org
HTTP and Abstraction on the Internet
Introduce your class to the layers of abstraction of the Internet with a instructional activity on the HTTP protocol. Pupils review previous lessons on levels of the Internet, then investigate new high levels by examining the...
Code.org
The Need for Programming Languages
LEGO see if you can recreate my design. Individuals build an arrangement from LEGO blocks and write directions for someone else to follow in order to recreate the arrangement. Pairs then swap directions and try to...
Code.org
The Need for Addressing
You sunk my battleship via the Internet? Groups of three play a modified game of Battleship using the Internet Simulator. Team members determine how to address messages, so each player knows who the message is for, and refine their text...
Khan Academy
Challenge: Mouse Tracker
Create a small but useful little program that allows you move a dot with your mouse and see the coordinates change as the mouse moves.  Starting with a dot that moves with the mouse, add to this program the text of the points...
Google
Friends: Texting Story
Sometimes it's okay to text in school. Young computer scientists work in the Scratch program to write a text message conversation among friends. They use different sprites within the program to represent each side of the conversation to...
Khan Academy
Challenge: My Favorite Foods
Create a list of your favorite foods while you practice writing text in JavaScript. Use fill, textSize, and text functions. This is a quick activity that helps solidify basic skills. Expand with additional challenges...
Khan Academy
Project: Ad Design
Let your young programmers' creativity and programming knowledge shine with this culminating activity. Coders put together everything they know about using text commands, drawing, and animation to create a unique ad. This activity could...
Computer Science Unplugged
Twenty Guesses—Information Theory
How do we determine how much information to include and what can be left out? By playing a game of 20 questions, the class generates the best strategies for finding a number. They then move on to guessing the next letter in a short...
Code.org
Lossy Compression and File Formats
I'm compressed. Groups do a rapid research of different file types to determine what kind of compression the formats use and how it works. They share their information with the rest of the class until everyone has all the information for...
Computer Science Unplugged
You Can Say That Again! – Text Compression
Compression, the process computers use to store information, is the focus of a resource that presents two different stories that describe the concept of compression by eliminating repeated letters and replacing them with a...
Code.org
Encoding B and W Images
Imagine drawing with zeros and ones. The third lesson in a unit of 15 introduces the class to creating black and white images. Pairs get together to create an encoding scheme in order to make these images. They move on to a...
Computer Science Unplugged
Treasure Hunt—Finite-State Automata
Introduce your class to the concept of finite-state automata with an activity that asks individuals to try to map their way to Treasure Island by taking different routes though an island chain. Each island has two ship sailing...
Microsoft
Final Independent Project
Finally ... the final project. As a culminating activity for the nine-part Intro to CS with MakeCode unit, scholars create a program within Minecraft that incorporates skills from the unit. They consider how to survive in the wild and...
Microsoft
Variables
You won't want to replace the resource with anything else. Future computer scientists use Minecraft to learn about variables in computer coding. They engage in several activities to master the variable code block, then apply it in an...
Curated OER
Coding History
Students study the topic of codes in Computer Science. They research it history, divisions in the field and its applications. The lesson also includes a brief overview of the information technology theory.
Khan Academy
Practice: Using While Loops
Test your knowledge of loops with this short online quiz about using the while statement in JavaScript code. Get five questions correct in a row and you're done!
Code.org
Algorithms Detour - Minimum Spanning Tree
This optional lesson introduces the class to the idea of a minimum spanning tree. The activity focuses on determining an algorithm that will find the most efficient path in a network to transfer data. 
Code.org
User Input and Strings
Pupils learn to apply strings in computer science. They master two new user interface elements and also use string type data to represent ASCII characters. Finally, individuals create an app for Mad Libs in the eighth lesson of the series.
Code.org
Bytes and File Sizes
A bite of bits. The first lesson in a unit of 15 introduces the class to the byte. Pupils learn about other standard units for measuring file sizes, develop an understanding of relative sizes and the kind of units used to measure...
Code.org
Introduction to Arrays
How can you store lists in a computer program? The 16th installment of a 21-part unit introduces arrays as a way to store lists within a variable. Individuals program a list of their favorite things—adding interest to the activity.
Code.org
Keys and Passwords
Scholars explore the relationship between cipher keys and passwords and as they learn more about the Vigenere cipher and continue to read from the book Blown to Bits in the seventh lesson of the series. They conduct an activity where...
Code.org
Introduction to Conditional Logic
On one condition ... explore how to use conditionals within conditionals. Scholars apply conditional statements to improve upon the app they built during a previous lesson. They also learn about nested conditionals in the 11th lesson of...