Interpersonal Skills (College Board AP® Computer Science Principles): Revision Note
Team communication skills
Why are interpersonal skills important in computing?
In AP computer science principles, developing software is rarely a solo activity
Interpersonal skills are the abilities that help team members work together effectively during the development process
Strong communication within a team leads to better collaboration, fewer misunderstandings, and higher quality programs
These skills are just as important as technical ability when building computing innovations as part of a team
Communication in a development team
Communication is the exchange of ideas, plans, and feedback between team members
Clear communication helps ensure that everyone on the team understands the goals of the project and their individual responsibilities
Poor communication can lead to duplicated work, missed requirements, or conflicting code
Communication skill | How it helps the team |
|---|---|
Explaining technical ideas clearly | Ensures all team members understand the approach, e.g. when describing an algorithm, data structure, or program logic to a collaborator with a different level of experience |
Active listening | Prevents misunderstandings when discussing requirements or design decisions, and shows respect for others' contributions |
Asking clarifying questions | Reduces errors caused by unclear specifications, e.g. confirming what data a function should accept or what output is expected |
Providing regular progress updates | Keeps the team aligned on the current state of the program and helps identify bugs or missed requirements early |
Documenting decisions and agreements | Creates a shared record of design choices and responsibilities, reducing the risk of conflicting code or duplicated work |
Building consensus
Consensus is when all members of a team reach an agreement on a decision
In software development, teams regularly need to agree on things like which features to prioritise, how to structure the program, and which tools or methods to use
Building consensus involves:
Allowing every team member to share their perspective
Weighing the advantages and disadvantages of each option
Compromising where necessary to move forward
A team that builds consensus is more likely to stay motivated and committed to the project, because each member feels their input has been valued
Conflict resolution
Conflict can arise in any team, especially when members have different ideas about how to approach a problem
Conflict is not always negative
Disagreements can lead to better solutions when they are handled constructively
Effective conflict resolution strategies include:
Focusing on the problem, not the person
Listening to all viewpoints before making a judgement
Looking for a solution that addresses the concerns of both sides
Agreeing to test different approaches and let the results guide the decision
Unresolved conflict can slow down development and damage working relationships within the team
Negotiation
Negotiation is the process of reaching an agreement when team members have competing priorities or different preferences
Unlike conflict resolution (which addresses disagreements), negotiation focuses on finding a mutually acceptable outcome when resources, time, or scope are limited
Effective negotiation strategies include:
Identifying what each team member values most in the project
Proposing trade-offs (e.g., "We can include your feature now if we delay mine to the next version")
Focusing on the shared goal of delivering a working program rather than individual preferences
Negotiation is especially important when deciding how to divide work, set deadlines, or choose between competing design approaches
Examiner Tips and Tricks
The AP exam may describe a team scenario where members disagree and ask you to identify the best course of action
The correct answer will usually involve listening to all perspectives, discussing the options, and reaching a shared decision
Avoid answers that suggest one team member should simply override the others, as this goes against the principles of effective collaboration
Worked Example
A team of three students is working on a computing project. Two students want to use a list to store data, while the third student believes a series of individual variables would be simpler. The disagreement is slowing down progress.
Which of the following is the best approach for the team to resolve this conflict?
(A) The two students who agree should outvote the third and move on immediately
(B) The team should discuss the advantages and disadvantages of each approach, then agree on which best fits the project requirements
(C) Each student should implement their own version of the program separately
(D) The team should ask the teacher to make the decision for them
[1]
Answer:
(B) The team should discuss the advantages and disadvantages of each approach, then agree on which best fits the project requirements [1 mark]
Effective conflict resolution involves listening to all viewpoints and evaluating the options based on the needs of the project
This approach builds consensus and ensures the final decision is based on reasoning rather than simply majority rule
Unlock more, it's free!
Was this revision note helpful?