1.1 - Collaboration

daniel

Introduction

Welcome to the FIRST FiveHive article on topic 1.1 for AP CSP! 

In this article we will go over the learning objectives for 1.1, as covered in the AP CSP CED

  • CRD-1.A - Explain how collaboration affects the development of a solution.
  • CRD-1.B - Explain how computing innovations are developed by groups of people.
  • CRD-1.C - Demonstrate effective interpersonal skills during collaboration.

This is the first topic of the first unit AP CSP and is sort of your first exposure, your introduction to the course. We will basically be going over computing innovations and collaboration. So without wasting any more of your time, let's start. 

Computing Innovations.

According to the CED,  “A computing innovation includes a program as an integral part of its function.” Put simply, a computing innovation is an innovation that couldn’t be possible without the use of a program. 

Think self-driving cars, your printer, phone, laptop, etc. These all have a program at the very center of them, and aren’t possible without the use of one.

But computing innovations don't have to be physical, they can also be digital!

Think word processors, editing tools, web browsers, and video games. 

These are all examples of innovations that were programmed, therefore they are computing innovations. Simple and sweet! On to the next.

Collaboration

Collaboration is actually really big in the programming world. When you have these massive programming studios, you usually have teams of hundreds of people working on many different parts of a game. You may have a graphic design team, programming team, profit team, etc. etc. (names are made up for explanation, I don’t know what they’re actually called) 

Truth is, collaboration is sometimes necessary. Especially on bigger projects.

Furthermore, the bigger a team, the more diverse it usually is. Which is a good thing. With a diverse set of people, you can avoid bias, gain new perspectives, and get stuff done faster.

Also, when you gather information from your potential users, you end up with a product more people enjoy. (Think beta testers and A/B testing) This can even be done after the first version is released; you rarely see a game come out perfect the first time, the game is improved over time with feedback from the users. 

But to foster good collaboration, your team should practice interpersonal skills like communication, consensus building, conflict resolution, and negotiation. 

In other words, your team must be able to communicate openly, be able to come to agreements effectively, resolve disagreements efficiently, and come to conclusions without much issue. 

Collaboration Tools

But to collaborate effectively, you must have a means of communication/a way to share programs efficiently.

Here enters collaboration tools. There are many tools—like Google Docs, Github, Slack, etc.—that exist to foster collaboration. Furthermore, methods like pair programming exist to facilitate good collaboration.

Altogether, these tools work in the programming world to make sure software is released on time, and with minimal bugs. 

Practice Questions