Overcoming programming challenges in Geosciences

Wednesday 1:39 PT / 2:39 MT / 3:39 CT / 4:39 ET Online
Teaching Demonstration Part of Teaching Demonstrations


Jonathan Cohen, University of Delaware
Matthew Oliver, University of Delaware


We will take participants through one video based pair-programming experience to visualize a geoscience dataset, and introduce materials available through our SERC InTeGrate site.


One consequence of living in a highly connected world is that students are bombarded with geoscience information claiming to be scientifically factual. One major challenge for students trying to determine the validity of these claims is their inability to find, access, and visualize primary geoscience datasets. Undergraduate students commonly lack the technical skills to find, access and visualize primary geoscience datasets that form the foundation of geoscience results. To remedy this problem, we will demonstrate an active learning pedagogy called "pair-programming", where students with little to no experience coding learn how to find, access, and visualize geoscience data sets.
This demonstration is a video-based pair-programming activity to help students, with no prior experience, access and process data from various geoscience datasets. One of the students is the "driver" and the other is the "navigator". The navigator is mainly responsible for watching and verbally communicating the programming instructions from the video to the driver. The driver is mainly responsible for translating the navigator's instructions into syntax and inputting it into the computer. Students exposed to this pedagogy dramatically increase speed and comprehension to do complex computing tasks and visualize important geoscience data. They then carry these skills into subsequent computing tasks.


This activity is an example of an ongoing pedagogy we use in the undergraduate (and graduate) geoscience classroom at University of Delaware. Pair programming forms the backbone of a geoscience data discovery process in which the students become more proficient over time. With NSF funding, we have developed and delivered an undergraduate non-majors course employing this approach, and are in the process making all course materials available through a SERC InTeGrate site.

Why It Works

Pair programming is a practice developed in computer science to help students learn programming context and syntax quickly. This practice has been shown to dramatically increase the speed and comprehension of students to do complex computing tasks and is especially helpful for female science students. This technique works because it increases communication between students, who in turn notice more details about the code, avoid poor practices, thus increasing their expertise. In short, it lowers the barriers to programming faced by an individual student.

Connection Info

This session has already taken place.