“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

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.

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.

Getting used to Java syntax (or, "Concise Guide to Java-ish for Tourists in Javaland")

In this tutorial, students work individually to explore the basic concepts of statements, sequence, and methods. Using pseudocode and various scenarios (such as making a milkshake, getting money from a cash machine, and doing laundry), students must examine the basic principles for creating a sequence of actions and then generate their own example. This activity is excellent for introducing the concept of sequences and statements to a student with no background in computer programming.

Subscribe to Address Misconceptions About the Field of CS