Under the Hood: Three New CODAP Plugins

Our Common Online Data Analysis Platform (CODAP) is both powerful and flexible. Powerful because it makes data analysis and visualization intuitive. Flexible because it’s easy to add plugins to its web-based interface. In CODAP, plugins can be a source of data or a set of instructions. Importantly, plugins can also receive information from CODAP. Communication goes both ways. With a bit of JavaScript coding, you can create your own plugin and drop it into CODAP where it appears as an iFrame.

Thanks to partner collaborations, CODAP has dozens of plugins. Several have proven so useful they’re built right into the CODAP Plugins menu. We’re excited to announce three new plugins that have recently been embedded directly within CODAP.

Story Builder

In our Writing Data Stories project with Michelle Wilkerson at the University of California Berkeley, we’re helping middle school students become “data storytellers,” using data as a medium to express their understanding of important socio-scientific issues. The prototype for the Story Builder plugin was initially designed by colleague Tim Erickson, and I was excited to complete it. Students can build story “moments,” with each interactive moment capturing the state of the CODAP document at a given time. Since CODAP can also embed web pages and videos, a story can be truly multimedia. Moments can be edited, deleted, and rearranged, or “locked” to prevent being accidentally changed. Stories are great for student projects and presentations, introductions to data-rich content, and even mockups of new plugin capabilities.


Some of the datasets in the Writing Data Stories project include tens of thousands of cases and over one hundred attributes—way too big and complicated for middle schoolers! So Tim Erickson developed Choosy as a fast and efficient tool for curriculum developers or teachers who need to create simple datasets from complex ones. Teachers can hide attributes quickly and in bulk, or tag cases to set aside or delete.

A screenshot of the Choosy plugin


The Bootstrap project wanted to feature data moves more prominently for their curriculum resources that use CODAP, so they created this plugin with 30 transformations. It’s now even easier to filter and sort attributes, and to measure, aggregate, and summarize data, among many other transformations. Users can transform datasets to produce new, distinct output datasets without modifying the original input dataset itself, thus enabling easy “what if” exploration and comparison of datasets that may represent distinct transformations performed on the same source dataset.

These three new plugins take advantage of recent enhancements to CODAP’s application programming interface (API), including:

  • Ask CODAP for the current state of the document.
  • Pass a new document state to CODAP for it to adopt.
  • Pass a formula to CODAP and get back the result.
  • Ask CODAP to open a new and different plugin.
  • Ask CODAP to create a case card.

Interested in trying more CODAP plugins? Check out the CODAP Data Interactive Plugins site. Want to build your own? See Getting Started with CODAP Plugins for step-by-step instructions. Contact us with questions on the CODAP Help Forum.

Bill Finzer (wfinzer@concord.org) is a senior scientist.

This material is based upon work supported by the National Science Foundation under grant DRL-1900606. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.