An Environmentalist Case for Complexity Theory
Computational complexity theory is not the most popular topic of computer science undergrads, but if speed and memory efficiency are not enough to motivate you to learn about it, how about environmentalism?
Today, average FLOPS per watt is increasing exponentially as CPU technology continues to march forwards. Despite this, energy use per CPU is still going up since our demand for computation is increasing.
Reducing Computation Requirements
Through the study of algorithmics and computational complexity theory, the discovery of new algorithms can help to reduce the required amount of computation, reducing the energy required with no penalty to the user (and indeed, many benefits).
Perhaps with a focus on environmentalism, more up and coming academics will put their attention into this area.
Making Better Use of Efficient Algorithms
Without even having to do new research to find more efficient algorithms, we can use known algorithms more often by educating more people in algorithmics, or by making resources that explain topics such as big-O notation more accessible.
Offloading of Heavy Computation
If you have the money to spend, and it would not be a privacy/security concern, some computation can be offloaded to highly energy efficient (and renewable) servers.
This is mostly useful for high-complexity computation that doesn’t require a lot of user data, since the data transfer would otherwise take longer than doing the computation on-device. Luckily, high-complexity computation might have needed to be processed on a server for faster speeds anyway.