Workflow for Code Submission Next year will be my first year teaching AP CS A. While I've spent a lot of time preparing by choosing textbooks, picking an IDE, and writing the syllabus, I'm not yet settled on my workflow for how to push out assignment instructions/starter code and how to collect work back. 

I registered for GitHub Classroom with an education account, but I haven't yet had a chance to explore its resources and would like to hear from those who have used it. I can easily collect files via our LMS or Google Classroom. I just have doubts that that method is the most efficient for either me or my students. Also, this past year, CS50 took care of the distribution code, so I didn't have to worry about that. Now I do need to consider how I can get files to students efficiently if needed. 

What workflow do you follow for the submission of student work, particularly in the context of Java files? Do you provide students with starter code? If so, how?
Here is my system.  I give it top marks for ease of sharing, but one downside is that it does not do any kind of autograding without some scripting on my part.

I purchased a paid subscription to Dropbox.  This allows me to set up read-only folders.  At the beginning of the term, I copy/paste all of the names from the course into an Excel spreadsheet and collect an email address from every student for a Dropbox.

I then create a series of folders using a .bat file (I am a Windows user), generated with a function like ="mkdir ""APCS 1 - "&amp;A2&amp;", "&amp;B2&amp;"""".  This creates lines like mkdir "APCS 1 - Johnson, Cathy" I copy and paste this group into a .txt file, rename it to .bat, and - voilà! - I can double-click to create a directory for every student in my class section.  I run the batch file in some subdirectory of the Dropbox folder so that they will ultimately be sharable.  I then go through and share each of these folders with the respective student with write privileges. 

Finally, I create one last folder, something like AP Computer Science Section 1.  I then copy and paste the email addresses themselves into the share box for this folder, but only allow read priveleges.  Now, I can drop my assignments into to class folder (which is basically instantaneous), and I receive my submissions through their private folders.  I get everything timestamped, and don't have to log into any websites to get the assignments.

One more side-benefit of this arrangement is that when I need to send a file to some student, we already have a shared folder that I can drop it into.  No need for emailed attachments.