Tensions Between Scientific Programming and the Scientific Method

Date and time: 
Wednesday, May 31, 2017 - 14:00
220 Deschutes
David Widder
University of Oregon


Programming is increasingly relied on as a tool of scientific discovery, and therefore we must give the programming process the same scrutiny given to any other scientific process. While the general public may associate the products of code with the apps they use on their smartphone or laptop, many are less aware of less visible uses of code, such as those involved in scientific research. The consequence of sloppy commercial apps may lead to loss of profit or damage to a company’s reputation, but the consequence of sloppy scientific code may be the corruption of the scientific process to the detriment of the scientific community, arguably an outcome with more lasting and pervasive negative effects. Therefore, in this talk I will argue that increased attention should be paid to the use of code in the scientific process, and I offer my thesis as a small contribution to a growing body of literature focused on this topic.

In this talk, I will cover: 1) a summary of best practices for scientifically valid programming extracted from literature, 2) eleven case studies of scientific programmers and their processes including what their code does, their self identified process difficulties, their tool use, their self identified areas for growth and their perceptions of the importance of programming to their discipline, 3) an evaluation of the manner and extent to which participants conformed to the best practices identified, 4) an overall conclusion including suggestions of how to effectively encourage the use of best practices informed by my case studies.

This talk is the oral defense of my thesis conducted as my final requirement to graduate from the Clark Honors College. This talk is open to the public, and the majority of it will be accessible to those from diverse academic backgrounds. Homemade cookies will be served.