Video: Setting Up Individual Assignments


(Eric Hollenberry) #1

GitHub Classroom automates repository creation and access control, making it easy to distribute starter code and collect assignments on GitHub.

This video walks you through the steps for setting up an individual assignment:


Video: Getting Setup on GitHub Classroom
Github Classroom documentation?
Video: Group Assignments
(Scott Sanicki) #2

@hollenberry’s previous video, Getting Setup on GitHub Classroom, can be found here


(Lindsay Ward) #3

This is great thanks, but I think it leaves out an important chunk:

At about 1:48, "when a student uses the branching workflow…"
That’s a big hole in the process…
Should a student create a branch? When? Do they have to create a branch? How do they do their PR? Is it to their own repo’s master? What does this look like if they don’t use branching?

I would love to see a video from the students’ perspective. Something I could link students to in order to teach them what to do would be awesome!

Thank you. I love where this is going :slight_smile:


(Rob Muhlestein) #4

Agree with these comments. I do like that students can simple click on “Edit” on the file and then when they go to commit it are prompted to make the pull request automatically. That seems intuitive enough versus teaching each student how to create their own branch of the workflow. That is, if I am understanding this correctly.


(Eric Hollenberry) #5

Hey @lindsaymarkward! Awesome feedback.

I would love to see a video from the students’ perspective. Something I could link students to in order to teach them what to do would be awesome!

We wanted to keep the video shorter for accessibility. Unfortunately, I’ve noticed that it has lead to some confusion! :sweat: I’d love to draw your attention to some other resources that delve into the process further, though :smiley:

  • https://github.github.io/on-demand/ <-- This is our On Demand course that teaches the branching workflow that I discussed. It includes videos and step-by-step walkthroughs. After our 3rd video for Classroom, I’ll be creating a “Retro” video that specifically solves this assignment.
  • https://guides.github.com/introduction/flow/ <-- This is a guide that can serve as a reference point when digging into the branching workflow further.

(Dhowe) #6

I agree completely – I think the basic workflow should be edit and commit, and a PR when done.
Later, once students are comfortable with this, then we teach the branching workflow…

But the videos are great – any chance we can get one for a non-branching workflow?


(Dhowe) #7

And yes, a step-by-step video from the student perspective would be very useful as well (one that we could distribute would be even better…)


(Eric Hollenberry) #8

I think the basic workflow should be edit and commit, and a PR when done.
Later, once students are comfortable with this, then we teach the branching workflow…

@dhowe Love the feedback! Unfortunately, it would be impossible to create that PR when done without first creating a branch to pull changes from. A direct edit and commit to master would be equally troublesome because you would essentially increase risk on deployment branches and remove the ability to collaborate, which is key.

And yes, a step-by-step video from the student perspective would be very useful as well (one that we could distribute would be even better…)

On it! :smiley:


(Dhowe) #9

What about a prompt when students accept an assignment to automatically create a new branch for their work (and/or the system could block them from working directly on master)?


How do students submit their assignments?
(Eric Hollenberry) #10

@dhowe

What about a prompt when students accept an assignment to automatically create a new branch for their work (and/or the system could block them from working directly on master)?

Excellent points! There are actually 2 ways that we can do this.

  1. Although there isn’t a prompt for branch creation, there is the ability to switch to a branch if you attempt to make a commit on master (at least on GitHub.com) without being on a branch already.

  1. To block a student from working on Master, you can protect the branch! In the Settings tab of your repository, you can select Branches, and find the protected branches menu.

There, you’ll find a screen like so:

Here’s some extra documentation: https://help.github.com/articles/about-protected-branches/


(Dhowe) #11

Is there a simple way to make ALL the auto-created repositories have a protected master branch so that none of the students (those who accept the assignment links) can write to master? This would go a long way to solving some of the problems we’re having…


(Eric Hollenberry) #12

Interesting question! My suspicion is that you’d have to set protected permissions on your original repository (the one that you distribute for all students), and then the student’s repositories would all be immediately set to the same settings in formation. I’m not :100: on this working, but I’d be curious about what you find out!

Alternatively, you can manually set this for all of the students repositories that have been created, though I understand this would be tedious.

Also, I was able to dig up a new video for you on Protected Branches in general. It just got the greenlight for distribution, so you’ll be one of the first to see it externally if you watch :smiley:


(Scott Sanicki) #13

@hollenberry’s final video in this series has been posted here:


(Dhowe) #14

Any answer to the actual question above, which is

Is there a simple way to make ALL the auto-created repositories have a protected master branch so that none of the students (those who accept the assignment links) can write to master?

??