Student Copies of Assignments

One of the points a wise student brought up before I ran into classroom was the fact that by having him create a repo for our course and doing each of his assignments there allowed him to return to the repo later and look up the assignment project for the concept he was using in another project as a reference.

One significant hurdle to my adopting classroom in general is that this ability to reference material later is lost without the student forking each assignment repo to have his own copy of it. After dozens of assignments per course, and dozens of courses, this would clutter the student’s future personal repo with potential hundreds of assignment repos, none of which would likely be private any longer because of the cost to maintain that many private repos as an individual.

For these reasons, we continue to use a single repo per student per course that is under their ownership and maintenance and build in validation of that repo itself. The downside is that these repos likely always have to be public because the students often do not have the advanced notice to get student status before arriving at school. It is a bit annoying for the students to have to have their school work be public, for potential employers to see as well as other students. It has also made us have to add more personal scrutiny for validating assignments have not been literally cut and paste (but we live in a time when that will always be possible for those that want to cheat themselves).

We are working on automated validation and checks of individual student repos through external means with API integration and all our code is done from the command line or the GitHub or codeanywhere editors.

Thoughts on addressing this in other ways are welcome. Personally I believe the concept of individual repos for each assignment will prove too much in the long run for most organizations. The overhead to clone, merge and validate each individual repo, combined with the inability for the student to take the repo with them later, will prove too much. I hope I’m wrong.

I have a similar problem in my course. I teach a 300-level elective course where all the assignments build on each other, and by the end of the course, the student has built and deployed a complete project with multiple components.

Because the starter repo has to be a specific repo or template repo, I can’t use assignments in Classroom for anything but the first assignment, then keep moving the due date (or just ignore the due date altogether). I think what would solve this problem is the ability to set a prior assignment as the starting point for an assignment, so that wherever the student was before, they would start from there, and keep moving.

@mozzadrella is that something you all can add to the feature request list?


I’ve opened an issue on GitHub to discuss the possibility, and I’ll share with our engineers!