The course will view computing through a sustainability lens. Computing topics will include artificial intelligence, machine learning, and optimization (e.g., for design of protected bio-reserves and for smart-grid operations); agent-based modeling; social computing (e.g., including games, and implications for awareness and activism, and collective intelligence generally); mobile computing; robotics and sensors; and algorithm and hardware design (for energy efficiency). Other areas might include computer vision and acoustic applications (e.g., for species identification and environmental monitoring).
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.
Sustainability issues will include those of the natural (e.g., animal protection), built (e.g., transportation, energy consumption), and social (e.g., poverty, environmental policing) worlds.
Figure 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.