Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

그룹 과제 만들기

과정에 참가하는 학생 팀을 위한 공동 작업 과제를 만들 수 있습니다.

이 기능을 사용할 수 있는 사용자

Organization owners who are admins for a classroom can create and manage group assignments for a classroom. 클래스룸 관리자에 대한 자세한 내용은 "클래스룸 관리 정보"를 참조하세요.

그룹 과제 정보

그룹 과제는 GitHub Classroom에 있는 학생 그룹을 위한 공동 작업 과정입니다. 학생은 전문 개발자 팀처럼 리포지토리에서 그룹 과제를 함께 작업할 수 있습니다.

그룹 과제를 수락한 학생은 새 팀을 만들거나 기존 팀에 참가할 수 있습니다. GitHub Classroom은 과제를 수행하는 팀은 하나의 집합으로 저장합니다. 과제를 만들 때 특정 과제에 대한 팀 집합의 이름을 지정할 수 있으며, 이후 과제에서 이 팀 집합을 다시 사용할 수 있습니다.

각 그룹 할당에 대해 GitHub Classroom은 팀이 액세스할 수 있는 단일 공유 리포지토리를 자동으로 만듭니다. 리포지토리는 비어 있거나 시작 코드, 설명서, 테스트, 기타 리소스를 사용하여 템플릿 리포지토리에서 리포지토리를 만들 수 있습니다. 리포지토리는 GitHub의 조직 계정에 속하며GitHub Classroom은 과제를 수락할 때 학생이 만들거나 참가하는 팀에 대한 액세스 권한을 부여합니다.

각 과제에는 제목과 선택적 마감일이 있습니다. GitHub Classroom에서 만든 리포지토리의 표시 유형을 선택하고 액세스 권한을 선택할 수 있습니다. 과제를 자동으로 채점하고 과제에 대해 학생과 토론할 전용 공간을 만들 수도 있습니다.

하나의 과제에 포함할 수 있는 팀 수와 각 팀이 가질 수 있는 구성원 수를 결정할 수 있습니다. 학생이 과제를 위해 생성하는 각 팀은 GitHub의 조직 내 팀이 됩니다. 팀의 표시 여부는 비밀입니다. GitHub에서 만든 팀은 GitHub Classroom에 표시되지 않습니다. 자세한 내용은 “팀 정보”를 참조하세요.

그룹 과제를 만드는 비디오 데모는 "GitHub Classroom 설정 기본 사항"을 참조하세요.

다른 조직의 클래스룸을 포함하여 관리자가 액세스할 수 있는 다른 모든 클래스룸에서 기존 과제를 다시 사용할 수 있습니다. 자세한 내용은 “과제 다시 사용”을 참조하세요.

필수 조건

과제를 만들려면 먼저 클래스룸을 만들어야 합니다. 자세한 내용은 “클래스룸 관리”를 참조하세요.

과제 만들기

  1. GitHub Classroom에 로그인합니다.
  2. 클래스룸으로 이동합니다.
  3. 과제 탭에서 과제를 만듭니다.
    • 첫 번째 과제인 경우 과제 만들기를 클릭합니다. 첫 번째 과제 만들기
    • 그렇지 않으면 새 과제를 클릭합니다. '새 과제' 단추

과제의 기본 사항 설정

과제 이름을 지정하고, 마감일 할당 여부를 결정하고, 팀을 정의하고, 과제 리포지토리의 표시 유형을 선택합니다.

과제 이름 지정

그룹 과제의 경우 GitHub Classroom은 리포지토리 접두사 및 팀 이름을 기준으로 리포지토리의 이름을 지정합니다. 기본적으로 리포지토리 접두사는 과제 제목입니다. 예를 들어 과제 이름을 "assignment-1"로 지정했고 GitHub에서 팀의 이름이 "student-team"이면, 팀의 구성원에 대한 과제 리포지토리의 이름은 assignment-1-student-team이 됩니다.

과제의 제목을 입력합니다. 필요에 따라 을(를) 클릭하여 접두사를 편집합니다.

Assignment title and prefix

과제 마감일 할당

필요에 따라 과제에 마감 기한을 할당할 수 있습니다. “마감 기한(선택 사항)”에서 텍스트 필드를 클릭한 다음 날짜 선택을 사용하여 마감 기한을 할당합니다.

Date picker for assignment deadline

과제 유형 선택

"개별 또는 그룹 과제"에서 드롭다운 메뉴를 선택하고 그룹 과제를 클릭합니다. 과제를 만든 후에는 과제 유형을 변경할 수 없습니다. 개별 할당을 만들고 싶다면 “개별 할당 만들기”를 참조하세요.

과제를 수행할 팀 정의

