With collaborative learning, students work together on a formal learning activity. This is distinct from projects where students “divide and conquer” a task. In contrast, with collaborative learning students are engaged in intellectual talk with each other. Collaborative learning builds critical thinking and problem solving, and if it is well-structured, it can help grow a more inclusive student community by helping students develop communication and teamwork skills, and an appreciation of diversity. Some examples of collaborative learning include Pair Programming, Peer Instruction, and Process Oriented Guided Inquiry Learning (POGIL).

Some suggestions

Integrate Pair Programming. When students are first learning this technique, make sure to enforce the formal rules of pair programming to ensure that each student gets experience in both roles and to decrease the likelihood that one student dominates.

Try Peer Instruction. This is an active approach to teaching and learning that centers around conceptual questions (“ConcepTests”) posed by the instructor and responded to by students. Students first try to answer the question individually. They then discuss the question in small groups and attempt to reach consensus on the answer. Peer instruction encourages students to think critically and analytically by focusing their attention on the underlying concepts rather than the correct answer.

Use Process Oriented Guided Inquiry Learning. POGIL is an active approach to learning designed to guide students to construct their own understanding of key concepts using "explore-invent-apply" learning cycles. Working in small teams, students explore a model, invent or create their own understanding of a key concept, and then apply the concept.

Group students by level of experience with computing. Collaborative learning works best when students are grouped with others who have similar levels of experience. Students with little experience in computing can get discouraged and feel as if they don't belong--even if they are performing well--when they are in a group with others who have a lot of experience.

Don't further isolate women or minorities. When possible, don’t put women--or other students who are underrepresented in computing--one to a group.

Examples from the collection

Computational Creativity Exercise (CCE): Storytelling

In this assignment students work as a team to develop chapters of a story where the first and last sentence of the chapter is prescribed. Students first work independently developing their own chapter and then work collaboratively to identify and resolve logical inconsistencies in the chapters in order to produce a final coherent story.  This exercise will allow students to practice problem decomposition, abstraction, and evaluation, and also debugging and testing.

This exercise was developed as part of the NSF-funded Computational Creativity project at the University of Nebraska-Lincoln.

Engagement Excellence

POGIL: Search I - Text Search

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together--and offline--to explore how text searches work using the classic poem, The Blind Men and the Elephant, as the search target. Groups work through different search approaches to better understand how computers search through text.

This is part one of a two part series on POGIL Search. Part II can be found here. The attached file is the student version of the activity. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Engagement Excellence

Towers of Hanoi

In this lab, students using process oriented guided inquiry learning (POGIL) dissect a program that solves the Towers of Hanoi puzzle. Three increasingly sophisticated implementations are provided: one that hard-codes the solution, one where methods call other methods to solve simpler problem instances, and one using recursion. Learning objectives include understanding recursion and critical thinking. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Resources

Embedding Messages in Images

In this laboratory, students are asked to embed a message within an image in order to send an email to a friend through an unsecured site. Students will design an algorithm for encryption/ decryption and compute Big-O for each.

Backtracking and Caves

In this lab, students apply the CS concepts of stacks and backtracking by writing a program to explore all accessible locations within a cave and find as much treasure as possible. Choosing an appropriate algorithm and set of data structures will prove crucial to how difficult the lab will be.

CS1510 (CS1) Syllabus

This is the first introductory computer science course at the University of Northern Iowa. It is a semester-long course with three one-hour classroom lectures and a two-hour interactive lab per week. It is required for computer science majors but non-majors also take the course. No prior programming experience is expected, but the class is designed to be engaging to those with and without programming experience. While a major goal of the course is to provide a good start to the development of programming skills (using Python), the course is not solely about programming.  

Upon successful completion of the course students should have gained the following skills and proficiencies: general computer and operating system usage, computer operation, a mental model of how programs are executed, machine capabilities and functions, general program design, standard approaches to common (simple) programming tasks, abstraction (data , procedural, thinking), data and problem representation, and elementary data structures.

Video CV

In this lab (typically the first, or an induction session for a CS1 course), students work either individually or in pairs to create a one-minute video CV using equipment and software of their choosing. To start, students are simply told that a Computing major can lead to a number of career options, and they are encouraged to think and discuss "cool" or desired jobs. Students are then asked to create a video where they introduce themselves, talk about their experience and think about how their course will lead them to their desired job in the field. It is important to note that the videos are not made publically available, and are kept for staff use only.

Beetle

In this lab, students dissect a working implementation of the Beetle (Cootie) game using process oriented guided inquiry learning (POGIL). Learning objectives include understanding class anatomy, using objects, and problem solving. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Towers of Hanoi

In this lab, students using process oriented guided inquiry learning (POGIL) dissect a program that solves the Towers of Hanoi puzzle. Three increasingly sophisticated implementations are provided: one that hard-codes the solution, one where methods call other methods to solve simpler problem instances, and one using recursion. Learning objectives include understanding recursion and critical thinking. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Anagrams

In this lab, students dissect a working implementation of an Anagrams game using process oriented guided inquiry learning (POGIL). Learning objectives include tracing through a sequence of method calls, JUnit testing, and information processing. This lab allows students to read an existing program rather than creating one from scratch.

Tic-Tac-Toe

In this lab, students dissect a working implementation of the Tic-Tac-Toe game using process oriented guided inquiry learning (POGIL). Learning objectives include functional decomposition, using multidimensional arrays, and team management. This lab allows students to read an existing program rather than creating one from scratch.

Shut the Box

In this lab, students dissect a working implementation of the Shut the Box dice game using process oriented guided inquiry learning (POGIL). Learning objectives include declaring and creating arrays and accessing their elements, using and explaining the parts of for loops, and working effectively as a team. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Conditional If Statements Lab with the SpaceSmasher Game

The purpose of this lab is to let students experiment with conditional “if” statements while building features of an actual game in Java.  The features explored in this lab include determining game over conditions, controlling sprites with a mouse, event handling to control paddle movement via keystroke, and spawning singular balls via keyboard as well as advanced game mechanics such as fire and ice ball power-ups.  Students will practice branching and gain proficiency with Selection Control Structures (“if” and “switch” statements) while producing a customized version of their very own block-breaking realtime simulation. 

Subscribe to Use Collaborative Learning