Alumni
Bio
Stephen Schroeder recieved his BSc with honors in geology from the University of Calgary, Canada. He participated in an ancient climate modeling project for two summers at Heidelberg University, and recently finished his undergraduate thesis focused on reactive transport geochemistry. Stephen is looking forward to continuing applying computational thinking to Earth and planetary systems. In his free time, Stephen hosts a science podcast and is a dedicated distance runner and rock climber.
Computational Essay: Running through the Seasons
Project: Improving Computational Essays with Interactive Validation and Transformation
Goal
Computational essays are an extremely powerful method of exposition; they offer the ability to tell an interesting, interactive and precise scientific narrative. The ideal computational essay is written to convey a scientific message with the audience in mind and contains a mixture of code, text and other supporting visual elements. The goal of this project was to develop methods to give feedback to the computational essay writer and provide a framework to validate and submit the essay once completed.
Summary of Results
During the program, I developed a framework that allows users to better produce computational essays that are valid notebooks that do not contain errors or profanity, do not contain outdated or obsolete functions and are standardized in their options, including magnification, window size and position. Each of these tasks can be done by the user with simple button presses, and it is all done within the context of their own notebook. The user presses a button in a toolbar and receives feedback within their essay, including if their notebook has any errors that must be fixed before submission into a public-facing archive.
Future Work
The code is modular! Each check and transformation is a standalone unit, so it’s easy to add more checks and transformations like: -Ensuring figure readability for people with colour vision deficiencies -Automatically separating function definitions and iconizing style/optional arguments -Re-evaluating the notebook to ensure that the output has not changed (except in certain cases) -Suggest against large blocks of code without any explanatory text. Computational essays are a format that allows for endless creativity and there are also endless ways to make the experience of a user writing one easier. The automated framework developed here will allow the quality of future computational essays to be better than they have ever been!