I surveyed 129 of my fellow UQ students and found that the majority agree with me when I say group assignments are one of my least favourite parts of university.

Survey results

Group assignments can be one of the worst parts of the university experience, differences in work ethic and ability tend to result in some people carrying the team while others coast through to an easy pass with little effort. Unfortunately, this is a problem most people will deal with for most of their lives; I can't offer a solution to that.

What can be improved easily is how teams collaborate on their projects. Some classic methods I've seen over my years at university include

  • USB with files on it
  • Email a zip file around
  • Facebook group shared files
  • Dropbox shared folder
  • Google docs

Each has their own benefits and flaws, but none of them have all the features which are important to working in a team. When picking the right tool for working in a team, you should look for the following features:

Ease of use
Is it easy for everyone in your team to install or access the tool?

Security
Is your work visible only to your team and is it impossible for someone to accidentally delete any or all of it? If someone messes up badly, can you revert the project back to when it was good?

Synchronous editing
Can everyone in the team work on the project at the same time without it becoming a mess? Does the system have some way to deal with two people working on the same part of the project?

Non-repudiable history
Is there a history of who in your team changed what? (or who contributed nothing?) Is there a simple way for you to answer "who wrote this section?” or "how much work has John done?”

Cost
Is it free? Just because you're willing to pay for something, doesn't mean you're going to have an easy time talking the rest of your group members into shelling out their valuable beer funds.

Introducing Git

Git is a version control system which keeps a structured history of text-level changes to your files. It keeps a track of who changed what as well as distributing the changes over multiple locations so your work is safe.

Git on its own satisfies all the features I listed above, except for ease of use; Git is a command line tool and starting a stable and secure Git server can be a challenge. However, this doesn't have to be the case, thanks to Atlassian.

Atlassian is an Australian tech company which offers a lot of cool products, but today we're looking at Bitbucket and Source Tree.

Bitbucket

Bitbucket

Bitbucket is a Git server service; it's the central place where you create your project, and sync your work to using Git. A couple of other well-known Git server providers are Github and Gitlab.

By using Bitbucket you can remove any difficulty in administrating a Git server and rest easy knowing your work is securely and safely stored.

The best part is, Bitbucket is free for students! You can register for their Bitbucket Education for Students program using your university email address and get access to unlimited, free storage for your assignments or personal projects while you're a student.

On top of that, they also have an awesome website where you can learn all about how to use Git from no existing knowledge.

Source Tree

So Bitbucket solves one of the issues with getting started with Git, you don't have to set up any servers or pay for anything, but that doesn't fix Git being a command line tool which could be a step for some people. Not to worry, Atlassian has a solution for that too; Source Tree.

Source tree provides a graphical interface to remove a lot of the complexity in learning and understanding Git. I use it every day and can highly recommend it.

So, with the right tools, group assignments can at the very least be manageable from a collaboration point of view. As for that one person who does no work and gets a passing grade, technology can't quite fix that yet.