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.

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.

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.

Engagement Excellence

Resources

Boolean Logic - Java

This classroom activity uses Process Oriented Guided Inquiry Learning (POGIL) to introduce students to Java. Students work in small teams to answer a series of questions about relational and conditional operators. The instructor facilitates interaction among teams, offers guidance and encouragement, and summarizes key concepts.

Introduction to Java

This classroom activity uses Process Oriented Guided Inquiry Learning (POGIL) to introduce students to Java. Students work in small teams to answer a series of questions about variables and assignment. The instructor facilitates interaction among teams, offers guidance and encouragement, and summarizes key concepts.

Learning Objectives:
* Identify components of the "hello world" program.
* Write Java code to declare int and double variables.
* Explain what it means to assign a value to a variable.
* Leverage the prior knowledge and experience of others.

Conditions and Logic - Python

This classroom activity uses Process Oriented Guided Inquiry Learning (POGIL) to introduce students to Python. Students work in small teams to answer a series of questions. They run examples in a Python Shell and discuss the results. The instructor facilitates interaction among teams, offers guidance and encouragement, and summarizes key concepts.

Introduction to Python

This classroom activity uses Process Oriented Guided Inquiry Learning (POGIL) to introduce students to Python. Students work in small teams to answer a series of questions. They run examples in a Python Shell and discuss the results. The instructor facilitates interaction among teams, offers guidance and encouragement, and summarizes key concepts.

TEACHING PAPER: Implementing UNL’s Computational Creativity Exercises

In this teaching paper, the creators of the Computational Creativity unplugged activities explain the rationale for their approach to combining instruction in computational thinking and in creativity, and provide guidance on implementing their activities in your courses.

CS2 Syllabus

The CS2 course introduces object-oriented programming, data structures, and more sophisticated algorithms than in CS 171 (Computer Science I) which is a prerequisite for this course. You are not expected to have any prior experience with Java. In terms of the ACM’s Computer Science Curriculum 2013, this course addresses the following knowledge areas: • Algorithms and Complexity (AL) • Discrete Structures (DS) • Programming Languages (PL) • Software Development Fundamentals (SDF) • Software Engineering (SE)

Computational Creativity Exercise (CCE): Marble Maze I

In this assignment students work as a team to build, using only specified materials, a structure through which a marble will travel,  Students first work independently developing their own segment of the structure and then work collaboratively to construct a final structure. Students are required to video tape the execution of a marble traveling through the structure lasting at least n seconds. This exercise will allow students to practice problem decomposition, abstraction, generalization, and evaluation, and also debugging and testing.

POGIL: Internet III - Addresses

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn about how addresses on the internet works by comparing the IP addresses on the internet to SSNs for people and domain names to postal addresses and more. This is part three of a three-part series on POGIL Internet. Click to review the preceding lessons (Internet I, Internet II)

Engagement Excellence

POGIL: Internet II - Data

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn about how data moves on the internet by comparing it to vehicles on a highway system. The also explore the concept of Net Neutrality. This is part two of a three-part series of POGIL exercises on the Internet.

POGIL: Search II - Web Search

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn how search engines work and interface with the internet, and how to use search engines more effectively. 

Subscribe to Use Collaborative Learning