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 (https://processing.org/overview/). 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

Resources

Solving the Brewery Problem with Object-Oriented Design

This assignment helps students practice designing and implementing the code for small programs. It engages with historical discussions of object-oriented design paradigms within the ACM by requiring students to read the 1993 article “The Object-Oriented Brewery: A Comparison of Two Object-Oriented Development Models” [4]. In the article, the authors describe two design methodologies they applied toward building a program for managing a brewery’s systems, though any production facility can be used in student-facing scenarios. The authors then analyze the strength of the code written using each methodology based on a series of metrics. After reading the article and discussing it in class, students then recreate some or all of the described systems using at least one of the design methodologies outlined. Once complete, students then analyze their code using the metrics outlined in the article and reflect on opportunities to strengthen their program’s design in future iterations.

ACM Digital Library Entry

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.

Empowering Computing Students with Large Language Models by Developing an Escape Room Game

In this project, computing students learn to integrate large language models (LLMs) into a software system. Students develop a Java application with a basic graphical user interface (GUI) using JavaFX, gain practical experience with prompt engineering, and learn about the impact of LLM parameters and conversational roles. Students are provided with a Java-based API that connects with OpenAI’s GPT model. The project emphasizes teaching students to manage LLM API calls, enhance GUI responsiveness, and improve the user ex\perience all in the context of an AI-powered application. This experience equips them with critical skills in software development and AI application. It prepares them for advanced software development by learning how to create effective LLM prompts to create intelligent and user-friendly applications. We share the experience of using this project and provide guidelines for assessing it in a second-year software engineering undergraduate course, where students’ prior programming experience is limited to the prerequisite CS2 course on object-oriented programming.

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. In the remainder of the module, students learn how to imagine and discuss the perspectives of different stakeholders on this ethical trade-off. For example, an overwhelmed acute care doctor has different priorities than someone with precarious employment and a chronic illness, who is afraid their private information might be leaked.

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.

Subscribe to Make Interdisciplinary Connections to CS