클래스룸에 대한 그룹 과제를 이미 만들었다면 새 과제에 팀 집합을 다시 사용할 수 있습니다. 학생이 과제를 위해 만든 팀을 이용해 새 집합을 만들려면 집합의 이름을 입력합니다. 필요한 경우 팀 구성원의 최대 수와 총 팀 수를 입력합니다.

:

  • 집합 이름에 팀 집합 세부 정보를 포함하는 것이 좋습니다. 예를 들어 하나의 과제에 팀 집합을 사용하려는 경우에는 과제의 이름을 집합의 이름으로 지정하세요. 한 학기 또는 과정 전체에서 집합을 다시 사용하려면 학기 또는 과정의 이름을 집합 이름으로 지정하세요.

  • 특정 팀에 학생을 할당하려면 학생에게 팀의 이름을 지정하고 구성원 목록을 제공하세요.

그룹 과제에 참여하는 팀의 매개 변수

과제 리포지토리의 표시 유형 선택

과제용 리포지토리는 퍼블릭 또는 프라이빗일 수 있습니다. 프라이빗 리포지토리를 사용하는 경우 학생 또는 팀만 제공한 피드백을 볼 수 있습니다.

학생에게 과제 리포지토리에 대한 관리자 권한을 부여할지 여부를 결정할 수도 있습니다. 학생이 과제 리포지토리에 대한 관리 작업을 수행할 수 있어야 하는 경우 관리자 권한을 부여합니다. 자세한 내용은 "리포지토리 정보" 및 "조직의 리포지토리 역할"을 참조하세요.

"리포지토리 표시 유형"에서 표시 유형을 선택합니다. 필요에 따라 학생에게 리포지토리에 대한 관리자 액세스 권한 부여를 선택합니다.

Visibility options for assignment repositories

완료되면 계속을 클릭하여 할당을 위한 시작 코드와 개발 환경을 구성합니다.

'Continue' button

시작 코드 추가 및 개발 환경 구성

필요에 따라 빈 리포지토리 또는 시작 코드를 제공할지 여부를 결정하고 학생을 위한 개발 환경을 미리 구성합니다.

템플릿 리포지토리 선택

기본적으로 새 과제는 학생이 만드는 각 팀에 대해 빈 리포지토리를 만듭니다. 필요에 따라 템플릿 리포지토리를 할당의 시작 코드로 선택할 수 있습니다. 템플릿 리포지토리에 대한 자세한 내용은 "템플릿 리포지토리 만들기"를 참조하세요.

참고: 템플릿 리포지토리는 조직에 속하거나 GitHub의 퍼블릭 리포지토리여야 합니다.

"템플릿 리포지토리를 추가하여 학생 스타터 코드 제공"에서 리포지토리 선택 드롭다운을 선택한 다음, 검색 쿼리를 입력합니다. 결과 목록에서 시작 코드에 사용할 템플릿 리포지토리를 클릭합니다.

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

IDE(통합 개발 환경) 선택

필요에 따라 IDE(통합 개발 환경)를 사용하도록 할당을 구성할 수 있습니다. IDE를 사용하면 학생이 Git 및 전체 개발 도구 체인을 학생의 컴퓨터에 설치하지 않고도 코드를 작성하고, 프로그램을 실행하고, 공동으로 작업할 수 있습니다. 과제에 대한 IDE를 선택하는 경우에도 학생은 필요한 소프트웨어가 있는 컴퓨터에서 로컬로 코드를 체크 아웃하고 실행할 수 있습니다. 자세한 내용은 “IDE와 GitHub Classroom 통합”을 참조하세요.

GitHub Codespaces를 사용하여 할당을 구성하도록 선택하여 학생들에게 원클릭 설정으로 브라우저 기반 Visual Studio Code 환경에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 "GitHub Classroom과 함께 GitHub Codespaces 사용"을 참조하세요.

과제에 대한 IDE를 선택하려면 편집기 추가 드롭다운 메뉴를 선택하고 학생이 사용할 IDE를 클릭합니다.

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

완료되면 계속을 클릭하여 프로젝트에 대한 자동 채점 및 피드백을 구성합니다.

'Continue' button

사용자 의견 제공

필요하다면 자동으로 과제를 채점하고 팀과 각 제출을 논의할 공간을 만들 수 있습니다.

자동으로 과제 테스트

자동 채점 기능을 사용하여 GitHub Classroom의 할당에 대한 학생의 작업을 자동으로 확인할 수 있습니다. 과제에 대한 테스트를 구성하면 학생이 GitHub.com의 과제 리포지토리에 푸시할 때마다 테스트가 즉시 실행됩니다. 학생은 테스트 결과를 보고, 변경하고, 푸시하여 새 결과를 볼 수 있습니다. 자세한 내용은 "자동 등급 사용"을 참조하세요.

