In recent years, computers have permeated nearly every field of study, including environmental sciences. We’ve seen rapid advances in technologies such as databases, Geographic Information Systems (GIS), and automated data collection. Scientists are able to collect so much data now, that the question is quickly becoming: how do we use and make sense of all this data? This has pushed scientists to become computer experts in order to leverage readily available computing power. It has also created highlighted a need for computer scientists to better understand the environmental science field and its challenges in order to develop better software to meet those challenges.
A course taught at The Evergreen State College a few years ago called “Quantitative Ecology” provides a great example of a useful interdisciplinary program. This course was part of a recurring “Data and Information” theme which pairs computer science with other areas of study such as linguistics, statistics, or in this case, ecology.
Quantitative Ecology included students mostly interested in computer science and programming, as well as students primarily focused on environmental sciences. Individual classes taught introductory programming, basic ecology, and included hands-on experience tagging trees, and collecting measurements in the field. Students used programming skills learned earlier in the program to analyze and visualize the data they had collected, and that other students had collected in earlier years. At the end of the program, they divided into small groups and developed software representing the skills and knowledge they had gained throughout the program. One group improved upon earlier visualizations, while another group photographed plants in their study area and built an interactive field identification guide.
I choose to highlight this course for two reasons. First, in studying (and later applying) software design, I’ve learned the importance of domain knowledge. I.e., terms, concepts, and general ways of thinking specific to the particular field you’re developing software for. Programmers needn’t be environmental science experts to develop ecology applications, but a basic understanding of the tools, terms, and methods goes a long way toward ensuring that the solutions effectively address the problems. Secondly, scientists can much more effectively leverage computing power with a basic understanding of programming concepts and techniques.
With an ever-increasing amount of environmental data, computers have become more and more instrumental in collecting, storing, organizing, visualizing, understanding, and sharing information about our environment. “Interdisciplinary” has become something of a buzzword in education, and for good reason. No field of study exists in a vacuum: computer science is useless until it’s applied to a problem, and no scientist can make full use of the computing power sitting under their desk without writing a bit of code from time to time. It’s great to see curriculums designed to reflect these facts.