Group Programming

| No Comments

There's a lot of people who like working in groups. There's also a lot of people who hate it. I feel both ways. It's a love-hate relationship. First off, you could be doomed from the start by getting teamed up with the person who is always showing up glazed over and tired from last night's frat party, and that's if they show up. On the other hand, you get lucky and work with a very personable, over-achiever. Usually it's not even about the fate you've been dealt with partner selection. Even if you're working with a partner who is trying as hard as you, there are benefits and challenges in every situation. I'll try to cover a few as it relates to group programming assignments.
One benefit that I have found from my group experiences is that two heads are better than one. When my group was dealt with a very difficult problem, having a partner that I could brainstorm solutions with was a vital asset. Being able to bounce ideas off each other was far better than working in isolation when the complexity was overwhelming.
Another benefit of group programming work is that one person's weakness may be supported by another person's strengths. For instance, our group project calls for working with regular expressions, and coding in C++. If one person hasn't programmed in C++, but is very familiar with regular expressions, and the the other person is fluent in C++, but hasn't heard of regular expressions, one partner can draw off the other partner's strengths to achieve the same goal.
I think some of the big challenges that occur in any group work is project management and availability. When it comes to availability. I found that after working through iteration 1, there was a difficulty syncing schedules in order to meet up and get some of the main details figured out. Unless we're both working full-time at the same software company, aligning schedules to complete a group programming project is a challenge. Along with odd class times, students have assignments from other classes that fill up their ever changing availability.
Project management is another challenge that occurs in group work. When I'm dealt an assignment, I know the parts of it that I have to do to get it completed - all of it. On the other hand, divvying up a programming assignment might be a whole project in itself. Both partners have to be on the same page and know the assignment well enough to be able to break it up into parts where each partner can work on it individually. The ability to break up an assignment is a necessity as the problem I mentioned earlier of availability prohibits a group from just sitting down together and "hammering it out" from start to finish.

Recent Entries

Find recent content on the main index or look in the archives to find all content.