The biggest one for me would be a reason to use version control. When you're writing small lab assignments, version control probably isn't worth all that much. It's when they get to a point where projects become larger than a handful of methods, or when you're working on separate pieces of a larger project with partners that it becomes useful.
The answer is Yes, but be careful.
As far as employment goes, no recruiter is going to want to go through a student's completed homework.
Professional Portfolios do NOT include practice
However, these students are not professionals. Keeping a website to showcase their practice and skills is good. It's good practice.
When these students graduate, the ...
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 ...
Version control and the associated tool addresses the following (at least)
Backups (for when you lost or deleted something)
History of changes (for when you made a mistake and need to go back)
Collaborative working (sharing and merging)
Bug fixing and development on different branches
As I've written these, I think they're roughly in order of ...
One particularly nice, if a bit flashy, suggestion a supervisor once gave me for students to showcase their work is to build a phone or watch app. That way when an employer asks "what can you do for us?" you simply whip out a phone app, hand it to them, and say "there you go".
Perhaps not so brazenly, but you get the point!
Portfolios should answer two questions:
What is this person capable of?
What is this person interested in?
And the answers to those questions should be as obvious as possible. I should see at a glance specific examples of what you're capable of and interested in. A portfolio should highlight specific examples of stuff you're good at, and stuff you want to ...
First, yes, portfolios are a universally good thing for students at any level, not just high school. My preference is to require them and also to provide some institutional support for their creation and maintenance. The initial creation of the portfolio can be a project for a second or third year student - graded or not. If there is a course in web ...
1, 2, & 3
In most cases, I'm okay with them having the tests ahead of time. The only thing that concerns me a bit is that they can edit the tests, and GitHub would use those.
What I do, and it's typically only on larger weight assignments, is to download all of the repositories. I'll then copy either a clean copy of the test files or a new set of test ...
In the auto grader I use, the following process is followed:
The students files are copied into a pristine work area
The "provided" file(s) are removed from the work area
If I intend to use MOSS, the remaining files are copied for later use
The "provided" file(s) are copied into the work directory
The result is built (if necessary)
It's encouraging to see these skills start to make their way in earlier in computing education. I'm a college professor and teach (among other things) our Software Engineering class so this subject is near and dear to my heart. To answer your questions one by one:
When does revision control rise to the level of a "needed understanding" for students?
I agree with the CSTA Standards that revision control is an important skill by upper high school. My school has a GitHub account and it is good for both revision practice and for using Agile boards for task management, which is an important methodology for students to know as they move to college. I think there is value in either GUI or Command Line ...
I am looking between doing a free wix or weebly site for my students or even a youtube channel with updated examples of work in a slideshow format. But companies do not only want to see finished work. I do a lot of work with Savannah College of Art and Design, as my high school career academy is just down the road. They have had several design students get ...
I wrote a series of posts on how I use raw GitHub with my classes:
Part 1 - Introducing your students to GitHub by using it as a method for distributing code to your class.
Part 2 - Having students submit homework and small assignments using GitHub - this has them adding content to GitHub and sets the stage to teach them about "playing well with others."
The only pre-requisites to using a computerised revision control system are:
Use of a computer.
Use of a computer to, create some artefact (e.g. document), and to then improve on this artefact (create multiple revisions).
However It may be possible to teach a non-computerised revision control system.
What to revision control
The artefacts ...