To help build inclusive student community, faculty can provide opportunities for students to interact with each other both in and outside of class. This is different from collaborative learning in that the primary goal is helping students make social connections rather than directly impacting learning. This can encourage the growth of peer-support networks and a student-centered learning community. Students who have a community related to their academic pursuits are more likely to persist.

Some suggestions

Break the ice. Use icebreakers to help students get to know each other. But be careful in the choice of activities. The goal is for students to see what they have in common. But some questions--e.g., those that draw out gender, race/ethnic, or class differences--can produce division rather than community.

Facilitate out-of-class connections. Help students connect with their peers outside of class by creating opportunities for them to discuss and meet. For example, facilitate the creation of study groups or special interest groups, and host fun, inclusive social events.

Teach professional behavior. Many students need explicit training on what it means act professionally. Build professionalism into your student culture by teaching students to treat each other with respect, how to disagree productively, and to value diversity.

Examples from the collection

Ice Breaker - Paper Airplanes

This is an ice-breaker activity you can use early in a course to help students get to know each other in a low risk, fun way.

How to Do It: Students are given templates and instructions on how to build a simple paper airplane. Before making their plane, each student writes on their paper three things about themselves that they are willing to share. It's fun to encourage them to share creative or unexpected things.

They then send their plane off into the classroom, picking up others' planes and flying them. Don't be afraid to let pandemonium reign for a while! Then, have each student pick up a plane that is not their own. The goal, then, is for everyone to find the creator of the plane by introducing themselves to successive individuals, asking only questions pertaining to what's written on the plane. Once everyone has found their plane's creator, have students form a circle. The first person introduces the creator of their plane (their name and the 3 things). Then, that person introduces the creator of their plane, and so on until everyone has been introduced. 

Day One Ice Breakers

This a set of "icebreaker" activities are used on the first day of an introductory programming class to help create a welcoming learning environment for students and to lay the groundwork for discussions about how to be successful in Introductory Computing. I have included student-facing slides, a sign-in handout, and a short paper with tips for implementing these activities.

Resources

AI: Connect Four Agent

This assignment allows students to gain experience with AI game-playing algorithms, implementing minimax and alpha-beta pruningand designing a utility function for measuring game states. The assignment uses Connect Four, a relatively simple fully-observable and deterministic game that students are likely to have seen before. Students are responsible only for developing an agent to play the game; the game itself is already implemented and given as part of the student-facing materials. The assignment breaks down the requirements for the two algorithms into smaller chunks in order to make the whole assignment more approachable. We also provide code for Tic-Tac-Toe so that students can apply their code for minimax and alpha-beta pruning to a simpler game where sub-optimal moves will be more obvious, indicating potential bugs in their implementation. The assignment allows for a tournament to be played among all student submissions, potentially awarding extra credit to the winner of the class tournament.

ACM Digital Library Entry

Two POGIL Activities on Search Concepts and Strategies

These two team-based classroom activities are designed to help students understand key concepts used in artificial intelligence (AI) to search for possible solutions to problems. These activities are designed for use in Process Oriented Guided Inquiry Learning (POGIL), where student teams work during class time with active facilitation by an instructor or TA.

After completing these activities, students should be able to:

  • Define and give examples of key terms, including: action, state, initial state, goal state, goal test, transition function, path, path cost function, state space
  • Define and identify goal state problems and goal path problems.
  • Describe the general structure of search problems, and specific strategies, including: breadth-first, depth-first, depth-limited, random-first, bi-directional, best-first
  • Describe uninformed and informed search.
  • Describe the value of path cost and heuristic functions

ACM Digital Library Entry

Using Citizen Science as a Theme for a User-Centered Design Course

Teaching students how to design and evaluate technology user experiences should be centered around understanding real-world user needs. In this project, students focus on a particular domain, Citizen Science, to motivate their learning of user research, prototyping, and usability testing. Citizen Science projects study phenomena in nature and the environment, such as monitoring the spread of invasive plant species or water quality. Citizen Science projects depend on volunteers to collect and submit data from local environments. Citizen Science is a compelling context for user-centered design because it involves multiple stakeholder groups, various front-end technologies (e.g., web and mobile), and information architecture. This project is scoped for a user-centered design and usability testing course for undergraduate computer science students. The course learning objectives are to (1) use research and design methods to develop an understanding of technology stakeholders and (2) apply that knowledge to create and refine design artifacts.

Using Affect-Aware Computing as a Theme for a User-Centered Design Course

