Experiences with Efficient Methodologies for Teaching Computer Programming to Geoscientists
Journal of Geoscience Education Volume 64, Number 3, ISSN 1089-9995
Computer programming was once thought of as a skill required only by professional software developers. But today, given the ubiquitous nature of computation and data science it is quickly becoming necessary for all scientists and engineers to have at least a basic knowledge of how to program. Teaching how to program, particularly to those students with little or no computing background, is well-known to be a difficult task. However, there is also a wealth of evidence-based teaching practices for teaching programming skills that can be applied to greatly improve learning outcomes and the student experience. Adopting these practices naturally gives rise to greater learning efficiency--this is critical if programming is to be integrated into an already busy geoscience curriculum. This article considers an undergraduate computer programming course, run during the last five years in the Department of Earth Science and Engineering at Imperial College London. The teaching methodologies that were used each year are discussed, along with the challenges that were encountered and how the methodologies affected student performance. Anonymized student marks and feedback are used to highlight the discussion, and also how the adjustments made to the course eventually resulted in a highly effective learning environment.
Jacobs, C.T., Gorman, G.J., Rees, H.E. & Craig, L.E. (2016). Experiences with Efficient Methodologies for Teaching Computer Programming to Geoscientists. Journal of Geoscience Education, 64(3), 183-198.