The Project Catalog is a curated list of projects that range from short, beginner-level projects that may take an hour or less to complete, to more challenging projects that could take several weeks. Projects often involve more problem-solving and open-ended problem statements and are designed to challenge students on skills already learned by combining concepts in ways they may not need to do with in-course assignments.
Selecting Projects from the Project Catalog
With over 100 projects in the catalog, you may find it easiest to filter the results as you browse for a suitable project for your class. The results can be filtered based on the programming language, grade level, difficulty level, tag, or a keyword search.
Projects are labeled as middle school or high school. These are suggested bands that can be used based on the level of your class.
Each project has a difficulty level of easy, medium, or hard. It is important to note that the difficulty is relative to other projects in that language. For example, an easy C++ project is easier than a medium C++ project, but C++ as a language may be more challenging than a language such as Python. As a result, easy C++ projects may be more challenging than easy Python projects.
Beginner - The beginner tag is used to signify a project that only requires introductory level skills, such as input/output and basic control statements.
Autograded - The autograded tag is used to signify that the project has an autograder for at least some of the tasks of the project. Since projects tend to be more open-ended, even an auto-graded problem may still require teachers to review aspects of the students' code. Check out CodeHS Autograders to learn more about what our Autograders can check for.
AP CSA Lab - The AP CSA Lab tag is used to signify a project that is implemented from the official AP CSA College Board recommended labs. You can find more information about these labs, including sample solutions, in the AP Classroom on the College Board website.
More Details on Projects
Estimated Time - Each project card displays an estimated number of hours to complete that particular project. In general, more difficult projects involve more code and will take longer to complete.
Demos - When clicking into the project card, you will see demos for nearly all projects. The demos are there to provide an example of what the students may produce, however at times and may be hard to understand the demo without more context from the project instructions.
Project Overview and Description- Each project includes a description and brief overview of activities included.
Assigning Projects to Your Course
When assigning a project to your Course, the project will be added as a new module at the end of your Course. Once the project is assigned, you will have access to example solutions and Lesson Plans, when applicable. See Accessing Solutions and Lesson Plans for more information.
Assigning from the Project Catalog:
Navigate to the Project Catalog or choose Project Catalog from the left side navigation panel
Choose the project you would like to assign.
Click the Green Assign button to add the project to one of your courses.
Verify which Section(s) the project should be added to and click Assign. The project will be added as a module to the end of your Course.
Assigning from your Assignments Page:
Click the blue Add button and choose Projects.
Use the search bar to find the Project you would like to add.
Still have questions? Contact our team at firstname.lastname@example.org to learn more!