1. Why Study Groups
Computer science is a very collaborative discipline, and no matter what you do after Swarthmore, knowing how to work effectively, productively and collaboratively as part of a group is an important skill.
As a result, part of your CS education includes group and partnered work to help foster your building these important skills. If you are coming to CS31 from CS21, partnered and group CS work is new to you, but most classes in our department require students to work in pairs or small groups on a variety of course work, such as lab assignments, home works, inclass problems, and other class activities outside of class.
In addition to the importance of learning to participate in group problem solving and study, it is also very beneficial to your learning to work and study in groups. Numerous research studies show that all students improve their performance and understanding from working, problem solving, and studying in groups^{1}.
2. About CS31 Group Work
In CS31, you will work on lab assignments with a partner, and you will you will be assigned to Homework and Study Group. You are required to:

Work with your assigned Homework and Study group on all homework assignments, submitting a single joint solution for grading.
Read through the requirements (Section 5) below about how your group should work together on the homework assignments, and about the specific group roles for each assignment, roles that every group members should rotate through across assignments.

Meet with your group at least once (and we encourage you to meet more than this) to review content and go over example problems as you prepare for exams.
Read through the requirements and tips (Section 6) for group study sessions.
3. Groups Assignments
Your HW and Study group assignment for the first half of the semester can be found here: CS31 HW and Study Groups.
To give you an opportunity to work with more students in this class, we will likely reassign groups partway through the semester. We will also give you opportunites to assess how well your work is functioning, and to give us feedback on how we can help your group work more effectively together. You should also reach out to the class instructors anytime if you’d like some help with this.
4. Tips for effective group work
When working in groups, it isimportant to keep in mind that all of you are learning this material. Not understanding course material on first exposure, or not being able to completely solve a problem is the expected norm as you learn and practice course material. In addition, the speed at which you solve a problem is not important. Instead, your understanding a solution to a problem and developing problemsolving skill to understanding how to apply what you are learning to solve problems is important.
To be effective, it is important that all group members feel comfortable asking questions, answering questions, and sharing ideas in your group meeting. It is every group member’s responsibility to ensure that you are working cooperative, effectively, and respectfully to help each other learn. In particular, be sure that you:

Contribute ideas to your group’s solution, and explain your approach to how to solve the problem other group members.

Listen to other’s explanations and ask questions to help with everyone’s understanding.

Be open to the possibility that another group member’s solution may be better than yours.

Respectfully point out errors in approaches in your group’s solution, and suggest another way of approaching the problem.

Say that you don’t understand, and ask to go over your group’s solution for clarification..

Notice if a group member is not participating, and ask them to share their thoughts or ideas about a solution or approach.

Check that your group members all understand your group’s solution to a problem, and make sure to talk it through again to help clarify and ensure understanding and confidence in your group’s answer.
As you work on HW assignments together keep in mind that:

At some point, you may have solved a problem that one of your group members struggled with. This is an opportunity to explain how you approached the problem and your solution (this is good for both your learning and understanding as well as that of your group members). It is important to explain and step through how you solved the problem, and how you applied course material to solve it.

At other times, one of your group members may have solved a problem that you had difficulty with. Hearing how they solved it will help with your understanding and learning how to solve similar problems. It is important that you say when you don’t understand, and to ask questions about parts you are unsure of.

At other times, you and your group mates may have different solutions to a problem, and talking through (and actively listening to other’s), will help your group determine how to apply course material to the problem to come up with your group’s solution.

Finally, there may be some situations where no one in your group was able to fully solve a problem. In which case, talking through it and working through it together will help you to find a solution. Rember that you have many resources at your disposal (your written lecture notes, class slides, videos, textbook, and resource webpages). If you are unable to solve it together, talking it through together will give you some focused questions to ask an instructor in office hours or on piazza.
5. Study Groups for Homeworks
You should follow the steps below for:

how to work on HW assignments (Section 5.2)

