Make it matter for students by connecting computer science to other fields, such as medicine, the humanities, and media. By showing how computer science concepts and skills are used in other fields, you can engage students who may not have considered computer science as a major or career.

Some suggestions

Use interdisciplinary problems. Assign homeworks, labs, and projects that have students apply what they are learning to interesting problems in other fields. The EngageCSEdu collection has lots of examples!

Draw on the expertise of colleagues from other fields. Worried that you can’t make the interdisciplinary connections yourself? Ask around for colleagues who do computational work in their fields. Then have them come talk to your students or collaborate with them on some assignments.

Introduce students to cross-disciplinary computing fields. Highlight the contributions made by other disciplines to new interdisciplinary fields in computing. These are often referred to as 'x-informatics' (e.g., bioinformatics) and 'computational y' (e.g., computational linguistics).

Examples from the collection

Impressionism and Implicit Functions (Looping 2D Space)

This is the sixth lab in a course on computational art (CS1) using Processing ( In this lab, students write a program that creates an image using an implicit representation of geometry that is drawn using shapes to emulate paint strokes.

In this lab, students will:

  1. Practice using a loop control structure to create an image made of strokes based on implicit lines.
  2. Practice using implicit lines and implicit circles, and the distances from these equations, to create a scene or object.
  3. Create new stroke styles using patterns of points, lines, and ellipses that model the textures seen in many impressionist paintings.
  4. Practice translating mathematical functions into code. 
Engagement Excellence

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


Embedded Ethics: Pandemic Exposure Notification Systems and Giving Ethical Justifications

In this follow-up to "Embedded Ethics: Pandemic Contact Tracing and Ethical Trade-Offs" [6], students revisit a trade- off they faced in that first module. There, students brainstormed about the rich data one might collect to build a powerful app for contact tracing, discovered that this may facilitate violations of privacy, considered the harms that can come from this, and recognized the trade-off between protecting privacy and gathering data to support the fight against the spread of a disease such as COVID-19.

Thinking Critically: Classroom Activities to Examine Ethics in Computing

There are many reasons why it is important for students to think about the ethical implications of computer science and the technology that they use and create. At the beginning of the Covid pandemic all teachers faced the sudden transition to necessary remote learning. The fast pivot to online learning required changes to existing lessons, or even creating totally new ones. Shifting to lessons about ethics proved to be a valuable substitution for lesson plans (LP) that required access to resources no longer available to students from home. Presented here are a series of lessons that could be taught in any modality that were adapted for middle and high school learners during the spring of 2020 for their science and AP CS Principles courses. Although the activities and artifacts that are described for students were originally created for online synchronous sessions, they could easily be adapted for face-to-face, online or hybrid classrooms. The subjects of these lessons focused on the ethical impacts of computing by looking at past, present, and emerging technologies.

Identification: A Teaching Moment for Privacy and Databases

This learning experience helps students gain experience and proficiency with issues regarding the ethical collection and use of data. Students will gain an appreciation for the risks associated with record-level identification, where data attributes, however innocently collected, can and have been used to violate privacy and lead to discrimination against individuals and protected classes of individuals.

ACM Digital Library Entry

A CS1 Open Data Analysis Project with Embedded Ethics

This final project combines key CS1 programming concepts with ethical analysis. It helps students gain experience with lists, dictionaries, for/while loops, conditional statements, file handling, and functions in Python. Through a data analysis and visualization task, the students put to action their prior knowledge of the aforementioned programming concepts, embedded with an ethics-led discussion of open source data. Open source data (or “open data”) is data that is available and accessible to anyone, including for reuse of the data [8]. Students will learn how to think critically about the ethical dimensions of their selected open source data (and future open source data), and provide an analysis of the data within its contemporary cultural context.

ACM Digital Library Entry

Embedded Ethics: Pandemic Contact Tracing and Ethical Trade-offs

This course module, designed for use in a first-year programming course, gets students thinking about ethical issues that arise from the technology they will build. The module is on the topic of contract tracing, employed during pandemics and other disease outbreaks to limit the spread of
communicable diseases such as COVID-19. The module includes pre-class, in-class, and post-class components. As students learn how a graph can represent contacts and consider the data that a contact tracing system might record, they are guided through an active learning exercise to discover an issue: Private information can sometimes be inferred from a contact tracing system.
The ethical issue of balancing public health against individual privacy arises naturally from the technical discussion.

OER for Ethics and Computing Open Access Collection

Coverage of ethics and computing is proliferating at universities, at both undergraduate and graduate levels. This includes standalone courses, and incorporation of ethics into technical computer science and related courses. Most of these courses, particularly the standalone ones, make extensive use of recent media articles, papers, videos, and other resources about issues related to ethics and computing. Thousands of such media articles alone are published annually. There is enormous duplication of effort by people who are teaching these courses, as discovering these resources is not always an easy process.

Interaction Metrics Projects for Human-Computer Interaction

This Interaction Metrics OER consists of two group projects focused on teaching students how to create validated metrics for measuring human-computer interactions. If we want to measure how good a team is at teamwork, we might count communication utterances by members and see if they’re equally distributed. But is that measure predictive of team success? Probably not. If we want to measure how much a person likes an app, we might count number of uses per day or number of taps per usage session. While these metrics are countable, there’re not accurate predictors of fondness for an app. These two projects ask students to create objective, useful metrics for real-world human-technology interactions and to validate them with predictive models and collected data. I tell students these projects are about “developing metrics for things that are hard to measure” and ask them to consider whether the proliferation of inexpensive sensors, AI, and IoT might make fuzzy constructs like “team trust” or being a “good leader” more measurable.

Usability Testing Plan Template: A flexible tool for planning and teaching usability evaluation

Usability testing is a key research method in human-computer
interaction (HCI). When students are designing for others, usability
testing is an opportunity to learn how the design is currently
working and how it can be improved. This usability testing plan
template gives individual students or teams a structure to help plan,
conduct, and analyze data from a study. The template walks
students through the process of planning a study through a series of
questions and planning materials. The template is especially helpful
for students new to usability testing and can be adapted and
adjusted as needed.

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.

Subscribe to Make Interdisciplinary Connections to CS