Creating Dynamic Documents with R and Python as a Computational and Visualization Tool for Teaching Differential Equations

The goal of this paper is to promote the use of R and Python as high-level, free, open-source programming environments that can be used as a computational and visualization tool for teaching differential equations. Both R and Python also allow for creating reproducible dynamic documents using Markdown, which combines live code, plain text, and expressions to generate different formats (pdf, html, Word), including the numerical and graphical output from the code, along with the code itself, properly formatted with minimum effort. This technology can be used for creating interactive teaching documents, randomized exams, homework and project reports, and even publication quality papers. We illustrate this technology with several examples implemented in R and Python. This approach has been classroom-tested, with some promising results. This article has online supplemental material posted on the PRIMUS website.