Collaborative Software For Pair Programming?
DavidMatuszek writes "I will be teaching Java again this Fall. Students work in pairs, but unfortunately (after the first hour) typically not physically together. I would like to find collaborative software that is (1) dead simple to use, because that's not what the course is about, and (2) free. Google Docs would do, but students will be sharing code — plain text — not RTF or HTML or Word files. Is there such software for plain text?"
Please don't make them work in pairs, it's a horrible way to learn programming. I'm assuming you have enough computers, why not?
Sure--learning to work on a program with others is a necessary skill, but you should already know the basics first.
If you're willing and able to release the source code, why not encourage them to use a free account on sourceforge or github?
If the course is about Java, why do you expect them to do pair programming? (I assume you mean Pair Programming, not just cooperating to solve the tasks. If you mean the latter, it's just a matter of revision control using SVN or whatever, which they should do anyway.)
Anyway, one free tool that comes to mind is screen(1) (aka Gnu Screen) in multiuser mode. That makes two or more users share a bunch of Unix terminals in real time.
Cancel the pair programming. All that happens is one student in the pair writes all the code. They might swap back and forth, or more likely one will end up doing it all.
Etherpad for real-time text file collaboration
Yuugu for sharing desktops
Ventrilo for voice communication
Whatever source control solution you wish (TFS, Subversion, Perforce) for non-real-time collaboration with text documents (programs)
Yahoo IM or the chat/IM client of your choice for casual low-bandwith and non-time-critical conversations and sharing of information, links, etc
Email for everything else
- Spryguy
There are three kinds of people in this world: those that can count and those that can't
Um, he's doesn't appear to be talking about a repository, but rather, software to enable pair-programming, only with the pair not sitting next to each other (or in the same room). Say, some software like SubEthaEdit on MacOS X, where two people can simultaneously edit the same document, along with say, Skype or some other voice/video service where the two people can view/interact with each other.
At least that's what I gathered from reading TFS.
Sleep your way to a whiter smile...date a dentist!
I vote for the central server. And for having it in the hands of the teacher.
That way he can far better check whether one student does all the work while the other is doing the homework for another class for both of them. Yes, it's also a way to share the burden, but not the way it's meant to be. The server could be made tamper proof and if something's suspicious he could always check the versions and see what was done by what student. Even if they're smart enough to hand both logins to one person and that person fakes doing work as his partner, the IP addresses would give it away if they cheated.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
That's all fine and good if you both are hired at a company, for instance, and have to work as coworkers. If, on the other hand, you're paying good money, you shouldn't have to cater to other peoples' needs in a learning environment.
On the other hand, if you're paying good money, you might want an opportunity to develop a skill which will help you when you eventually are hired at a company and have to work as somebody's coworker.
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;