Course Level
CS1
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Assignment
Synopsis

In this assignment, students write a function that finds the maximum number of nucleotide matches on a folded RNA string. Using recursion, students must find the optimal folding for an RNA string by pairing up different combinations of indices in the string. They then optimize their function with memoization. This assignment requires students to work with recursion, memoization, and lists.

Recommendations

Group Students by Level of Experience with CS at the start of this lab to ensure students with less experience working with memoization are not isolated and intimidated by the various tasks. Create an Interdisciplinary Connection to CS by inviting a faculty member from the program in biotechnology to discuss how RNA folding is used by practitioners.

Engagement Highlights

Uses an example from biology to provide Interdisciplinary Connections to CS and Employ Meaningful and Relevant Content.

Materials and Links

Materials

Computer Science Details

Programming Language
Python

Material Format and Licensing Information

Creative Commons License
CC BY-NC