how to run your group meetings and individual roles you will take during the meeting (Section 5.3).
5.1. Using Gradescope for joint HW solution
You will submit just one joint solution by all members in your Homework and Study Group to gradescope for CS31 Homeworks (individual homework assignments will include a link directly to the specific homework assignment in gradescope). For each gradescope assignment, one of you will must add all group members to your joint assignment in gradescope, and list who served in each group role on the assignment. This is one of the homework group roles described below.
For handwritten answers, make sure your writing is legible. For all image files you upload, check that the uploaded file is readable and includes your full answer. If not, take another picture and try again.
On exams, you will also do file uploads of some answers in gradescope. The most expedient way to do this is by handwriting and image upload, so we recommend you practice that with this on some of the homework file uploads prior to the first exam.
How to use Gradescope is a short demo video stepping you through how to use gradescope, including how to add your homework group members to a single joint submission.
5.2. How to Work on HW assignments

First, try to solve all the homework problems on your own. Don’t split individual problems up among your group members and only solve some of them. It is important preparation for exams that you have tried solving every problem on every homework assignments. It is also important for your group meeting that you come prepared with your having tried all problems, and your having your own full or partial answers to each question.

Next, before the assignment is due and after you each have tried to solve all problems on your own, meet with your group and talk through solutions to each problem together. As a group, you should come up with your groups’s answer to each question. Make sure that everyone in your group understands and contributes ideas as you go. Together, writeup your group’s solution to each question, that you will submit. Writing on paper is fine. You can use zoom screen sharing to share writeup as you go. Google docs is another way to jointly share as you work on this together.

Finally, submit your group’s single solution in gradescope. Although one group role is Writeup Leader, each of you can share responsibility for submitting your group’s answers to individual questions. Often we will have multiple file upload parts. We recommend you split up the final writeup and submission of these. All of you will also want practice uploading files in gradescope before the exam, as you will need to do this on your own with answers to some exam questions.
5.3. HW Group Roles
Below are the three designated roles that individual group members should take on each homework assignment. All group members should rotate through these roles across assignments, and all of you should participate in the discussion and joint problem solving regardless of if you have a designated role or not. With each individaul homework submission you will indicate which group member served in each role on the assignment.

Group Leader: Remind all group members (via email or text or whatever means your group chooses) of your weekly meeting time to work on your joint solution, and that you should all try all problems on your own before the meeting. Lead the meeting, ensuring that every group member has a chance to participate, and that all understand and agree upon your group’s solution to each problem

Group Timer and gradescope setup: During your group meeting, keep your group making good progress on your solution. If the group is getting bogged down on a problem, it is your job to say that it is time to move on to the next one and come back to this one later. If the group cannot come to a consensus on an answer, then suggest that you attend office hours or post to piazza to get some guidance from an instructor.
Additionally, before your group meeting, it is your responsibility to set up gradescope for your group’s submission: add all your group members to your joint submission, and fill in the roles at the top of the assignment.

Writeup leader: take notes on your group’s hw solutions during the meeting (we recommend you use a shared document to writeup notes as you go), and delegate which group member is responsible for different parts of the final writeup. It may be that you do the full writeup, but we suggest that you share the solution writeup responsibility if there are multiple parts to writeup in cases when it is easy to split them up among your group members.
If there are multiple file uploads of different problems in gradescope, we strongly suggest splitting these up among group members). Your job as writeup leader in this case, is to check that this has been completed by all grpup members before the due date. As your group meets, you may want to answer any multiple choice and short answer questions right in gradescope as you go.
All participants should participate in the discussion of each problem regardless of if they have an official role that week or not.
6. Study Groups for Exams
You are required to meet with your study group at least one time for group study session before each exam. And we recommend that you meet more than once for a group study session.
Like group homeworks, you should do some initial review and study on your own to identify parts of course material that you would most like to review in your group. Together, pick some topics or example problems from class, homeworks, or book examples and exercises that you would most like to review.
Since you have worked together on homework assignments, you can review any answers you missed and the solutions together, you can also use this time to work through and explain course content and inclass examples to each other.
We will add some more tips for studying for exams here soon.
7. Footnotes
1. Here is one example of results from a study on group work. It is about group model for large university STEM classes. The particular model is different from ours, but the message about group study and problem solving is applicable to our model too. The graph on the right of page 4 shows improvements in exam scores grouped by the bottom, the middle and the top third of exam scores in the class. These results show that all students who participated in group study and work (red bars), improved their performance.