Skip to main content

Create an individual assignment

You can create an assignment for students in your course to complete individually.

Who can use this feature

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

About individual assignments

個々の課題は、GitHub Classroomのコースに参加しているそれぞれの学生のためのコースワークです。 学生には、他の学生からの援助を受けずに個々の課題を完了することが求められます。

学生が課題を受け付けると、GitHub Classroomは自動的にその学生のために新しいリポジトリを作成します。 このリポジトリは空にすることも、スターターコード、ドキュメンテーション、テスト、その他のリソースを持つテンプレートリポジトリから作成することもできます。 それぞれの課題のリポジトリは、GitHub上のあなたのOrganizationアカウントに属します。

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

For a video demonstration of the creation of an individual 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, and choose the visibility of assignment repositories.

Naming an assignment

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

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

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, and click Individual assignment. You can't change the assignment type after you create the assignment. If you'd rather create a group assignment, see "Create 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 student on the roster for the classroom. 課題のためのスターターコードとしてテンプレートリポジトリを選択することもできます。 テンプレート リポジトリについて詳しくは、「テンプレート リポジトリを作成する」をご覧ください。

注: テンプレート リポジトリは、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

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

'Continue' button

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

Providing feedback for an assignment

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

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 whether a student has joined the classroom and accepted or submitted an assignment in the Classroom roster tab for the assignment. You can also link students' GitHub aliases to their associated roster identifier and vice versa in this tab. 学生による課題の承諾または提出を防ぐために、[課題の編集] ビューで [課題の状態] を変更できます。 課題がアクティブな場合、学生は招待リンクを使用して受け入れることができます。 非アクティブの場合、このリンクは無効になります。

Individual assignment

Monitoring students' progress

The assignment overview page provides an overview of your assignment acceptances and student progress. You may have different summary information based on the configurations of your assignments.

  • Rostered students: The number of students on the Classroom's roster.
  • Added students: The number of GitHub accounts that have accepted the assignment and are not associated with a roster identifier.
  • Accepted students: The number of accounts have accepted this assignment.
  • Assignment submissions: The number of students that have submitted the assignment. Submission is triggered at the assignment deadline.
  • Passing students: The number of students currently passing the autograding tests for this assignment.

Next steps

  • Once you create the assignment, students 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 student can review the commit history for the repository. For more information, see "Getting started with GitHub," "Repositories," and "Collaborating with issues and pull requests."

  • When a student 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 the student's work. 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