Figure - available from: PLOS Computational Biology
This content is subject to copyright.
Anatomy of an error message, Part 2 (or: Just because it works, doesn’t mean it’s right)
Here we provide more examples of the debugging process. Examples shown in Figs 3–5 are conducted in Python using a Jupyter notebook. Environments like RStudio (in Fig 2) and Jupyter notebooks are two examples of integrated development environments; these environments offer additional support, including built-in debugging tools. First, we show an error that does not induce an error message, but the user must debug nonetheless.

Anatomy of an error message, Part 2 (or: Just because it works, doesn’t mean it’s right) Here we provide more examples of the debugging process. Examples shown in Figs 3–5 are conducted in Python using a Jupyter notebook. Environments like RStudio (in Fig 2) and Jupyter notebooks are two examples of integrated development environments; these environments offer additional support, including built-in debugging tools. First, we show an error that does not induce an error message, but the user must debug nonetheless.

Similar publications

Article
Full-text available
A bstract We present our computation of the $$ \mathcal{O} $$ O (( α t + α λ + α κ ) ² ) two-loop corrections to the Higgs boson masses of the CP-violating Next-to-Minimal Supersymmetric Standard Model (NMSSM) using the Feynman-diagrammatic approach in the gaugeless limit at vanishing external momentum. We choose a mixed $$ \overline{\mathrm{DR}} $...
Preprint
Full-text available
This is the third (and the last) code in a collection of three programs [Sokolovski et al (2011), Akhmatskaya et al (2014)] dedicated to the analysis of numerical data, obtained in an accurate simulation of an atom-diatom chemical reaction. Our purpose is to provide a detailed description of a FORTRAN code for complex angular momentum (CAM) analysi...
Article
Full-text available
Extensive experimental evidence has shown that the presence of poloidal flow in tokamaks can dramatically improve transport properties. However, theory indicates that poloidal flows are damped by poloidal viscosity, thus necessitating external drivers, such as neutral beam injection or radio frequency heating. In this work, ideal magnetohydrodynami...
Article
Full-text available
Background and Objective: Population growth and scarcity of coastal freshwater resources have increased the stresses on many coastal aquifers, leading to aquifer storage decline and salwater intrusion (SWI). Investigation of coastal aquifers routinely involves the application of SWI models, which can be divided into two categories, namely sharp-...
Article
Full-text available
This research studied the problem of varying depth and varying elastic properties along flexural member lengths subjected to generalised loading, with such members considered to be nonhomogeneous and non-prismatic. The differential equation for classical thin beams was thus derived and the finite differences used in solving this equation. Fortran p...

Citations

