Group Think or Group Stink?

| 4 Comments

An education in Computer Science provides many opportunities to work on small projects. Many projects could be done by a single person. So why do our instructor's insist working in groups? Won't I learn more if I do everything myself? No, you won't. Working in groups is one skill that should be at the base of every programmer's repertoire. The more you can experience it now will help you down the road.

That being said working in groups has challenges and benefits. One challenge is being able to communicate effectively. Some issues that arise might have many working pieces that are difficult to express in writing alone. Sometimes a snippet of code can be included with a description of the symptom you notice and directions to where you suspect the issue is.

Another challenge is melding their code with yours. You have to read someone else's code and they might have a different style than yourself. This can be difficult at first but here is where you can learn a thing or two by their example. On the other hand you may be able to show them an other way to do the same thing. In most projects you will utilize code from other programmers. Whether it be from a colleague or an open source project, you will need to know how to incorporate their code. This will save you loads of time since their code is most likely tested and bug free, well we hope so anyway.

A benefit of working in a group is having someone using and testing your code on another system. Another person might test different code paths or try something a slightly different way to reveal a bug. Often when coding and testing we can get a narrow view of what our code should do. A fresh perspective doesn't have this disadvantage and can bring fresh ideas.

As with most life experiences the challenge becomes the reward after you are through it. Working with others can be a bit of work at times but mostly it is enjoyable to share the struggles of development. Now is the time to make connections with your peers. You never know who you'll be working with in the future.

4 Comments

Working effectively in groups is an essential skill because most serious projects are done in groups outside of school. It's important for everyone to develop programming skills, which is why we write programs by ourselves. Programming in groups now will definitely help down the road. I also had trouble communicating effectively with my partner, and one of the things I did is to include a .txt file with the source code that lists everything that has been done and everything that needs to be done. My partner and I both know how much progress has been made without having to bother each other with an e-mail or a phone call.

Connor Yorks

I agree that with working in groups, merging different the code of different people is a challenge. Although as things go on, this can prove to be beneficial if one person has very good writing habits. They become a sort of role model for others who read their code because others will think, "wow his/her code is really easy to read," or something along those lines.

Kevin Tieng

I too agree that merging code has been a difficult part of this project. Despite this challenge i've also found that having a different pair of eyes looking at your code is a huge benefit. So many times i've been staring at code trying to find the bug and it turns out to be a trivial error that i just kept overlooking.

Hey, I agree that programming in groups has a lot of challenges and benefits, but in general learning to program together is an important skill. Huge projects couldn't be done alone after all.

Though, do you think it's necessarily true that a student will learn more by programming in groups or alone? I do think there are some cases when students learn better on their own, or rely too heavily on their partner and don't really learn anything at all...

Madison MacDonald

Leave a comment

About this Entry

This page contains a single entry by reis0140 published on October 14, 2011 9:00 AM.

Program Design and Development Expectations was the previous entry in this blog.

On Subversion is the next entry in this blog.

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