Below is a step-by-step guide for assigning students open-ended projects that use Code.org tools. This guide could be used by anyone but is targeted at middle and high school teachers currently teaching CS Discoveries as alternatives or ways to augment the existing course material.

More options for learning at home can be found on our Learning At Home page.

1. Choose a Tool

Programming in a brand new environment can be challenging and intimidating. We recommend using the following labs with your class after students have had sufficient time to learn to use them. Below you can find an overview of each tool and also how to get students practice using it.

Photo courtesy of Fundación Sadosky

Web Lab

Web Lab is a programming environment where students can make simple web pages using HTML and CSS. Design your web pages and share your site in seconds. Recommended for students who have completed at least Chapter 1 of Web Development.

Web Lab Documentation

Game Lab

Game Lab is a programming environment where you can make simple animations and games with objects and characters that interact with each other. Recommended for students who have completed at least Chapter 1 of Interactive Animations and Games.

Game Lab Documentation

App Lab

App Lab is a programming environment where you can make simple apps. Design an app, code with blocks or JavaScript to make it work, then share your app in seconds. If you have no experience with App Lab you could get up to speed by trying out: Hour of Code - Intro to App Lab. Alternatively, the projects are suitable for students who have completed the 2nd chapter of CS Discoveries Unit 4 - The Design Process or the first chapter of CS Principles Unit 5 - Building Apps.

App Lab Documentation

2. Choose a Project Idea

All three labs enable student creativity in different ways. Students can make a project about just about anything. It is even possible to make connections to other subjects like English language arts, math or science!

Get inspired! Browse the Project Gallery and remix!

Go to the Code.org Project Gallery and look at what other students around the world have shared. You can view a project, see the code, and remix it to make it your own! You might get inspired to invent your own project as a riff on one of these gallery projects to give to your students.

Web Lab Project Ideas

Digital Book Report

Use Web Lab to create a presentation for a class assignment. Add text and images and cite your sources.

More Details

Project Guide

Choose Your Own Adventure

Write a branching story using hyperlinks and separate pages for each reader decision point.

More Details

Project Guide

Journal or Blog

Create a space for you to write about your experiences. Add a new page each daily or week!

More Details

Project Guide

Game Lab Project Ideas

No Sprites Animation Challenge

Test your understanding of variables and the draw loop by creating an animated scene without any sprites!

More Details

Project Guide

Randomized Image Creator

Apply knowledge of user input and the draw loop to create on-demand randomized images.

More Details

Project Guide

Teach a Science Concept

Create your own pixel animations and add text to create an interactive presentation about a science concept - or any other topic!

More Details

Project Guide

Check back soon for more game projects with Game Lab!

App Lab Project Ideas

Sound Board

Create an app with buttons to play different sounds.

More Details

Flash Card / Self-Quiz App

Use this app to create flashcards to learn a new subject or practice for a test.

More Details

Sneaky Hidden Puzzle

To win, the player must click on an object that is visually “hidden” on the screen.

More Details

3. Assign the project

Example Instructions for students:

  1. Read through the instructions for the project and review the project guide or any example projects.
  2. Sign in to Code.org
  3. Create a new Web Lab project by clicking *Projects at the top of the screen or by using the Create menu. (Note that starting a Web Lab project requires clicking the ”View full list” button.)

  1. When you have completed your project please submit it by clicking on the Share button at the top of the page. Please copy the share link and send it to my email.

4. Support Student Learning

It’s important to consider how you can support your students through a project, especially when teaching and learning remotely. Doing this asynchronously means that students won’t have easy access to peers to collaborate with or a teacher to ask questions of. We also know that not every student will have access to an adult who can help them with the content at home. Your role in supporting student learning is more important than ever.

Embrace Asynchronous Collaboration

One benefit of open-ended, asynchronous projects is that they give students more freedom and space to come up with their own ideas and think independently. In a virtual environment, you can embrace the types of assignments that don’t have clear correct solutions or answers--assignments that more closely mirror projects that are common in the modern workplace. However, students will also need others to brainstorm with, bounce ideas off of, and get advice from. Think about setting up support structures like coding buddies or teams who work individually but support each other.

Below are some ideas that you may be able to utilize depending on your own capacity and your district policies.

Again, depending on your capacity and your district policies, these options may or may not work for your context. Consider what will work best for you and your students.

5. Finish the Project

When working on projects outside of a course (ie. not part of a specific CSD lesson), most teachers like to collect work by having students submit a share link to their project. Before finishing the project, make sure you are comfortable with configuring sharing options for students using App Lab, Game Lab, and Web Lab. Remind students to name their projects with a format that is helpful to you, like "[project name] - [student name]". Alternatively, any standalone projects that your students are working on independent of Code.org courses will be shown under the Projects tab on the teacher dashboard. This view makes it easy to review or monitor any projects you may have assigned to your students.

NOTE: Projects that are integrated parts of assignable Code.org courses will not appear here; to check those projects, go to that project’s particular lesson or level via the “Progress” tab. Please check our support article for viewing student progress for more information.