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

Introduction to conditionals using Surrealism (Art of Surprise)

This is the third lab for computational art (CS1) using Processing where students write a program that creates an interactive sketch including a surrealist juxtaposition (i.e. the juxtaposition of two things that create a sense of surprise based on their presence in the same frame). The goals for this lab are:

  1. Practice writing an interactive Processing program
  2. Practice using conditionals in your program
  3. Practice testing where the mouse is clicked within an area of your scene
  4. Practice using variables to control appearance
  5. Make an interactive program that visually changes when a mouse is clicked in a certain area
  6. Learn about surrealism
Engagement Excellence

Blexbolex Style Exploring Scaling via Variables

This is the second lab for computational art (CS1) using Processing where students write a program that creates a scene that explores composition to convey story or mood.  The goals for this lab are:

  1. Use a variable to control scale and position of a sketch component
  2. Alter and explore the role of scale in a sketch’s composition
  3. Practice using transforms (translate and scale) in a sketch to control scale of a portion of your design
  4. Apply your knowledge of the 2D coordinate system in order to appropriately scale and translate a portion of your design
  5. Study the composition and coloring used by the artist, Blexbolex
  6. Copying composition and color to practice design 

Expressionist Animal Creation

First lab for computational art (CS1) using Processing where students write a program that creates a presentation of a creature in an expressionist style. The goals for this lab are:

  1. Understand the Processing 2D coordinate systems
  2. Practice creating shapes in Processing
  3. Understand draw order and command ordering
  4. Practicing using Processing
  5. Learn about expressionism
  6. Make a picture of a creature in an expressionist style 
Engagement Excellence

Lights,Camera, Action!

Databases are implemented everywhere from web servers to automobiles, video games, smartphones, etc. The goal of this project is to implement a simple Python database and query system. The tasks for the program are to display movies, display longest movie, display shortest movie, display movies earlier than specified year, display movies later than specified year, display movies with specified rating, add movie, delete movie, and save database.

Justified!

Formatting of language and print on page is important in writing and publishing. In this project, students are asked to write an XML (eXtensible Markup Language) processor in order to format text, such as right-justified and left-justified paragraphs.

I like that Old Time Rock and Roll

Playing a role as an editor in the music industry, students in this project are asked to compile a list of the 10 best bands of all time. Students will need to write a program in Python which merges two files, one which holds a list of bands, the year the band was formed, and the number of albums sold (in millions), and the other data file has a list of bands and a rating of their critical acclaim, from zero to five stars. The output should be the band name, followed by the number of albums sold, followed by the critics' rating.

A rose by any other name

In this project, students are asked to read the entire corpus of Shakespeare's Plays and Sonnets and print out the individual words, each word processed slightly, in sorted order. Students accomplish this task with two programs, one a python program that students write and the other a one-line shell script, that calls the python program and pipes its output to the sort utility.

Listen to the Music!

In this project, students use Python to develop a filter to remove the initial white noise in an audio file. The CS concepts of tokens, strings, and circular buffers are explored.

ASCIIArt!

In this project, students are tasked with straightening out somebody else's mess, namely, a bunch of image data have become scrambled across two files. Students are asked to merge the two files and reconstruct the image.

Earthquake!

In this project, students are given a task of providing a scientific report to the US Geological Survey about earthquake data. To generate the report, students need to write a Python program which will store earthquake data such as date, time, latitude, longitude, magnitude, depth, and region over a 7 day period of time.

Subscribe to Make Interdisciplinary Connections to CS