- Overview
- Octernship project creation with GitHub Classroom
- Submitting the Octernship to GitHub Education
- Handbook References
If you're going through this Partner Handbook, by now you're already accepted in to the program. Congratulations 🎉 In the next few steps, as an organisation you will:
- Create a problem statement/project for students to complete for evaluation
- Post the Octernship project on GitHub Global Campus for students to view and apply
- Review and shortlist students for the Octernship, who will eventually work with your organisation
This guide includes additional information regarding GitHub Global Campus and GitHub Classroom, which are critical to the Octernship experience. All partners are expected to complete the designed flow for each Octernship Project
Prerequisites ✅
- You have already signed the Non-commercial MoU with GitHub.
- You are in the onboarding process of GitHub Octernships Program
Note: Once a student has been paired with a partner, the expectation is that the partner will onboard the student into their organization and officially begin the Octernship.
GitHub Classroom is only for partners to manage submissions, students do not interact with GitHub Classroom and all activity occurs in GitHub for them.
GitHub Classroom is used to manage Octernships, the integrated tools makes it easy and seamless for you to review, support, and manage multiple projects during the Octern selection period. As next step you need to create a Classroom assignment for the Octernship project you want to submit. The following section will help with your first Classroom Assignment.
Octernship Project created by partners will be distributed by GitHub Classroom, GitHub Education’s assignment management tool, where partners can easily distribute and manage their created projects using a simple dashboard interface. GitHub Classroom will generate repositories for each student who wants to complete the project. Once the repository has been created, it will appear on a dashboard interface for partner management.
Know more about GitHub Classroom.
All opportunities use a GitHub repository to disseminate information to students. We request that partners use our template repository to generate an appropriate README for the Octernship program. This template repository will help you to:
- Share information about your organisation
- Detail the Octernship role and qualifications
- Share the project(s) required to qualify for this role
- Evaluation instructions and submission
Use the Partner Informational and Assignment README Template
available below.
This template allows a Partner Organization to create a GitHub repository, which primarily displays basic information about the organization, problem statement, and resources that a student can refer to while applying to an organization.
# Information
## COMPANY-NAME
![Company Logo](IMAGE-URL)
### Company information
<!--- Use this section to share information about your company such as founding information, mission statement, product description, product success, etc.--->
### Why participate in an Octernship with COMPANY-NAME
<!--- Use this section to appeal to students. Consider sharing information about recent projects, the technology stack, the type of mentorship students can expect, listing future employment opportunities, etc. --->
### Octernship role description
<!--- Use this section to describe the role in as much detail as necessary. Please include the GitHub Classroom assignment submission date, length of the Octernship, and the monthly stipend --->
### Recommended qualifications
<!--- Use this section to describe what skills a student might need to complete the problem statement on GitHub Classroom --->
### Eligibility
To participate, you must be:
* A [verified student](https://education.github.com/discount_requests/pack_application) on Global Campus
* 18 years or older
* Active contributor on GitHub (monthly)
# Assignment
## TASK-TITLE
### Task instructions
<!--- Use this section to describe the project that students are required to complete. We ask that you also include instructions on running and preparing the students' local environment if necessary. --->
### Task Expectations
<!--- Please add expectations that students need to follow to be considered. Some examples include: completing the project on their own, not using code from external resources without comprehending the logic, etc. --->
### Task submission
Students are expected to use the [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow) when working on their project.
1. Creating a new branch
2. Making changes on the new branch
3. Creating a Pull Request to merge changes into main branch on or before the assignment deadline.
3. Using GitHub Discussions to ask any relevant questions regarding the project
### Resources
<!--- Use this section to add resources for students to refer to. For example Documentation, Tutorials, Guides, and more. --->
Here is a Sample Repository of an ideal Octernships Project.
As a partner organisation, you should have a GitHub account to setup your GitHub Classroom. To begin, navigate to the GitHub Classroom and click the sign-in to get started
Once you have signed in, expect an blank GitHub Classroom Dashboard. You can now create a classroom by selecting “New classroom” .
You will notice that you’ve been redirected to a page requesting that you select an organization for your new classroom. Note: GitHub Classroom uses organizations to manage classroom assignments. Therefore, every student who applies to your organisation by accepting to the project, will open a new repository within your organization. We recommend creating a new organization(free/based on your existing billing plan) for every Octernship Project you list. You can create a new organization by clicking create an organization
.
Once your organization has been created, select your new organization for your new GitHub Classroom. You will be immediately prompted to name it to create your Classroom. We recommend using the company or project name as the Classroom name.
Now that you have created a Classroom you will be presented with options to add collaborators to your organization. If you plan on reviewing candidate projects with a colleague, we highly recommend following the steps to Invite TAs and admins
otherwise you can skip this step.
The last option will ask if you want to add a roster to your classroom. You can skip this step by clicking Continue
. Congratulations! You have setup your first GitHub Classroom!
Now that you have your first classroom you can now create an assignment, which will serve as your project for students. You can now select “Create an assignment.”
Once selected, you are presented with basic assignment options. We request that projects have the following options:
- Assignment title - We recommend following a naming scheme for your assignments as it will show up in GitHub Classroom for students: OrgName_ProjectName_AssignmentName
- For example: GitHub_npmCLI_Dashboard
- Deadline - We require that all projects have a deadline to ensure students know when the project is due.
- Individual or group assignment - Set this option to “Individual.”
- Repository visibility - The repository visibility must be private to mitigate plagiarism.
- Student admin access - Do not select student admin access
The next set of options is “Starter code and environment”. We request the following:
- Add a template repository to give students starter code - You can create an assignment from a template repository to provide starter code, documentation, project details, and other resources to your students.
- Add a supported editor - There is no need to select an editor so students can utilize their preferred editor.
Note: If your repository is not a template, you will get a warning like this 👇
The final options allow you to add auto-grading and feedback PR to your project. You are welcome to add a testing suite to simplify your evaluation process.
Once you have selected your options, you can click “Create assignment.”
🔴 Note: Do not share the GitHub Classroom Assignment Invite URL directly with the students on the repository/external channels.
Once your project is setup up in GitHub Classroom as an assignment you can move to the next step for getting it reviewed by the GitHub Staff. Students can view and apply to your project via GitHub Global Campus
Screen.Recording.2023-02-14.at.11.35.45.AM.mov
To learn more about GitHub Classroom and its features, check out the video guides and documentation available on GitHub Docs
Once you have successfully created a Classroom assignment for your Octernship Project you can submit that project for review to the GitHub team. The following section will help you completing the Octernship Project Application form.
We require that all opportunities use a GitHub repository to disseminate information to students. We request that partners use our template repository to generate an appropriate README for the Octernship program. You can find the template here.
Once you have filled out the template, you can submit your project to GitHub Education using the Project Application form.
An Airtable form will be sent to all accepeted Partner organizations point of contact via email. It is required to submit your project related information to GitHub Education to proceed with the next steps. The form will capture information like: Organisation Name, Point of Contact, Bio, Logo, Favicon, Stipend, Project Repository URL, GitHub Classroom Assignment URL, Category and more.
Airtable.mp4
📺 GitHub Octernship Stream is a 30 min LIVE session for all Octernship Partners to deliver technical education content on their product/service and expectations from the Classroom Assignment. This will be broadcasted on GitHub Education YouTube.
Each submission to GitHub Octernship is unique, We ask you to submit a new application for each new opening you may have. This also means the new project will have a unique GitHub Classroom Assignment and Stipend.
Example: If you have two available openings for GitHub Octernship you should submit two Octernship Project Applications containing respective classroom assignments and stipend information.
After the information for your project has been collected, we will review the repository (typically 7 days). After the repository is reviewed and approved, we will send you an email and post the project to our student platform, GitHub Global Campus. The accepted projects will go live on the GitHub Octernships page on the _assignment start date _and will stop accepting submissions after the provided _assignment end date provided in your application. During this time, you can make use of GitHub Discussions _to allow questions and provide support to students working on your project.
When you are ready to review student submissions, you can visit student repositories by visiting your GitHub Classroom dashboard. Visit https://classroom.github.com/classrooms, select the classroom you created, select the assignment, and see a student roster with students who have accepted your project. To view the student repositories, use the “repository” hyperlink.
Once in the repository, you can review the student commits and their pull request, and communicate with the student via the pull request/issues to schedule a further evaluation and connect with them. You can also use GitHub search capabilities to find code, keywords etc across student repositories.
You can also use GitHub search capabilities to find code, keywords etc across student repositories.
Once you have reviewed your student submissions, please notify GitHub Staff of your selections using the Octern Selection Form
which will be sent to you via email once the assignment deadline has passed. You can select the number of students based on your requirement for the particular project.
The Octern selection must be given in preference order, this is done to prevent duplicate selection in case selected Octern(s) decide to skip or are unavailable for the project
- Format:
GitHubUsername1
;GitHubUsername2
;GitHubUsername3
Airtable4.mp4
Once a shortlisted/selected student by a partner organisation, accepts the offer on GitHub Global Campus both partner and students will be notified via email. There after organizations can proceed with their independent organisation level onboarding steps.
- We have been asked to make changes to my application
- If the GitHub team needs more information or requires a change in part of your application, you must re-submit the entire Airtable form with updated information
- Octernship Start or End dates are tentative/variable for our organization
- Please reach out to partners-octernships@github.com immediately and inform your change
- We don’t mind an upper limit to my Octernship Assignment
- We highly recommend setting a maximum value due to the high volume of applications. A large number of applications can lead to delays in evaluation and push deadlines back
- Step 2: Communication in the Program
- Step 3: GitHub Octernship Stream