Group programming projects will test a student's technical skills and ability to work in a team. This post will discuss how to succeed in group programming projects.
The Answer: Choose an excellent group leader!
In group projects, the role of the group leader is very important. Although technical expertise is a desired quality for a group leader, leadership skills, project management skills, and communication skills are more important to ensure the success of the group project. (I am speaking from experience here because I've always been selected as the group leader when I was an undergrad :) ).
Common issues in group projects
* Schedule - cannot find a common time to meet and work on the project
Role of the group leader
In general, the role of the group leader is to handle the issues mentioned above.
* Facilitate communication - identify channels of communication, set meetings, follow up, etc.
* Assign tasks - based on the abilities of the members, members should be honest about their technical skill level
* Monitor progress - updates from group members, can be done through tools
* Provide assistance - technical, etc.
* Manage conflicts - need to make decisions at some point
A group member should not accept the nomination as group leader if he/she does not possess these qualities.
* Collaborative - group leader should ensure that every member of the team can contribute, no matter how small the contribution is
* Adaptable - be able to make adjustments based on circumstances
* Positive and cool attitude
* Accountable - and responsible
Of course without the contribution of group members the project will not move forward. (May not always be true because a highly technical, grade-conscious, and introvert group leader may 'make buhat' the group but secretly fail everyone else in the team in the peer eval :) ).
* Seek help(of prof) if needed
Appendix: Example work log
(Photo by Annie Spratt on Unsplash)