I'm looking for activities that can integrate computer science into lessons about DNA, RNA, and proteins in a middle school (ages 12 to 14) science class. Our school is using the NGSS and CSTA standards. The students understand a few basic concepts about these topics, but they're generally beginners.

The activities should

  • Reinforce or teach computer science age-appropriate knowledge, skills, concepts, and practices
  • Reinforce or teach about DNA, RNA, or protein molecules and the processes that relate to them
  • Demonstrate the interdisciplinary nature of computer science
  • Engage students with active learning
  • $\begingroup$ A more useful distinction on the age ranges (please correct me) might be for this question, they're at or maybe in the first year of elective subjects. So here you're exposed to a class taking maybe 15 different subjects, the older group will be more narrowly focused towards STEM, or about to make that transition. I think the questions would benefit from elaboration of each specific target. $\endgroup$ Jun 30, 2017 at 14:02
  • $\begingroup$ The activities below are actually being used in middle schools today? I might as well have been educated in a one room schoolhouse. I would think of these things being part of a Master's degree. $\endgroup$
    – user737
    Jul 1, 2017 at 0:54
  • $\begingroup$ @nocomprende, The NCBI activity is in a CS Principles curriculum implemented in ~1000 US high schools. $\endgroup$ Jul 1, 2017 at 17:10
  • $\begingroup$ So, is this curriculum successful? $\endgroup$
    – user737
    Jul 2, 2017 at 3:19
  • $\begingroup$ I think this question, as of the current edit (2017-07-15 15:44Z) is still too broad. In essence it asks for a lesson on DNA/RNA, and a lesson on a computer science concept that could be useful with that type of data, and a lesson that creates a integrates the two to demonstrate how computers can be used in other fields. How about narrowing it to a single lesson based around a specific set of life science needs and a targeted CS concept. CS educators may, or may not, know the material from the other discipline, so it needs to be provided prior to the lesson. $\endgroup$ Jul 16, 2017 at 8:42

4 Answers 4


Building off Bennett Brown's answer about creating an "alphabet" with DNA...

It is being researched how to efficiently store data in DNA. Here's some thoughts you can cover:

  • The efficiency of DNA - a vial around the size of your pinky finger can store a petabyte of DNA (see how much is a petabyte? and this fascinating lecture by one of the eminent researchers in the field)
  • The scientific method - multiple papers have been written (I'll try to find a couple of the better ones) continually advancing the field; one of the later ones, about an encoding system called DNA Fountain approaches I think 86% of the theoretical limit for how much information can be stored in a nucleotide.
  • The structure of DNA - what a deoxyribonucleotide is (phosphate group, base, etc) and how it is copied and created in the cell. Here also, you can make a foray into the sequencing and synthesis of DNA - a group called Oxford Nanotech is starting to make smaller, handheld synthesizers using nanopores (links will be added) and then there's Illumina's more classic method of fluorescence sequencing. You can talk about why synthesis is so hard - in the cell, a "primer", or strand of already created DNA, is needed to use DNA polymerase, the enzyme that helps "zip" together the nucleotides.
  • Information theory, storage, and density. Talk about how Shannon realized that the amount of information in a message depends on how surprising it is - you know more when I say that "the sky is green" versus "the sun rises in the east". You can also talk about how efficiency is measured - how many units of information per unit volume (in DNA storage's case, bits per nucleotide). So, in English, efficiency (actually called information density) would have the unit volume be each letter. Let them explore, and try to create a more efficient alphabet - I'm guessing they'll gravitate towards something like Chinese, where whole concepts, phrases, words, and so on are represented by characters - i.e., a large character set, but each character holds a whole lot of data.
  • Error correction, and how scientists are doing that in DNA. Homopolymers (i.e., 'aa', 'gg', etc) are a problem to be avoided in encoding systems. You could explain error correction in normal data, like checksums, and so on.
  • Addressing, and how that's used in random access. Why random access is important in DNA storage.

I could keep going (I'm just a bit excited about this field), but it would be well worth the doing to explain the various encoding systems used in research, and let them explore - who knows, they might come up with a great system of their own! I will add links as I have more time.


Create a DNA-like representation for the alphabet

This activity establishes a background experience that can later be used when teaching that DNA and computer data are sequences of discrete values. Each student picks three colors and creates a 27-character table showing all permutations of "codons" of the colors, akin to the 4^3 DNA codons representing amino acids. This activity was implemented in a U.S. grade 7 science classroom. An example of the student work is shown below, although the printed worksheet was revised after the pilot to make more explicit connections to both computer science and genetics.

Sample student work:

student work sample


Code.org, partnered with Project GUTS, has a CS in Middle School Science curriculum which includes a Life Science Module. This uses StarLogo Nova for modeling and includes unplugged activities as well.

  • $\begingroup$ I was hoping answers would form a collection of activities that teachers could draw on. Perhaps clarify the answer (or split into multiple answers) to describe the key activities of the unit? Is the jist of the GUTS life science activities to have students adjust parameters of a predator-prey model? Do students explore "increases and decreases of specific traits in populations over time" to address NGSS middle school Life Science 4-6? nextgenscience.org/pe/… $\endgroup$ Jun 30, 2017 at 7:56
  • $\begingroup$ Yes, the Project GUTS life sciences module centers around building a predator-prey population dynamics model, then designing and running their own experiment. It doesn't address that NGSS standard (population traits) specifically, but it could be incorporated as an extension of that module. Example: have multiple types of prey with different susceptibilities to predation, and see which wins out over time. $\endgroup$
    – andyras
    Jun 30, 2017 at 14:32
  • $\begingroup$ I actually did a summer camp for this - it was quite fun. Let me dig up the links to the projects I created... $\endgroup$
    – auden
    Jun 30, 2017 at 15:12
  • $\begingroup$ We did three big projects: an epidemic simulator, an ecosystem simulator, and a carbon emissions simulator. I must admit, I still work on them occasionally; I enjoy StarLogo Nova. $\endgroup$
    – auden
    Jun 30, 2017 at 15:16
  • $\begingroup$ Moderators merged my MS and HS versions of this question and wanted the merged question to be edited from "life science" to something more specific. They proposed "DNA" and I went with basic molecular biology taught ages ~11-15. Maybe this answer now belongs to another question specific to ecology or epidemiology or simulation and modeling in the life science. $\endgroup$ Jul 3, 2017 at 19:23

Create a phylogenetic tree

  1. Pick any human protein.
  2. Use NCBI to obtain a 200-500 base pair sequence of mRNA for that protein in homo sapiens.
  3. Use NCBI to BLAST that sequence against NCBI database. BLAST is an alignment algorithm.
  4. While the supercomputer runs, discuss alignment as a computer science problem.

    GitHub uses an alignment algorithm to create the "diff"; MS Office programs use alignment algorithms to compare two files, displaying the results similar to "show track changes"

  5. Select the best match from each of the top ten or twenty species. Download the set of matching mRNA sequences in FASTA format.

  6. Upload the data in the desktop program Molecular Evolution Genetics Analysis (MEGA) and use MEGA to create a phylogenetic tree, showing the most likely evolutionary relationships among the species based on the bit of data about that single protein.

This activity has been used in one of the endorsed CS Principles curricula and is often implemented by AP bio teachers. Nuances in how to teach phylogenetic trees and the impact of these choices on student understanding of the biology concepts is reported in Smith 2013.

  • $\begingroup$ Possibly a good AP bio lesson. It uses a computer as a tool, and you explanation during the run show how the same tool (alignment) can be used in other areas as well. What is the _computer science concept that is supposed to be taught by this example? $\endgroup$ Jul 16, 2017 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.