"자동 채점 테스트 추가"에서 테스트 추가 드롭다운 메뉴를 선택한 다음, 사용할 채점 방법을 클릭합니다. 자세한 내용은 "채점 방법"을 참조하세요.

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

피드백에 대한 끌어오기 요청 만들기

피드백을 제공하고 과제에 대한 학생의 질문에 답변할 수 있는 끌어오기 요청을 자동으로 만들 수 있습니다. 끌어오기 요청에서 변경 내용을 검토하는 방법에 대한 자세한 내용은 "끌어오기 요청에서 변경 내용 검토"를 참조하세요.

피드백 논의를 위한 끌어오기 요청을 만들려면 피드백 끌어오기 요청을 사용하도록 설정을 선택합니다.

Checkbox for 'Enable feedback pull requests'

과제를 만들려면 과제 만들기를 클릭합니다.

'Create assignment' button

과제에 학생 초대

기본적으로 GitHub Classroom은 사용자가 만든 각 과제에 대한 초대 URL을 활성화합니다. 학생들은 초대 URL이 활성화된 동안 과제를 수락하고 제출할 수 있습니다. LMS, 과정 홈페이지 또는 과제를 게시하는 모든 위치에서 학생들과 URL을 공유할 수 있습니다. 학생이 이미 클래스룸의 과제를 수락한 경우 GitHub Classroom에서 과제로 이동할 수도 있습니다.

경고: 초대 URL을 공유하는 위치에 주의하세요. 과제에 대한 초대 URL이 있는 모든 사람은 초대를 수락하고 GitHub의 개인 계정을 명단의 식별자와 연결할 수 있습니다.

과제에 대한 탭에서 작업 중이거나 과제를 제출한 팀을 볼 수 있습니다. 학생이 과제를 수락 또는 제출하지 못하도록 하려면 "과제 편집" 보기 내에서 "과제 상태"를 변경할 수 있습니다. 과제가 활성 상태이면 학생은 초대 링크를 사용하여 과제를 수락할 수 있습니다. 과제가 비활성 상태이면 이 링크가 더 이상 유효하지 않습니다.

Group assignment

학생의 진행 상황 모니터링

과제 개요 페이지에는 과제 수락 및 팀 진행 상황 관련 정보가 표시됩니다. 과제 구성에 따라 다른 요약 정보가 표시될 수 있습니다.

  • 총 팀: 생성된 팀의 수입니다.
  • 명단에 있는 학생: 클래스룸 명단에 있는 학생 수입니다.
  • 팀에 없는 학생: 클래스룸 명단에 있지만 아직 팀에 합류하지 않은 학생의 수입니다.
  • 수락한 팀: 이 과제를 수락한 팀의 수입니다.
  • 과제 제출: 과제를 제출한 팀 수입니다. 제출은 과제 마감일에 트리거됩니다.
  • 통과한 팀: 현재 이 과제에 대한 자동 채점 테스트를 통과한 팀 수입니다.

다음 단계

  • 과제를 만들고 학생이 팀을 구성하면, 팀 구성원은 Git 및 GitHub의 기능을 사용하여 과제 작업을 시작할 수 있습니다. 학생은 리포지토리를 복제하고, 커밋을 푸시하고, 분기를 관리하고, 끌어오기 요청을 만들어 검토하고, 병합 충돌을 해결하고, 이슈가 있는 변경 내용을 논의할 수 있습니다. 사용자와 팀 모두 리포지토리에 대한 커밋 기록을 검토할 수 있습니다. 자세한 내용은 "GitHub 시작", "리포지토리", "Git 사용" 및 "문제 및 끌어오기 요청에 대한 공동 작업"과 GitHub Skills에서 제공하는 병합 충돌 해결에 관한 무료 과정을 참조하세요.

  • 팀이 과제를 완료하면 리포지토리의 파일을 검토하거나 리포지토리의 기록 및 시각화를 검토하여 팀의 공동 작업 방식을 더 잘 이해할 수 있습니다. 자세한 내용은 “그래프를 사용하여 리포지토리 데이터 시각화”를 참조하세요.

  • 끌어오기 요청의 개별 커밋 또는 줄에 주석을 달아 과제에 대한 피드백을 제공할 수 있습니다. 자세한 내용은 “끌어오기 요청에 주석 달기” 및 “코드에서 이슈 열기”를 참조하세요. 일반적인 오류에 대한 피드백을 제공하기 위해 저장된 회신을 만드는 방법에 대한 자세한 내용은 “저장된 회신 정보”를 참조하세요.

추가 참고 자료