# Public assignments

This page describes how public assignments are managed via GitHub. 
Each assignment is a **public repository** under the student's account.

Let's illustrate the actions for a **homework** assignment.

## Step 1: Students create a new public repository 

From the MakeCode editor, the student creates a **public** repository for the assignment that will be hosted under their account. All students should name the repository using the same name as the assignment (e.g. "homework" in this example).

## Step 2: Student change, commit, push cycle

It's time to work! Students do their work and use the **commit & push** button to save it. It is a good idea to encourage them to commit whenever they feel
they have made progress and to provide a meaningful description of the changes made.

## Step 3: Teacher reviews the commit history

The teacher can use the [MakeCode GitHub Explorer](https://makecode.com/github-explorer) to easily browse the repositories of a user. If needed, the teacher can also review the entire history of the project on GitHub.
