Link to module

Evaluated December 2021

This module explores the relationship between computational complexity, efficiency of programs and energy consumption associated with those programs. It contains a lesson for a data structures course where ideas of complexity are first being introduced. It could even be used as a final project. Associated details include a programming assignment for the data structures lesson. This module is designed for use in a Computer Science II course.

This module covers material from the (AL) Algorithms and Complexity/Basic Analysis knowledge area.

The module captures the students’ ability to work with complexity, sorting, hash tables, deduplication and topics around data, computing and energy usage. It is suited for various strata of society, and situations complexity as a factor to inform energy usage and it mentions data duplication in voter suppression to attempt an alignment with social justice impacts. The module is well-situated to be integrated into the CS curriculum with little preparation from a faculty person. Yet an instructor needs to be aware that the module does require prior introduction to advanced programming concepts.

An instructor adopting this module will find background resources on energy usage and CO2 emissions of a programming function and PowerPoint slides for the chapter. If this module is to be integrated into other segments of the curriculum a reflection or discussion could be used to draw out next steps. Faculty from environmental studies or sustainability studies could provide support to move beyond existing material and assist future discussions.

To better facilitate assessing the module, an instructor will need to develop a solution key and rubric.


The evaluation of this module was led by Jaye Nias and Evan Peck as part of the Mozilla Foundation Responsible Computer Science Challenge. Patrick Anderson, Emanuelle Burton, Judy Goldsmith, Colleen Greer, Darakhshan Mir and Marty J. Wolf also made contributions. These works are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.