“Make it matter” by addressing misconceptions students have about the field that may prevent them from taking computing courses or pursuing a career in computer science. Many students have overly narrow ideas of what computing is about, what the work is like, and the kinds of people who typically do it. Address these misconceptions by illustrating the diversity and breadth of work a computer scientist can do--and who can do it--and emphasizing that success comes from practice. Discuss the advantages and rewards of computing careers.

Some suggestions

Show how computer scientists make a difference. Many students want careers where they can "make a difference." Help your students see that the problems computer scientists tackle can have important social, economic, and cultural impacts.

Show the diversity of work that computer scientists do. Talk to students about the range of jobs they can find in computing, including the diversity they will find in the type of environment, job tasks, required skills, and the level of collaboration needed.

Show the diversity of who computer scientists are. Expand students' ideas about who does computer science by using examples that include diverse people doing computing, and bring in speakers or use videos that show diverse people in computing.

Examples from the collection

Searching in Hi-Lo - CS1 First Day on Algorithm Design & Analysis

This is a team-based classroom activity using Process-Oriented Guided Inquiry Learning. I use this the first day of CS1, and sometimes the first week of CS2 (depending on students). Teams of 3-4 students work together to identify and evaluate several strategies (algorithms) to solve a Hi-Lo number guessing game. In doing so, they learn about tradeoffs between difficulty and efficiency, and are introduced to complexity analysis, although the activity does not use O() notation.

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

Public Data in the Public Interest: A Spreadsheet-Based Project for High School Computing

Data for Healthy Communities (DHC) is a 15-hour high school project that uses spreadsheets and public data to provide an accessible introduction to data science in the broader context of decision making for complex societal problems. Students work with real-world government data in the context of public health and will learn how to use data as evidence to support an argument for investment in their local communities. The no-code interface of spreadsheet software allows students to explore basic computing concepts such as variables and functions while engaging with authentic public health challenges like air quality, health inequity, and environmental burden. The intention is to lower the barrier for students’ first introduction to computing and to present options for embedding data science education in a wider variety of curricular areas.

Technology and Digital Well-Being

In this lab, students reflect on technology’s impact on well-being. Students learn about the possible negative effects of smartphones on well-being. Students also learn about how apps and websites use “dark patterns” to persuade users to act in the developer’s best interest, instead of the user’s best interest. Students practice identifying dark patterns in popular smartphone apps. For homework, students collect and analyze data on their smartphone usage.

ACM Digital Library Entry

Teaching software testing with role-play games

Role-play activities have been used for many years to help students engage with abstract content and build understanding in a fun and collaborative way. They are particularly popular in teaching object-oriented programming and concurrency, as it is relatively straightforward for students to take on the role of objects within a software system.

Software testing is typically seen as a dry and uninteresting discipline. There are several reasons for this: it involves many abstract concepts, the process of designing and writing software tests can be quite repetitive, and students struggle to see the value of thorough testing without real-world experience. These challenges create an environment where teaching software testing is particularly challenging compared to other areas of computing. To address this, we designed role-play games with the goal of improving student learning and engagement in a software testing class.

Incluso!: Introducing Universal Design Through Play

Incluso! is a card game designed for groups of 3–5 players that introduces and explores the concept of universal design in digital products through collaborative play. Its goal is not only to educate but also to cultivate empathy, something that is often underdeveloped in students who are encountering accessible design principles for the first time. The game encourages players to consider real-world barriers that individuals with disabilities face, all within an engaging, conversation-driven format.

ACM Digital Library Entry

Web Accessibility Evaluations

This lab helps students gain experience and proficiency with alternative modalities for browsing the web (i.e., navigation using the keyboard and using screen readers). Students will learn how to perform a website accessibility evaluation using a keyboard and screen reader. Students will also gain an appreciation for the prevalence of web accessibility issues, and will reflect on what can be done to improve web accessibility.

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

Algorithm Investigator

This lab helps students gain experience and proficiency with algorithm analysis and the concept of time complexity. Students will not write code, but rather will identify mystery code based on run times for different input sizes. 

This assignment provides students with four short code segments and a program with a graphical interface. The provided program allows students to enter an input size and run one of four ‘mystery’ algorithms.  Elapsed time is displayed after each run. Students must match code segments with 'mystery' algorithms.  This requires that students plot run times for different input sizes for each 'mystery' algorithm, identify the asymptotic run time (big-O) of each code segment, then perform the matching. 

Before attempting this assignment, students need a basic understanding of algorithm analysis, equivalent to one or two lectures on the topic and the ability to read and understand code written by someone else, including loops and arrays.

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.

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.

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.

Subscribe to Address Misconceptions About the Field of CS