Skip to main content

Create a group assignment

You can create a collaborative assignment for teams of students who participate in your course.

Who can use this feature

Organization owners who are admins for a classroom can create and manage group assignments for a classroom. クラスルーム管理者の詳細については、「クラスルームの管理について」を参照してください。

About group assignments

グループ課題は、GitHub Classroom上の学生のグループのための共同のコースワークです。 Students can work together on a group assignment in a shared repository, like a team of professional developers.

When a student accepts a group assignment, the student can create a new team or join an existing team. GitHub Classroom saves the teams for an assignment as a set. You can name the set of teams for a specific assignment when you create the assignment, and you can reuse that set of teams for a later assignment.

それぞれのグループ課題に対して、GitHub Classroomは自動的にTeamがアクセスするための1つの共有リポジトリを作成します。 このリポジトリは空にすることも、スターターコード、ドキュメンテーション、テスト、その他のリソースを持つテンプレートリポジトリから作成することもできます。 リポジトリはGitHub上のあなたのOrganizationアカウントに属し、GitHub Classroomは課題を受け入れたときに学生が作成もしくは参加するTeamにアクセス権を付与します。

それぞれの課題にはタイトルとオプションの期限があります。 GitHub Classroomが作成するリポジトリの可視性を選択し、アクセス権限を選択できます。 自動的に課題を評価し、課題について学生と議論するための専用のスペースを作成することもできます。

You can decide how many teams one assignment can have, and how many members each team can have. Each team that a student creates for an assignment is a team within your organization on GitHub. The visibility of the team is secret. Teams that you create on GitHub will not appear in GitHub Classroom. For more information, see "About teams."

For a video demonstration of the creation of a group assignment, see "Basics of setting up GitHub Classroom."

既存の課題は、自分が管理者アクセス権を持つ他のクラスルーム (別の組織のクラスルームを含む) で再利用できます。 詳細については、「割り当ての再利用」を参照してください。

Prerequisites

課題を作成する前に、クラスルームを作成しなければなりません。 詳細については、「Classroom の管理」を参照してください。

Creating an assignment

  1. GitHub Classroomにサインインしてください。
  2. クラスルームにアクセスしてください。
  3. [Assignments](課題) タブで課題を作成します。
    • これが初めての課題の場合は、 [Create an assignment](課題の作成) をクリックします。 最初の課題の作成
    • そうではない場合は、 [New assignment](新しい課題) をクリックします。 [New assignment](新しい課題) ボタン

Setting up the basics for an assignment

Name your assignment, decide whether to assign a deadline, define teams, and choose the visibility of assignment repositories.

Naming an assignment

For a group assignment, GitHub Classroom names repositories by the repository prefix and the name of the team. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the team's name on GitHub is "student-team", the name of the assignment repository for members of the team will be assignment-1-student-team.

課題のタイトルを入力してください。 あるいは、をクリックしてプレフィックスを編集してください。

Assignment title and prefix

Assigning a deadline for an assignment

あるいは、課題に期限を割り当てることができます。 "Deadline (optional)(期限(オプション))"の下で、テキストフィールドをクリックし、日付のピッカーを使って期限を割り当ててください。

Date picker for assignment deadline

Choosing an assignment type

Under "Individual or group assignment", select the drop-down menu, then click Group assignment. You can't change the assignment type after you create the assignment. If you'd rather create an individual assignment, see "Create an individual assignment."

Defining teams for an assignment

If you've already created a group assignment for the classroom, you can reuse a set of teams for the new assignment. To create a new set with the teams that your students create for the assignment, type the name for the set. Optionally, type the maximum number of team members and total teams.

Tips:

  • We recommend including details about the set of teams in the name for the set. For example, if you want to use the set of teams for one assignment, name the set after the assignment. If you want to reuse the set throughout a semester or course, name the set after the semester or course.

  • If you'd like to assign students to a specific team, give your students a name for the team and provide a list of members.

Parameters for the teams participating in a group assignment

Choosing a visibility for assignment repositories

課題のためのリポジトリは、パブリックにもプライベートにもできます。 プライベートリポジトリを使うと、学生あるいはTeamだけが提供されたフィードバックを見ることができます。

また、課題のためのリポジトリに対する管理権限を学生に与えるかを決定することもできます。 学生が課題のリポジトリに対して管理タスクを行えなければならないのであれば、管理権限を与えてください。 詳細については、「リポジトリについて」と「Organization のリポジトリ ロール」を参照してください。

"Repository visibility(リポジトリの可視性)"の下で、可視性を選択してください。 必要に応じて、 [リポジトリに対する管理者アクセスを学生に付与する] を選んでください。

Visibility options for assignment repositories

完了したら、 [続行] をクリックして、課題のためのスターター コードと開発環境を設定します。

'Continue' button

Adding starter code and configuring a development environment

空のリポジトリあるいはスターターコードを提供するかを決めて、学生のための開発環境を事前設定することもできます。

Choosing a template repository

By default, a new assignment will create an empty repository for each team that a student creates. 課題のためのスターターコードとしてテンプレートリポジトリを選択することもできます。 テンプレート リポジトリについて詳しくは、「テンプレート リポジトリを作成する」をご覧ください。

