All of my students are set up in GitHub and using Git successfully to push content to GitHub. One of the things that drew me to GitHub Classroom was the ability to give feedback on student code inline with their code (somehow-using a special tool?). This appealed to me more than using Gist which has comments separated from code.
However, I have not been able to discover how to assess student code in this way.
- Am I imagining this, or is there a way to do inline feedback?
- Students could add me as a collaborator so I can edit their code with comments directly in the code (but I don’t like the idea of changing their code). If this is the way, how do students…
- find out comments have been made?
- pull my changes without having to rebase?
Thanks for any assistance you can give.
GitHub Classroom represents a sophisticated dashboard that helps you keep your job of managing students’ work organized; thus, it doesn’t provide you directly with a tool for code review.
Instead, reviewing code in GitHub is performed most of the time using the mechanism of pull requests. I think this post explains extensively what you are looking for.
Perhaps adding the teacher as collaborator would work ?
If you a collaborator, or the repo is public (apposed to private) you can add inline comments within the commit history. You can also tag a specific user (using the @), thus sending a notification to the user directly. You can do this for a specific line within the code (hover over the line number, then click the blue box with a white + sign), or comment on a commit as a whole.
I’m currently doing this with pull requests.
In a pull request you can click on files changed and comment line by line.
You can also start a review there and approve or request changes.
Thanks for the suggestions!
What I’m currently doing…
I open a student-submitted program file through GitHub. I visually review their code, looking for issues. If necessary, I copy the raw code and paste it into repl.it to see if it runs properly. If I need to comment, I click on the commit link next to the username above the code listing, find the file within the commit, and comment inline (@mentioning the student within the comment, as @jrich8573 suggested). Then, I create an issue pointing back (with a link) to that file within that commit. The student receives an email notification of the issue (and the comments), fixes the problems, replies to my comments, and marks the issue as resolved. When I get the issue resolution notification, I know I can look at the student’s work again. It’s working fine. However, I intend to start using pull requests, as @elissonmichael mentioned, when we start collaborative projects (next Spring).