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 Computer Science 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.
Step 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.
Lab | Description | Documentation |
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 Unit 3 - 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 Computer Science Discoveries Unit 4 - The Design Process or the first chapter of Computer Science Principles Unit 5 - Building Apps. | App Lab Documentation |
Step 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! Below are a few projects the code.org team has put together along with project guides. Code.org also features top projects in the featured gallery!
Web Lab Projects Ideas
Project | Description | More Information |
Digital Book Report | Use Web Lab to create a presentation for a class assignment. Add text and images and cite your sources. | |
Choose Your Own Adventure | Write a branching story using hyperlinks and separate pages for each reader decision point. | |
Journal or Blog | Create a space for you to write about your experiences. Add a new page each daily or week! |
Game Lab Projects Ideas
Project | Description | More Information |
No Sprites Animation Challenge | Test your understanding of variables and the draw loop by creating an animated scene without any sprites! | |
Randomized Image Creator | Apply knowledge of user input and the draw loop to create on-demand randomized images. | |
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! |
App Lab Projects Ideas
Project | Description | More Information |
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 |
Step 3: Assign the project
Example Instructions for students:
- Read through the instructions for the project and review the project guide or any example projects.
- Sign in to Code.org
- 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.)
- 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.
Step 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.
- Use a classroom discussion board, encouraging students to help each other. If your class or school’s LMS doesn’t have such a feature you could try Piazza which has a good track record and is used for exactly this purpose in academic settings -- you can use it standalone, or it integrates with many LMS'
- Have dedicated office hours where students can drop into a video call and ask questions. (Zoom, Google Meet, and Microsoft Teams all have free accounts available to schools during school closures)
- Use a scheduling system where students can sign up for 5-10 minute calls with you during a limited section of time.
- Set-up dedicated “programming buddies” or “groups” where they check in with one another each day.
- Suggest students explain their problem to other siblings or family members - lots of times talking through it, even with someone who doesn’t know what you are talking about can be helpful.
- Have students fill out a daily reflection about what they did and what they are struggling with via google form or other technology tool. Review the responses and reach out to students who need help.
- Set up a Google Voice account where students can text or call you.
- Set clear expectations for how students can contact you and what your response time is.
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.
Step 5: Finish the Project
When working on projects outside of a course (ie. not part of a specific Computer Science Discoveries 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.