... Two recent articles in the Ten Simple Rules collection [28,29] have discussed the teaching of foundational computer science and coding techniques to biology students. We advance this discussion by describing the specific steps for effectively teaching the necessary skills a scientist needs to develop sustainable software packages that are fit for (re-)use in academic research or more widely. ...
... To master any digital learning environment, the educational staff needs to get trained in this field. However, as described by Carey and Papin (2018), many biologists are only trained in experimental techniques and have little computational literacy. Morton et al. (2019) mention that only few medical doctors have the ability to code necessary softare, too. ...
Article
Full-text available
Many academic teachers present data as static graphics in their lectures and courses. However, data structures have become more complex in the last decades, especially in the biomedical disciplines, and interactive graphics can provide a better means to communicate the scientific contents to students. Besides, the technological qualifications of academic staff are diverse, and it has been little studied how these teachers can be trained to program and implement interactive graphics for their courses. It is also little known whether interactive graphics will be helpful for teaching and learning. We conducted a pilot online workshop to identify aspects that need to be addressed when teaching academic staff to program interactive graphics in form of Shiny-apps based on the programing language R. The n = 25 participants were academic staff from the fields of medicine or natural sciences. Pre- and post-workshop questionnaires were used to identify which aspects should be considered in future workshops, to query the usefulness of interactive graphics for teachers and students, and to identify the impact of the workshop on the teacher’s opinion towards digital teaching devices and their preparedness to program own interactive graphics. Most participants showed strong interest to use interactive graphics in their courses after the workshop, and interactive graphics were overall rated as very helpful for teachers and students. However, only those with prior programming knowledge intended to implement own graphics. We conclude that an extension of the workshop will be necessary to provide additional training for participants with no background in R programming.
... Popular programming languages selected for many undergraduate curricula in science, mathematics, and engineering have been recently developed using either MATLAB or Python (Fanghor, 2004;Spencer, 2005;Peng et al., 2011;Sangwin and O'Toole, 2017;and Wang et al., 2017). MATLAB (2015) and Python (Van Rossum, 2015) are both interpreted languages, making it easier and more intuitive for students to begin programming (Carey and Papin, 2018). Moreover, if students already have experience using these programming languages, giving them a platform to refine their skills in these languages while empowering their intuition in physics subjects, like fluid dynamics, may prove beneficial. ...
Chapter
DESCRIPTION Foundations and applications of fluid mechanics are relevant in several scientific and technical fields, like physics, engineering, medicine, environmental sciences, and mathematics. The study of fluid mechanics is included in several school curricula worldwide, and as early as the 1980s, there has been growing interest in the Physics Education Research (PER) field about the subject. Several PER researchers have tried to understand how students' conceptions of liquids or gases can affect the effectiveness of instruction, and many literature pieces are available that discuss different possible ways of teaching the concepts related to the equilibrium of fluids and hydrodynamics. They mainly aim to shed light on how to facilitate student learning of fluid mechanics foundations and applications and foster student broad awareness of how this subject plays a role in so many different disciplines. In this chapter, we discuss some relevant examples of these publications to understand how educational research has contributed to the knowledge of teaching/learning of fluid mechanics, how it has evolved in terms of analysis of student learning in this subject, and methodologies and tools proposed and trialed.
... Dogucu & Çetinkaya Rundel (2022) motivates the importance of code quality, style guides, file organization, and related topics. Related work by Carey & Papin (2018) that describes rules for new programmers has relevance for teaching data analysis. Nolan & Stoudt (2021) offer a "Dirty Dozen" set of helpful code recommendations, and Abouzekry (2012) provides ten tips for better coding. ...
Preprint
Full-text available
Many data science students and practitioners are reluctant to adopt good coding practices as long as the code "works". However, code standards are an important part of modern data science practice, and they play an essential role in the development of "data acumen". Good coding practices lead to more reliable code and often save more time than they cost, making them important even for beginners. We believe that principled coding practices are vital for statistics and data science. To install these practices within academic programs, it is important for instructors and programs to begin establishing these practices early, to reinforce them often, and to hold themselves to a higher standard while guiding students. We describe key aspects of coding practices (both good and bad), focusing primarily on the R language, though similar standards are applicable to other software environments. The lessons are organized into a top ten list.
... While this trend appears to be changing in recent years [4,5,6], many students and earlycareer scientists are still left with the task of learning quantitative and programming skills largely in a self-directed manner in order to meet their academic or professional goals. This "learning to program" hurdle is so common in biological sciences that it has even been the focus of other 10 Simple Rules articles [7,8]. Here, we focus specifically on self-learning the programming language, R [9], and attempt to provide a roadmap for new R users unable to see a clear path ahead. ...
... For those who may be timid about working with a command line program, you will want to take some time to learn the basics or find a collaborator who can help you navigate this process. Fortunately, there are many good beginners guides available (e.g., [13]) and with a big list of coauthors, you are likely to have at least one who can help. ...
... Nevertheless, topics related to this theme regularly arise throughout graduate school and beyond and thus highlight its importance for learning how to design, undertake, and complete high-quality research. Although there have been several excellent reviews in the 10 simple rules series on topics that are linked to the broader points we raise here, such as guidelines for using statistics [1], managing data [2], and learning to program [3], none have been focused on a discussion of broad conceptual topics that relate to applying statistical approaches in research with new graduate students as a primary audience. Therefore, we offer what we view as 10 important rules for new students to reflect on as they begin to build their statistical skillsets in graduate school. ...
... We suggest that new students consult literature and talk with others in their field to find out which programming languages are commonly used and to understand their strengths and weaknesses with different types of data or analytical approaches before choosing the language(s) on which to focus [3]. For example, one programming language that is free and used widely in the natural resource sciences [17] is the R statistical environment (https://www. ...
... However, a scientist can write her own program(s), using for example Python and Jupyter Notebooks, to automate the analysis process and provide a clear and reusable documentation of exactly how she obtained her results. The continuing digitalization of science, growing interdisciplinarity(Islam and Wells, 2021) and interactions with large volumes of data(Carey and Papin, 2018) make it abundantly clear that every STEM (Science, Technology, Engineering, and Mathematics) scientist should know how to program(McDonald et al., 2022). While it may initially seem daunting to learn a programming language like Python, the power and freedom it grants the budding programmer ...
Preprint
Full-text available
Enzyme reactions are highly dependent on reaction conditions. To ensure reproducibility of enzyme reaction parameters, experiments need to be carefully designed and kinetic modelling meticulously executed. Furthermore, to enable the judgement of the quality of enzyme reaction parameters, the experimental conditions, the modelling process as well as the raw data need to be reported comprehensively. By taking these steps, enzyme reaction parameters can be open and FAIR (findable, accessible, interoperable, re-usable) as well as repeatable, replicable and reproducible. This review discusses these issues and provides a practical guide to designing initial rate experiments for the determination of enzyme reaction parameters and gives an open, FAIR and re-editable example of the kinetic modelling of an enzyme reaction. Both the guide and example are scripted with Python in Jupyter Notebooks and are publicly available (https://fairdomhub.org/investigations/483). Finally, the prerequisites of automated data analysis and machine learning algorithms are briefly discussed to provide further motivation for the comprehensive, open and FAIR reporting of enzyme reaction parameters.
... funding bodies, publishers, and other educators have already embraced a team science model in computational biology and thrived [1][2][3][4][5][6][7], others who have not yet fully adopted it risk severely lagging behind the cutting edge. We propose a general solution: "deep integration" between biology and the computational sciences. ...
... Visionaries a decade ago aspired to bridge the domains of computational sciences and biology [1][2][3][4][5][6][7]. Since then, computational biology has emerged as a mature scientific discipline. ...
Article
Full-text available
Evolving in sync with the computation revolution over the past 30 years, computational biology has emerged as a mature scientific field. While the field has made major contributions toward improving scientific knowledge and human health, individual computational biology practitioners at various institutions often languish in career development. As optimistic biologists passionate about the future of our field, we propose solutions for both eager and reluctant individual scientists, institutions, publishers, funding agencies, and educators to fully embrace computational biology. We believe that in order to pave the way for the next generation of discoveries, we need to improve recognition for computational biologists and better align pathways of career success with pathways of scientific progress. With 10 outlined steps, we call on all adjacent fields to move away from the traditional individual, single-discipline investigator research model and embrace multidisciplinary, data-driven, team science.
... The better performing languages (C/C++, Fortran, or CUDA) are used in specific instances and with considerable additional effort if the computational burden becomes overwhelming. This is questionable from an efficiency perspective but also problematic in regards to the correctness and accuracy as the translation step leaves room for mistakes and misinterpretation; especially if the translation is done by someone who is not a domain expert [9]. This issue will only become more problematic as the demand for high performance code with good scalability continues to increase to meet the demands of bigger data sets and more detailed models. ...
Preprint
Full-text available
Increasing emphasis on data and quantitative methods in the biomedical sciences is making biological research more computational. Collecting, curating, processing, and analysing large genomic and imaging data sets poses major computational challenges, as does simulating larger and more realistic models in systems biology. Here we discuss how a relative newcomer among computer programming languages -- Julia -- is poised to meet the current and emerging demands in the computational biosciences, and beyond. Speed, flexibility, a thriving package ecosystem, and readability are major factors that make high-performance computing and data analysis available to an unprecedented degree to "gifted amateurs". We highlight how Julia's design is already enabling new ways of analysing biological data and systems, and we provide a, necessarily incomplete, list of resources that can facilitate the transition into the Julian way of computing.