This course will study the application of computer science to environmental and societal sustainability area problems. Sustainability topics include may wildlife and other environmental monitoring and protection, energy use in buildings and devices, sustainable design, waste management, agriculture, urban planning, and planet and ocean modeling. The computing topics used to address sustainability issues include artificial intelligence, machine learning, optimization, game theory, mobile computing, robotics, sensor networks, computer vision and acoustics, and algorithm and hardware design.

Thus, we will cover computing topics broadly, perhaps more so than any other upper division course you will have had. We will discuss issues that seem barely on the radar of current computing practice such as hardware design for substantive recycling and algorithm analysis (e.g., big-O) for energy use. There will be attention to the social sciences, because trying to understand the environmental implications of computing without attention to human behavior is myopic and ill advised. This treatment may extend to discussion on national and international policy questions concerning computing and the environment. Important too is attention to integration of computing methods to address complex, sequential sustainability problems.

Slide2 copyFigure 1 shows a systems view of sustainability decision making. Computing and communications technologies (in red) can be involved all along the decision making system. The various aspects of a sample application are in blue. Adapted from Tom Dietterich presentation at AI for Social Good, with original examples along all margins.