Numerical MOOC: Collaborating in Open Education for CSE
Poster presented at the SIAM Conference in Computational Science and Engineering 2017, Atlanta, GA.
The course "Practical Numerical Methods with Python" launched in 2014 as an "indie" massive open online course (MOOC), simultaneous to on-campus courses at three universities. Prof. Barba spearheaded the effort, creating infrastructure and content in the form of modules to teach the foundation of scientific computing with Python. In 2015, a new on-campus course adopted the curriculum and methods of "Numerical MOOC," expanded with a new course module. We wish to share the experiences of collaborating openly in teaching CSE, like we collaborate in research. We have all the course materials on GitHub, and contributions have come in from course instructors as well as avid students. Our basic curriculum can be expanded, modified, remixed, etc., in the open-source model. The course's stacked learning modules are somewhat self-contained, each one motivated by a problem modeled by a differential equation (or system of Des), building new concepts in numerical computing, new coding skills and ideas about analysis of numerical solutions. They cover methods for time integration of simple dynamical systems (systems of ordinary differential equations); finite-difference solutions of various types of partial differential equations (hyperbolic, parabolic or elliptic); assessing the accuracy and convergence of numerical solutions; and using the scientific Python libraries to write these numerical solutions. (Course repository: https://github.com/numerical-mooc/numerical-mooc)