This user-centered design project invites students to conduct hands-on human-computer interaction research and design by exploring affect-aware technology. These technologies seek to account for users’ emotions, moods, and other affective phenomena in the user experience. Examples include emojis used while texting, social robots that model emotional responses, and emotionally-aware chatbots. This project is for a user-centered design and usability testing course offered to undergraduate computer science students. The course learning objectives are to use research and design methods to (1) build an empirical understanding of technology stakeholders and (2) apply that knowledge to design and evaluate an interactive prototype. By immersing themselves in the complex domain of affect-aware computing, students learn to apply user-centered design to emerging technologies. Students create and refine common user-centered design artifacts, including personas, interaction designs, and prototypes. The reader of this paper will obtain recommendations for structuring the user-centered design projectand a high-level understanding of affect-aware computing.

Micro:Vote: An Introduction to Python using the BBC micro:bit

The Micro:Vote project is designed as an introduction to text- based programming through a 12-week project aimed at 11 to 13 year olds. The project is designed as a School-University partnership whose aim is to highlight the role of creativity and social impact in computing through the design of digital voting posters using the BBC micro:bit and MicroPython.

Adopting a Design Studio approach, the project scaffolds students in the creation of a physical computing voting system and informative poster, to gather responses on an issue of social importance within the community. Through the lens of Human- Computer Interaction, students investigate the role of computing in activism and learn to implement data and control structures.

ACM Digial Library Entry

Day 1 CS 1 (or 0) Activity: The Reuniting Families Exercise

The Reuniting Families "unplugged" assignment is designed as a first day CS 1/CS 0 activity to both highlight the social relevance of computing and model what it really means to "do" computer science.

For this activity, the class is asked to consider a disaster, such as an earthquake, devastating a smallish city. Regardless of the specifics of the disaster, the local uncovered soccer stadium is left intact and aid workers have directed all survivors to congregate at this single undamaged stadium. Assume that the stadium is sufficient to hold all the survivors. After all the survivors of a nuclear family have been identified, that family can leave the stadium to their waiting Red Cross tent. Students, working in groups of three or four, devise a protocol, i.e. an algorithm, for the aid workers to use to reunite the survivors of each nuclear family unit.

Fitness Tracking Lab

In this lab, students track their own fitness activities for a week. They submit this data which becomes some of the test data for the lab. Based on the students' activities, the program computes the number of equivalent miles each student has walked and the total number of miles walked by everyone together. Output is sorted from most miles walked to least miles walked. 

This is a lab for late in the semester of a CS 1 course. It requires students to use text files and an array of structures.

Learning objectives:

  • Compiling, linking, executing a program
  • Developing an algorithm
  • Testing a program
  • Using the C++ syntax and programming constructs of standard I/O, variables and arithmetic expressions, selection statements, structures, arrays

Prerequisite knowledge: Students must have already been exposed to standard I/O, variables, arithmetic statements, selection statements, loops, functions, arrays, structures, and text files.

The lab could be easily modified to use a class instead of a structure and an array of objects.

A Tournament for Pong AI Engines

In this 2018 Nifty assignment, students write an AI engine for the game of Pong. Pong is a game enjoyed by people in general, by the CS1 community in particular, and by pigeons. In this open-ended assignment, students write an AI engine for Pong from scratch. Students can have their AI engines play against each other, and participate in a class-wide tournament. To design good AI engines, students have to read, understand, and modify the game engine code. The assignment is accessible to any CS1 student, but leaves room for a lot of exploration and creativity — we have had success engaging both excellent students who had little difficulty in CS1 and students who found CS1 challenging. 

NOTE: This is not a traditional CS1 assignment so it might make more sense used as a lab assignment or a bonus assignment.

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.

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

Ice Breaker - Paper Airplanes

This is an ice-breaker activity you can use early in a course to help students get to know each other in a low risk, fun way.

How to Do It: Students are given templates and instructions on how to build a simple paper airplane. Before making their plane, each student writes on their paper three things about themselves that they are willing to share. It's fun to encourage them to share creative or unexpected things.

They then send their plane off into the classroom, picking up others' planes and flying them. Don't be afraid to let pandemonium reign for a while! Then, have each student pick up a plane that is not their own. The goal, then, is for everyone to find the creator of the plane by introducing themselves to successive individuals, asking only questions pertaining to what's written on the plane. Once everyone has found their plane's creator, have students form a circle. The first person introduces the creator of their plane (their name and the 3 things). Then, that person introduces the creator of their plane, and so on until everyone has been introduced. 

Subscribe to Encourage Student Interaction