Slashdot Mirror


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?"

25 of 302 comments (clear)

  1. Use subversion either hosted or your own server by ls671 · · Score: 5, Informative

    I would recommend to use Subversion. You could setup your own server but there is also hosted solutions available. I searched Google for "hosted source control" and I found this link :

    http://weblogs.asp.net/fmarguerie/archive/2005/04/27/Hosted-source-control.aspx

    The bonus would be to teach your student how to use version control and how to work together on the same files. Subversion (and older CVS) integrate into Eclipse and most other development environment. There is also standalone clients available if your students use a simpler editor like vi or notepad ;-))

    --
    Everything I write is lies, read between the lines.
    1. Re:Use subversion either hosted or your own server by RichardJenkins · · Score: 4, Insightful

      If you're willing and able to release the source code, why not encourage them to use a free account on sourceforge or github?

    2. Re:Use subversion either hosted or your own server by sys.stdout.write · · Score: 3, Funny

      I would recommend to use Subversion

      I agree. But don't forget to do the thing the students will care most about: shave your beard.

      You look like Richard Stallman.

    3. Re:Use subversion either hosted or your own server by SanityInAnarchy · · Score: 3, Informative

      Seconded.

      Well, actually, Git would probably be better, but that's a matter of opinion. But even with a central server, Git is faster and simpler than SVN for most things.

      --
      Don't thank God, thank a doctor!
    4. Re:Use subversion either hosted or your own server by HaZardman27 · · Score: 3, Informative

      If these students are embarking upon a journey into computer science, I would say that they should get used to scraggly beards.

      --
      Apparently wizard is not a legitimate career path, so I chose programmer instead.
    5. Re:Use subversion either hosted or your own server by davester666 · · Score: 5, Insightful

      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!
    6. Re:Use subversion either hosted or your own server by 0100010001010011 · · Score: 3, Funny

      And that's just the women.

    7. Re:Use subversion either hosted or your own server by greg1104 · · Score: 3, Funny

      That would be very limiting, because you can't write a successful programming language without facial hair

    8. Re:Use subversion either hosted or your own server by Opportunist · · Score: 4, Insightful

      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.
    9. Re:Use subversion either hosted or your own server by SanityInAnarchy · · Score: 3, Informative

      Well, svn is also quite complex. Compare a git merge with an svn merge.

      I suppose I should say, easier to use, once you know how. The learning curve might be sharper. On the other hand, it's much easier to set up a Git server than an SVN server -- ssh access is all you need.

      --
      Don't thank God, thank a doctor!
  2. How about gobby? by StylusEater · · Score: 5, Informative

    How about gobby... http://gobby.0x539.de/trac/ ?

  3. Etherpad by BSDevil · · Score: 5, Interesting
    Try http://etherpad.com/ -

    EtherPad is the only web-based word processor that allows people to work together in really real-time. When multiple people edit the same document simultaneously, any changes are instantly reflected on everyone's screen. The result is a new and productive way to collaborate on text documents, useful for meeting notes, drafting sessions, education, team programming, and more.

    --
    Cue The Sun...
    1. Re:Etherpad by jd · · Score: 3, Informative

      Uck! Marketroid speak! It's not exactly new, there was a multicast-based text editor as part of the MICE suite, and there were some very nice "whiteboard" programs out there which allowed you to use OLE linking to share data between two applications real-time.

      The first certainly was around in the early 1990s, the second was around in the mid 90s.

      EtherPad may be "new" in that it uses HTTP as the underlying protocol, but collaborative editors are ANCIENT. The biggest problem they've faced is that so few people have used them that they have never really maintained critical mass.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  4. Please by Anonymous Coward · · Score: 3, Insightful

    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.

  5. SubEThaEdit or some other choices... by liquidhippo · · Score: 5, Informative

    If you are working on Mac OS X, then SubEThaEdit is a great choice for collaborative coding. As for other options, check this wikipedia page: http://en.wikipedia.org/wiki/Collaborative_real-time_editor

  6. My first assignment for your students would be .. by PolygamousRanchKid+ · · Score: 3, Interesting

    . . . to do some research, and choose for themselves whatever suits their needs best.

    If they make a good choice, they will be all smiles. If they make a bad choice, they will have learned something that they will encounter again in their careers.

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  7. Gnu screen by jgrahn · · Score: 3, Insightful

    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.

  8. Just cancel pair programming by h4rr4r · · Score: 4, Insightful

    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.

    1. Re:Just cancel pair programming by MpVpRb · · Score: 3, Interesting

      I am SO glad that this stupid idea did not exist when I started learning programming.

      If it had, I probably would have quit the class.

      I just happen to learn better alone, just me and the machine.

      I don't want to have to win a debate with another person before trying something, I just want to try it...now.

      ...BTW...now that I know what I'm doing, I work VERY well as a member of a team.

    2. Re:Just cancel pair programming by ShakaUVM · · Score: 3, Insightful

      You assume the hardworking student will just let that happen... that's not my experience (i had 4 years of compsci study where every programming course was done in pairs. This was in the late 80's). When one of the pair was slacking, the other one tended to either do the same (and both failed the exercise), or just do everything himself and complain to the assistents about it, generally leaving the other with an F.

      Uh, no. You really think the hardworking student is going to allow himself to get an F? You forget that our teachers have been exposing kids to this collaborative stuff since 1st grade now, hell, including peer teaching, in which the teacher explains something to the class, and then the smart kids explain it to their not-so-smart friends. They won't complain to their TA, they'll just roll their eyes and do all the work, like they're used to.

      Speaking from personal experience, teachers love pair programming because it halves the amount of homework they have to grade, and because if you have limited seats in a computer lab, you can squeeze more people in.

      That said, I actually do like doing pair programming.

      But pair programming is only useful when both people already know how to program (you're not towing an anchor), but you're doing something complicated enough you're worried about bugs. In my neural nets class, the math was so hairy that Bob Boyer and I really had to go over each line of code in order to make sure it was correct. I don't think either of us would have been able to do it on our own (or at least, not without a lot of pain). Our work's been used in various open source spam filters and referenced in patent applications, so it's pretty cool. =)

  9. Some tools I use... by SpryGuy · · Score: 3, Insightful

    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
  10. Eclipse DocShare (Cola) by slim · · Score: 3, Informative

    I initially read the question as being about real time remote collaboration.

    If that's the case, there's Eclipse's DocShare plugin: http://wiki.eclipse.org/DocShare_Plugin

    I haven't tried it, and I don't know how mature it is. But I watched a video presentation on it a while ago and it looked very promising.

  11. Eclipse + ECF + XMPP (Jabber) by jazzkat · · Score: 3, Informative

    Eclipse offers realtime collaborative editing via XMPP and the Eclipse Communication Framework:

    http://www.infoq.com/news/2008/06/eclipse-ganymede-ecf

    Set up a Jabber server and away you go.

    I have not tried this, so I can't speak to its quality.

  12. Re:Good grief by Phroggy · · Score: 3, Insightful

    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;
  13. Bespin? by mpath · · Score: 3, Informative

    There was some talk a while ago about this. I gave it a shot back then and it was a CPU-hog. With the latest strides in JavaScript (both browsers & the technology), it might be worth another look:

    https://bespin.mozilla.com/

    --
    I'm not sure what the secret to success is, but the secret to failure lies in trying to please everyone -Bill Cosby