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

I'm a Lumberjack and I'm Ok

Using the scenario of “Logsoft” a fictitious company that specializes in designing and maintaining logging software, students are asked to examine and manipulate a program that captures user activity for the company. Students are challenged with writing a utility that can merge two files correctly, one for capturing specific user information, and one file that runs even if it encounters a bad section of a disk.

You're An Ace!

Using statistics from the US Open Tennis Tournament, students create a program in Python that asks a user enter eight distinct numbers related to an individual tennis player. The program then uses those numbers to compute and report three statistics in order: number of serves attempted, double fault percentage, and ace percentage.

What a Penny Pincher!

In this project, students are asked to examine the cost of modifications done to a car and the impact on its fuel efficiency. Using python, students use certain functions such as number of miles driven per year, current mpg, cost (in dollars) of a gallon of gasoline, cost of the modification, and percent increase in mpg after the modification, in order to determine how long it will take the owner of the car to recoup their investment.

Introduction to the Raspberry Pi

This is a lab exercise in which students work in pairs to identify the hardware components on a Raspberry Pi, connect peripheral devices to it, perform the initial software installation, and log onto the computer. This lab assumes no prior experience and is the first lab of the semester.

The learning goals for the lab assignment are:

  • Know the basic architecture of a computing device
  • Understand the difference between hardware and software
  • Be able to connect a Raspberry Pi to peripheral devices, turn it on, and access the computer's command line interface

At the conclusion of this lab students are able to:

  • Identify and understand the basic architecture of a computer: processor, storage, and input/output
  • List the basic steps for instruction processing in the Von Neumann Model of computer architecture

Using programming to analyze real human DNA files

This assignment introduces the concepts of bio-computation and genetics and how programming is used to help solve current-day problems in those fields. Specifically this assignment looks at skin type, type-2 diabetes, exercise and diet. It includes references to a website with a diagram showing how the genotypes for exercise and diet interrelate and students need to develop code to implement the diagram. Learning objectives include: command-line arguments, data structure (python dictionary), if-else, loops, file input, writing user-defined functions.

The author of this material was awarded a 2016 NCWIT Engagement Excellence Award for this assignment. Learn more about the award on the NCWIT awards page.

Engagement Excellence

5_Poets: Only in the Poetry - Searching the Anglo-Saxon Corpus

This programming assignment requires students to consider a collection of Old English poetry and prose texts and consider the conjecture if any words appear only in the poetry (throughout the entire corpus)? And if so, how many times do these words occur? Students use a Python dictionary (also called a “hash table” or “map”) to keep track of all words in the poetry and then remove words from that dictionary that appear in the prose. Learning goals include problem decomposition (functions), extending existing code, technical writing, and writing scripts to produce HTML output.

The author of this material was awarded a 2016 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.

Engagement Excellence

4_Poets: True or False? Elves are tall … and Tolkien won’t let you think otherwise

This Python programming assignment requires students to seek evidence to help answer the following conjecture: True or False? Tolkien wanted his readers to fully appreciate that his elves were large, thus he used the word “tall” (or other variants such as “big”, “giant”, “large”, etc.) in close proximity to the name of an elf (e.g., “Legolas”, “Galadriel” or even the generic word, “elf”). Learning goals include problem decomposition (functions), extending existing code, technical writing, building an app to handle a wide range of input texts, and writing scripts to produce Excel-ready (comma-separated value) output.

3_Poets: Regex Play

This assignment requires students to write regular expressions (regex) to match patterns in words that solve word puzzles. A number of the puzzles are taken from WIll Shortz' books (1996, 2003). Shortz is National Public Radio's (NPR) puzzle master. This assignment is a stand-alone exercise for practice with the powerful pattern-matching syntax of regular expressions. The assignment involves no programming. A web-based CGI compares student regex with a dictionary of words and returns a table of resulting word matches. A "starter kit" includes a series of word puzzles to encourage regex play.

The author of this material was awarded a 2016 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.

Engagement Excellence

2_Poets: Reading Poetry Backwards – RPB v1.0

This programming assignment requires students to study, understand, and augment a Python program that (re)writes or “breaks” poems in various “deformed” manners, including printing the lines of a poem in reverse (last line to first line) and with randomized lines. Emily Dickinson wrote in the margins of a book: 'Did you ever read one of her Poems backward, because the plunge from the front overturned you?’ Learning goals include problem decomposition (functions), extending existing code, problem solving with multiple solutions, and building an app to handle a wide range of input texts.

The author of this material was awarded a 2016 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.

Engagement Excellence

1_Poets: Making a website -- Google's Ngram Viewer

This is the first of five assignments in a semester-long CS-1-like course named Computing for Poets to introduce students to programming within one area of the digital humanities: the application of computing to the study of digitized texts. Here, students must build a small website with answers to two queries applied to and the results obtained from Google’s Ngram Viewer. The course leverages a MOOC for HTML/CSS/Javascript practice to maximize in-class, hands-on sessions. Students will return to HTML in the final assignment in this series when their Python scripts will produce web pages on the go.

Subscribe to Make Interdisciplinary Connections to CS