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

Lab 6 - 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:

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.

Engagement Excellence

Problem Set 7: Simulating The Spread of Disease and Virus Population

In this assignment, students design and implement a stochastic simulation of patient and virus population dynamics. Using Python and pylab, students must reach conclusions about treatment regimens based on the simulation results by implementing classes that model the virus population and running an analysis on a 'no-drug treatment' simulation.

Engagement Excellence

Resources

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.

Engagement Excellence

Computational Creativity Exercise (CCE): Everyday Object

Students will be required to clearly describe the functions of an ordinary object they may use daily, as if they were the inventor of the object. This exercise will allow students to practice problem decomposition, abstraction, algorithmic thinking, and evaluation; as well as, modular programming and encapsulation. To encourage practice, this exercise fosters creativity; asking students to look at the objects in new ways, such as examining the object’s environment and considering its usage. Students work together to develop teamwork skills.

Voters Lab

This lab involves students coming up with a poll on a subject in which they are interested; administering the poll to students, faculty and staff on campus; and writing a program to calculate and manipulate poll results. The example provided uses a poll based upon the 2016 US presidential election, although any poll data will do. One goal of this lab is for students to learn how to use arrays of structures. Another is for students to create a program that uses most of the concepts covered in CS1 as a culminating project. Students may work individually or in pairs.

Mad Lib Haiku Lab

This resource is a lab assignment that creates a “Mad Lib™” haiku based on user input. It requires the use of strings and string manipulation functions. The lab can be assigned to individual students or to pairs. The outcome is for students to be able to manipulate strings. In order to make real world connections, students are also asked to list at least one program that uses the strings of data such as finding strings, replacing strings, etc.

Introductory EarSketch Assignment

In this tutorial, students will learn how to navigate the EarSketch environment, and begin to use Python commands through the exploration of a song. Students are then invited to create their own song(s). After this tutorial, students will be able to use EarSketch's full curriculum and acquire deeper knowledge about Python and music composition and remixing.

Engagement Excellence

Intro to CS: Arduino Pumpkin Project

This lab is done in a course that teaches the basics of computational problem solving by exposing students to the building blocks of programming: variables, looping, branching, functions, arrays, etc. The goals of this assignment are (1) to reinforce CS concepts from class and (2) to introduce students to basic hardware components. Using an Arduino clone kit and ultrasonic sensor, students work together to build a pumpkin that flashes LED(s) and makes noise. This project is done in fall semester and is timed to align with Halloween. 

CS1510 (CS1) Syllabus

This is the first introductory computer science course at the University of Northern Iowa. It is a semester-long course with three one-hour classroom lectures and a two-hour interactive lab per week. It is required for computer science majors but non-majors also take the course. No prior programming experience is expected, but the class is designed to be engaging to those with and without programming experience. While a major goal of the course is to provide a good start to the development of programming skills (using Python), the course is not solely about programming.

Conditional If Statements Assignment with the SpaceSmasher Game

The purpose of this assignment is to let students experiment with conditional “if” statements while building features of an actual game in Java.  The features explored in this assignment include collision detection, sprite manipulation, mouse and keyboard controls, as well as advanced game mechanics such as power-ups and multi-balls.  Students will practice branching and gain proficiency with Selection Control Structures (“if” and “switch” statements) while producing a customized version of their very own block-breaking real time simulation. 

Video Reflections

These reflective written exercises connect computer science class material to everyday life experience of the students, illustrate interdisciplinary applications of computing and technology, and highlight the new issues that computing technology brings. Each exercise consists of a video to view and discussion questions to answer in writing (e.g. "How would your day-to-day life change if you had access to an affordable 3D printer and raw materials?" or, "How do algorithms shape our world"?).

TEACHING PAPER: Computing and the Digital Humanities

This paper introduces three assignments—each with their own “starter kits” for students—for those with a love of the written (and digital) word. These assignments are part of a ‘Computing for Poets’ course that exposes students to leading markup languages (HTML, CSS, XML) and teaches computer programming as a vehicle to explore and “data mine” digitized texts. Recent advances in computer software, hypertext, and database methodologies have made it possible to ask novel questions about a poem, a story, a trilogy, or an entire corpus.

Subscribe to Make Interdisciplinary Connections to CS