Collaborative Problem Solving

In today’s class, we’ll take a break from the keyboards to discuss strategies for successful, productive collaborative problem as computer scientists. You have already been practicing these techniques, pair programming, in particular, during our labs. However, it is a good time to take a step back and reflect on the following questions:

  • Why is collaboration such an important skill in computer science?
  • What is the purpose of collaboration in our classroom and beyond?
  • How can we collaborate successfully with our peers?

Importantly, we’ll also discuss the differences and similarities between collaboration within a learning community like our classroom and a professional setting like the software industry.

For this class, please read the following articles on pair programming:

Check: Reflection (‡)

We will collectively discuss and build our experiences and difficulties with collaboration in this class and in past courses. In preparation, answer the following questions in a few sentences each:

  1. When working on assignments, do you prefer working alone or in a group? Why or why not?
  2. Recall the collaborative experience you’ve enjoyed the most in your educational career. What made that experience enjoyable? Why?
  3. Now recall the collaborative experience you’ve disliked the most. What made you dislike that experience? Why?