Computer Science Unplugged
The Orange Game–Routing and Deadlock in Networks
How is data able to move in a congested network? Groups simulate moving data around a congested network by passing fruit around a circle, following specific rules, until everyone ends up with their own fruit. Extension activities...
Computer Science Unplugged
Codes in a Song—Modems
Let's listen to some codes. To understand how a modem sends binary numbers over a phone line, class member listen to the codes included in the provided mp3 files, translates the tones to binary numbers and then convert the...
Computer Science Unplugged
Conversations with Computers—The Turing Test
Will the real computer please stand up? The premise of this activity is for the class to ask questions to a human and to a computer and to determine which is which. The class asks a given set of questions, and the person playing the role...
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...
Computer Science Unplugged
Battleships—Searching Algorithms
How does a computer perform a search in order to find data? The lesson begins with a demonstration on finding one number out of 15. Pairs then play three games of Battleship by using different search techniques. The lesson...
Computer Science Unplugged
Beat the Clock—Sorting Networks
Can multiple computers sort a list faster than one? Using a network drawn with chalk outside, groups move through the decision network to sort numbers. A series of extension questions come with the lesson and can be used in the same...
Computer Science Unplugged
Lightest and Heaviest—Sorting Algorithms
How do computers sort data lists? Using eight unknown weights and a balance scale, groups determine the order of the weights from lightest to heaviest. A second worksheet provides the groups with other methods to order the weights. The...
College Board
AP® Computer Science A: Magpie Chatbot Lab Student Guide
How is your computer or phone able to talk to you? Explore the tasks needed for a computer to understand human voice input and then write code for a Chatbot with this lab guide.
College Board
AP® Computer Science: A Picture Lab Student Guide
How do you modify digital pictures? In this lab learners write methods that modify digital pictures. They how to traverse a two-dimensional array of integers or objects, and are introduced to nested loops, binary numbers,...
College Board
AP® Computer Science A: Elevens Lab Student Guide
Looking for a project to use in an AP® Computer Science class? Engage learners with a simple solitaire game called Elevens. Through these activities, learners break down the task and write the code for a game. Sign in to your College...
Ontario
Animation Programming—Computer Studies
Introduce high schoolers interested in animation programming to fundamental programming concepts so that they can plan and write simple programs.
Khan Academy
Project: Fish Tank
Create your own exotic aquarium, well, virtual aquarium. Fill it full of various fish and sea life, add animation, color, and interactivity using JavaScript. This task utilizes your classes' knowledge of functions, parameters, and local...
Khan Academy
Project: Bookshelf
Start your own virtual library with this JavaScript programming project. Create arrays of book objects, and fill the shelves with different books, different colors, titles, authors, etc. Let coders create their own unique display.
Khan Academy
Challenge: Movie Reviews
Create an array of objects in a JavaScript coding practice activity. Movie titles and reviews for multiple movies are collected in an array of objects and then printed out with a looping construct.
Khan Academy
Challenge: Picture Painter
Your young coding students will love the result of this programming activity and will be amazed at what they can make the computer do. Using objects and their properties, they will create a paint brush that will redraw an object across...
Khan Academy
Challenge: Constellation Maker
Populate your own universe with constellations and stars. Modify the existing JavaScript code to use the push method of arrays, and mouseX and mouseY to draw a star based on the click and position of the mouse.
Khan Academy
Challenge: Recipe Card
Anyone hungry? Create a recipe object in this coding activity. Include a title, number of servings, and ingredients. All of this adds up to one delicious practice opportunity for your programming students who are just learning how to use...
Khan Academy
Challenge: Favorite Animals
I'm not scared of lions & tigers & bears; in fact, they are on my favorites list! Have your young coders practice creating arrays and using loops. First they define the array as a list of favorite animals, then print them out...
Khan Academy
Challenge: A Loopy Landscape
Drawing trees and grass over and over again is the perfect time to add a while loop to your computer code. This activity guides coders through the steps as they practice using this loop.
Khan Academy
Challenge: Lined Paper
Now create your own graph paper with this JavaScript programming activity! First, change the while loop that draws horizontal lines into a for loop. Then, add another for loop that draws the vertical lines. For an added challenge,...
Khan Academy
Challenge: Favorite Fruits
Creating a list of favorite fruits is the perfect use of an array in coding. Practice defining and using arrays in this simple activity of creating an array and printing out each element in the array.
Khan Academy
Challenge: A Loopy Ruler
Now try writing your first while loop! This activity guides you through creating a small JavaScript program that marks the top of the screen with a ruler. Use the while loop to write the numbers across the screen.
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!
Khan Academy
Challenge: Flashy Flash Card
Create your own flash card in this JavaScript coding activity. Modify the given code so that the answer is revealed when the mouse is pressed. Provides good practice of conditional if-else statements.