Teamwork Guide
The tasks in this course are expected to be solved in small teams. One of the reasons for this is that as the topics are complicated, it will be very effective to tackle them together with a few fellow students. Here are guidelines to make your teamwork smoother.
Start the Task Together
Plan a 30-minute meeting where you and your teammates read the task description and set up a plan to tackle it. This time could be straight after the lecture when you are all present in Delta anyway. Read the task and agree on how to approach it as a team. If you have time, you can even start googling tutorials and resources or ask ChatGPT.
Not Everyone Has to Produce Equally
You might be inclined to think that everyone has to write the same number of lines of code, text, or slides. Discard that idea. Different members can contribute very differently. The main purpose here is for teammates to help each other in varying ways. You can be a valuable member without writing a single line of code!
Ways to Contribute
Here are some ways teammates contribute:
- Reading the task description and checking that everything is understood correctly – It is extremely common for people to lose points just because they missed or misunderstood part of the task description. By being the person who double-checks this, you are invaluable in helping your team get more points and not waste time solving a misunderstood task.
Do this before you start implementing anything!
- Helping to understand the topic – The topics in this course are complicated. Some of them involve difficult mathematical or algorithmic concepts. By helping your entire team to understand them, you contribute to better understanding and effective solution-making for the entire team.
- Providing computer graphics knowledge – Your teammates might not remember the things from the previous Computer Graphics course that you remember. By helping them with such aspects necessary for a particular solution, you help your team to get on the same page.
- Pair-programming – This is a very undervalued technique, where one team member writes code and another assists. When doing that, the programmer explains to the teammate what goes through their head while programming the solution. The observing teammate then checks if that logic is sound and if the implementation written in front of them is good. You can also switch roles mid-way. Give it a try: once with an easy task and once with a difficult one.
- Research – You might discover solutions, articles, video game examples, etc, that relate to the task your team is solving. Your findings can offer a more effective solution or give a better understanding for everyone in your team.
- Validation – You can check the created solution against the task description or critically analyze it. You may discover shortcomings your team can prepare for or fix before you submit or present your solution.
- Design – The package around the solution can be as important as the solution itself. Be it adding another GUI parameter, emphasizing certain ideas in your essay, or creating visual illustrations for your presentation slides, there are a lot of things to do besides just writing code.
- Problem-solving – There can be places where your team gets stuck. It is very useful to then talk to each other about the problem and come up with a solution together.
- Team management – Even a small team needs someone to schedule and organize the work. Someone to schedule the 30-minute (or longer, according to your team's needs) meetings, ensure that the work is progressing, etc. The essays and presentations are longer endeavors that could need even up to a month of scheduling. Reaching out to team members and making a plan together is the key to success here.
When you think everyone in your team must write an equal amount of code, then that takes a lot of time away from all the important contributions above. However, each member should understand the written code. This is where explaining the solution to your teammates comes in.
Explain the Solution
To make sure everyone in your team understands the solution and is ready to defend it, schedule another 30-minute team meeting in Delta when the solution is ready. Explain the solution to each other and answer the questions that your team has. You can even add comments to the code according to the raised questions. If you have issues then, you will likely have issues answering the questions of the practice session instructor when your team presents the solution.
Submitting the Solution
When everyone is on the same page with the solution, submit it in CGLearn. Ensure the person submitting it includes all the team members in the submission form. This is another place where you can unfairly lose points due to a lack of oversight.
In conclusion, the teamwork in this course is all about each team member helping the other team members to do their best and solving the very different issues that can arise within a team. Support and validation is equally important as the solution!