注: テンプレート リポジトリは、Organization に属しているか、GitHub 上のパブリック リポジトリでなければなりません。

[Add a template repository to give students starter code](学生にスタート コードを与えるテンプレート リポジトリを追加する) の下にある [Select a repository](リポジトリの追加) ドロップダウンを選び、検索クエリを入力します。 結果のリストから、スターターコードのために利用したいテンプレートリポジトリをクリックしてください。

Using the 'Select a repository' drop-down menu to find a template repository to use as starter code for an assignment

Choosing an integrated development environment (IDE)

必要に応じて、統合開発環境 (IDE) を使うように課題を構成することもできます。 IDE を使うと、学生は Git や完全な開発ツールチェーンを自分のコンピューターにインストールすることなく、コードを書く、プログラムを実行する、共同作業することができます。 学生が課題に IDE を選んだ場合でも、必要なソフトウェアがインストールされたコンピューターのローカルにコードをチェックアウトして実行することができます。 For more information, see "Integrate GitHub Classroom with an IDE."

GitHub Codespaces を使って割り当てを構成し、ワン クリックで設定できるブラウザーベースの Visual Studio Code 環境に学生がアクセスできるようにできます。 詳細については、「GitHub Codespaces を GitHub Classroom で使う」を参照してください。

課題の IDE を選択するには、[エディターの追加] ドロップダウン メニューを選択し、学生に使用させる IDE をクリックします。

Using the 'Select an online IDE' drop-down menu to click an online IDE for the assignment

完了したら、 [続行] をクリックして、プロジェクトの自動採点とフィードバックを構成します。

'Continue' button

Providing feedback

Optionally, you can automatically grade assignments and create a space for discussing each submission with the team.

Testing assignments automatically

You can use autograding to automatically check a student's work for an assignment on GitHub Classroom. You configure tests for an assignment, and the tests run immediately every time a student pushes to an assignment repository on GitHub.com. The student can view the test results, make changes, and push to see new results.詳しい情報については、「自動採点」を参照してください。

[自動採点テストの追加] で [テストの追加] ドロップダウン メニューを選択し、使用する採点方法をクリックします。詳しい情報については、「採点方法」を参照してください。

Using the 'Add test' drop-down menu to click a grading method

名前、コマンド、入力、出力、タイムアウト、ポイントなど、テストケースのパラメータを定義してください。 完了したら、 [テスト ケースを保存する] をクリックします。

'Save test case' button for an autograding test

[テストの追加] ドロップダウン メニューを使用すると、テストをさらに追加できます。 あるいは を使うと、既存のテストを編集または削除できます。

Pencil and trash icons to edit or delete an autograding test

Creating a pull request for feedback

自動的にPull Requestを作成して、フィードバックを提供したり、課題に関する学生の質問に答えたりすることができます。 pull request での変更のレビューについて詳しくは、「pull request での変更をレビューする」を参照してください。

フィードバックのディスカッション用に pull request を作成するには、 [Enable feedback pull requests](フィードバック pull request を有効にする) を選びます。

Checkbox for 'Enable feedback pull requests'

割り当てを作成するには、 [割り当ての作成] をクリックします。

'Create assignment' button

Inviting students to an assignment

デフォルトでは、GitHub Classroomは作成されたそれぞれの課題に対して招待URLを有効化します。 学生は、招待URLが有効になっている間に課題を受け付けて提出できます。 このURLはLMS、コースのホームページ、あるいはあなたが課題をポストできるところならどこででも、学生と共有できます。 学生は、クラスルームの課題をすでに受け付けているなら、GitHub Classroom上でその課題にアクセスすることもできます。

警告: 招待 URL を共有する場所には注意してください。 課題の招待 URL があれば、誰でも招待を受け入れて GitHub 上の個人アカウントを名簿の識別子に関連づけることができます。

You can see the teams that are working on or have submitted an assignment in the Teams tab for the assignment. 学生による課題の承諾または提出を防ぐために、[課題の編集] ビューで [課題の状態] を変更できます。 課題がアクティブな場合、学生は招待リンクを使用して受け入れることができます。 非アクティブの場合、このリンクは無効になります。

Group assignment

Monitoring students' progress

The assignment overview page displays information about your assignment acceptances and team progress. You may have different summary information based on the configurations of your assignments.

  • Total teams: The number of teams that have been created.
  • Rostered students: The number of students on the Classroom's roster.
  • Students not on a team: The number of students on the Classroom roster who have not yet joined a team.
  • Accepted teams: The number of teams who have accepted this assignment.
  • Assignment submissions: The number of teams that have submitted the assignment. Submission is triggered at the assignment deadline.
  • Passing teams: The number of teams that are currently passing the autograding tests for this assignment.

Next steps

  • After you create the assignment and your students form teams, team members can start work on the assignment using Git and GitHub's features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "Getting started with GitHub," "Repositories," "Using Git," and "Collaborating with issues and pull requests," and the free course on resolving merge conflicts from GitHub Skills.

  • When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "Visualizing repository data with graphs."

  • You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "Commenting on a pull request" and "Opening an issue from code." For more information about creating saved replies to provide feedback for common errors, see "About saved replies."

Further reading