7 ms·
Use git+github in the classroom
- meastham 16y agoGithub just threw 20 repos my way for my students to use for class projects. It was totally painless and I'm extremely happy.
- dougws 16y agoThey've been doing this less formally for a while. Last semester I sent them an email and within a day or so had a free private repository for a school project. It's both a great service and a smart financial move; the type of person who is likely to request a free student repository is extremely likely to do paid business with them in the future (i.e. after graduation).
- endtime 16y agoYeah, they did this for CS210 at Stanford last year - nice to know the process is formalized now. Thanks GitHub!
- lfborjas 16y agoI used this last year, they gave me an org and private repos for the student projects without any fuzz, it was really cool to teach a course with that and we open sourced the projects afterwards (it's in spanish, though) : https://github.com/progra4 https://github.com/progra4 I'll definitely use it again, the students learned a lot about project management and distributed version control systems, which is something that isn't being taught as it should, at least not where I went to college.
- joelhaasnoot 16y agoSounds great! Assembla used to do this, but this seems a great way to learn Git. Students need to learn to understand SVN, some just don't get it. Git is a step on top of that, but very important to learn. Some colleges do teach project management by just doing it: I spent a quarter of my 4 years doing full-time projects.
- benkant 16y agoI just sent something to them regarding this as a student. I planned on using github this semester but I'm worried about having my code copied. I'm assuming they provide private repos for students? I'm not sure how successful I'd be getting professors to use github if they already have their own process. But I'd like my code in source control even if I end up submitting the final product some other way.
- lfborjas 16y agoThey do provide private repos, that's seems to be the idea of offering this alternative to students, instead of expecting them to buy personal plans.
- deleted 16y ago[deleted]
- Newky 16y agoThis is why I love github, I didn't realize that they have a student plan and I have applied with hope of getting this free micro plan. In the past about 2 months, I have started using GIT and its simply brilliant for all types of version control whether development with other programmers or development on my own.
- danpker 16y agoThanks for posting this, I've been paying for the micro plan for a few months for my projects. I had no idea students could apply for a free plan.
- krschmidt 16y agoI love version control, and I love Github, but when is the proper time to introduce students who have never programmed before to version control?
- jpitz 16y agoMy gut reaction is "as early as possible." I'd be curious to hear arguments to the contrary.
- krschmidt 16y agoThat'd be my gut reaction too, but that might just be because we understand the importance of it. Attrition rates are really high in intro CS classes. When loops still seem like a difficult concept, is version control just one more thing too much? On the other hand, if you spend time before starting programming just learning version control with plain English text, are you encouraging students to drop because they're not getting to program like they expected? And when most projects are 10 to 15 lines long and done alone, is there an effective way to still show how version control is superior to the undo button?
- steveklabnik 16y agoI always make an analogy to video game quicksaves, personally. They usually go 'oh!' and you can see it click in their eyes. Then again, that only works for a select audience.
- lfx 16y agoAt the very first day. Because is good to have all source history and look and explore, what they learned, and how they code evolved.
- sid0 16y agoA related but somewhat off-topic question: when do you start using version control on brand-new projects? I find myself hg initing and making my first commit once I've written something significant -- say around 150-200 lines of code.
- danest 16y agoThanks for this, I just applied and told one of my professors so that we can use this for our semester long project with 20 other students.
- spacemanaki 16y agoI would love to hear that there are CS/EE programs using version control to catch cheating. It seems to me that if you forced students to "show their work" by having them commit to their project repo in small increments, it would obviate (some of) the hoops some depts seem to go through to prevent cheating. At my school, we were given programming problems a week in advance, told to solve them and memorize the solutions, and then had to show up at a computer lab for an "exam" where we basically typed the programs in and made sure they compiled, etc. I believe this process was put in place after rampant cheating was happening in more traditional "turn in your source code" types of projects. However, this was a pretty horrid experience, and for some students who treated them like regular exams (ie didn't actually memorize working solutions beforehand) these exams were crushing to their grades. I can imagine some sort of automated checker for this, examining repos for unusual activity (one giant commit right at due date) after a project was submitted. Of course, I've also heard that in some academic CS depts, any version control at all is a huge deal (we were taught how to use the integrated CVS tools in Eclipse in one afternoon by some TAs, and that was the extent of my exposure to vc in the classroom, and this was in 2006-7), so maybe I'm dreaming too much.
- burgerbrain 16y ago"I would love to hear that there are CS/EE programs using version control to catch cheating. It seems to me that if you forced students to "show their work" by having them commit to their project repo in small increments, it would obviate (some of) the hoops some depts seem to go through to prevent cheating." I know several professors that attempt this. The work-around is pretty trivial though: just cheat as usual, then claim you forgot to commit until you were already done. The best the professor can really do in those cases is dock the kids a letter-grade or so (oh noes, a B!), since forgetting to commit is at least somewhat plausible for students unused to version control, and certainly isn't strong evidence of cheating. Of course the really bad cheaters are still caught, but through the tried and true method of comparing code and looking for students that don't understand their own code.
- fr0sty 16y ago> The work-around is pretty trivial though: just cheat as usual, then claim you forgot to commit until you were already done. The Workaround for this is likewise trivial: make "failure to show work" grounds for a failing assignment grade.