post · Group Projects · Soft Skills
Group Project Survival Guide for Singapore CS Modules
If you're studying computing at any Singapore university or polytechnic, you'll get group projects. Lots of them. CS2103T at NUS, IS200 at SMU, INF1002 at SIT, every project module at every poly. Half of them go fine, half of them collapse, and the ones that collapse all collapse the same way.
Below is what works, drawn from the patterns I see most often.
The four group archetypes
Every group of 4 in a Singapore CS module has roughly:
- The driver: usually one person, often you if you're reading this. Cares about the grade, willing to do the work, sometimes too willing.
- The competent passive: knows how to code, will do tasks if assigned, won't volunteer.
- The well-meaning slow learner: trying hard, but can't move fast. Needs help, often doesn't ask.
- The vanisher: replies on Telegram once a week, shows up to demos.
The mistake the driver makes is to do the vanisher's work themselves to keep the project moving. This is short-term rational and long-term toxic. By week 8 you're doing 60% of the work. By week 12 you're doing 80% and resentful.
Don't do this. Here's the alternative.
Establish working practices in week one
The first meeting isn't a coding meeting, it is a norms meeting. Decide:
- How you communicate. One channel only. Telegram or Discord, not both. No email.
- When you meet. Same time every week, 30 minutes. Skip if nothing to discuss, but never skip the meeting "because we are busy".
- How you assign work. Use a shared board (GitHub Issues, Notion, Trello). Every task has an owner and a deadline.
- How you review. Pull requests, with at least one teammate review before merge.
- What "done" means. Code merged, tested, deployed to staging.
Write these down. Put them in the repo README. Refer to them when someone slips. Norms agreed in week one have authority that norms invented in week eight don't.
The Git flow that works
For a 4-person team on a 12-week project:
- Main branch: protected, only PRs can merge. Always deployable.
- One feature branch per task. Named
feat/login-page, notchris-stuff. - PRs require one approval. Not two. Two slows you down. One catches the obvious mistakes.
- Commits are small and named clearly. "Add password validation" not "WIP" or "fixed bug".
- Merge once a week minimum. Long-lived branches turn into merge-conflict nightmares.
If your team has never used Git in a team setting, spend the first hour of week one on a hands-on workflow walkthrough. The cost of a teammate force-pushing over your work is much higher than the cost of an hour of learning.
How to deal with the vanisher
Every group has one. The escalation ladder:
- Week 2-3: Send a friendly DM. "Hey, you've task X due Friday, just checking in." Sometimes that's enough.
- Week 4-5: Bring it up in the group meeting. "Vanisher, you've not pushed code in two weeks. What is going on?" Make it a group conversation, not a personal one.
- Week 6-7: Document. Email the module coordinator. Most modules have a peer-rating component. Use it honestly.
- Week 8+: Stop covering. If the vanisher's part is missing, let it be visible to the marker. Don't absorb their work to make the team look good. The marker won't reward your sacrifice.
Step 4 sounds harsh. It's the only thing that actually changes behaviour. Vanishers vanish because covering exists. Stop covering and they either show up or they don't, and the marker sees the truth either way.
How to deal with the well-meaning slow learner
This is the opposite problem. They want to contribute, they just can't move fast. Approach:
- Pair them with you on the harder tasks. They learn, you cover.
- Give them the well-defined tasks first. "Implement this exact function" is easier than "design the auth flow".
- Schedule a 30-minute teach session weekly. Investment that pays back in week 10.
Don't try to carry them. They lose the chance to learn, you lose your sanity. Carry them only on the day before submission, and even then only on the parts that affect the grade.
CS2103T-specific advice
NUS CS2103T deserves its own section because the iP and tP have specific marking patterns:
- iP weekly increments: do them every week, no excuses. The compounding effect is extreme. Skipping week 4 means week 5 takes twice as long.
- tP feature ownership: every team member should "own" 1-2 features end-to-end. Not just code, also tests, docs, and the user guide.
- PE-D and PE-R: the peer evaluations matter and they ask for examples. Keep a personal log of what you and each teammate did each week.
- Documentation: the marker reads the dev guide and user guide carefully. Spending a weekend on docs late in the project is worth more than another small feature.
Marking patterns to know
Most Singapore CS group projects mark on:
- Working features, weighted by complexity
- Code quality (readability, modularity, testing)
- Process (Git history, PRs, documentation)
- Team contribution (often via peer rating)
Notice that "amount of code" isn't weighted. A small, clean, well-tested feature scores higher than a sprawling buggy one. This is good news for the well-meaning slow learner and bad news for the driver who tries to do everything fast.
Submission week strategy
In the last week:
- Stop adding features by Tuesday. Last-minute features are buggy.
- Spend Wednesday on testing and bug fixes.
- Spend Thursday on documentation.
- Friday is for final demo prep and a clean Git history.
Teams that try to push features into the last 24 hours regularly break the demo. Don't.
Conflict happens. Handle it directly.
If a teammate is being unreasonable, say so. Privately first, in the group meeting if private fails, to the module coordinator if all else fails. Don't stew.
Most conflicts in CS group projects are about expectations, not about people. If everyone agreed at week 1 what done meant, there is little to fight about. If you skipped that conversation, week 6 conflicts are predictable.
If your group is already on fire
If your group is collapsing and you have to salvage the project, message me on Telegram. I've helped students rescue tP and IS200 final projects in the last week before submission. Doable, but the earlier you ask, the smoother it goes.
And if you're the driver and burnt out, take a break. The grade will be roughly the same whether you spent 50 or 100 hours, within reason. Pace beats sprint.
Keep reading
More from the blog
-
· Exam Prep · Revision
How to Revise for a Programming Exam in 7 Days
A focused 7-day revision plan for any Singapore programming module exam. Practical, what-to-do-each-day, no fluff.
-
· FYP · Capstone
Picking a Tech Stack for Your FYP, Without Regret
How to choose the right tech stack for your final-year project or capstone in a Singapore university or polytechnic, from someone who has rescued plenty of bad picks.
-
· Debugging · Skills
Debug Like a Working Engineer, Not a Panicked Student
A practical four-step debugging method that works on every language and stops you wasting hours on print statements.
Related services
Need help with this directly?
Stuck on something specific?
Send your brief and I will reply with a fixed price, usually within the hour.