Teaching good mathematical software practices at CoDiMa training school

2 minute read

Published:

On October 17-21, 2016 we organised the Second CoDiMa training school in Discrete Computational Mathematics in Edinburgh (our first school took place in Manchester in November 2015). This time it was hosted at the International Centre for Mathematical Sciences, and had been attended by 26 learners representing 11 institutions around the UK. The majority of them were PhD students in mathematics and computer science. Their participation was supported by the CoDiMa project, which covered their travel, accommodation and subsistence needed to attend the school.

The school started with the hands-on Software Carpentry workshop covering the UNIX command line and version control (instructed by Alexey Tarutin and Leighton Pritchard), and the Software Carpentry lesson on GAP given by myself (for published versions of these lessons, see here, here and there on Zenodo). The 2-days Software Carpentry workshop created the basis for more in-depth explanation of the following topics on GAP and computational algebra during the remaining part of the week:

  • debugging and profiling
  • advanced GAP programming
  • GAP type system
  • distributed parallel calculations
  • demonstration of the new GAP Jupyter interface
  • examples of some algorithms and their implementations

delivered by Christopher Jefferson, Steve Linton, Markus Pfeiffer, Wilf Wilson and myself.

Furthermore, John Cremona gave a presentation of LMFDB (The L-functions and modular forms database project) which offered interesting insight into the internals of designing and maintaining mathematical database such as LMFDB. Also on Thursday Viviane Pons (Université Paris-Sud) gave an introduction to SageMath, and on the final day we had “Is your research software correct?” talk by the EPSRC Research Software Engineering Fellow Mike Croucher (Sheffield), and a panel discussion joined by Neil Chue Hong, who is the director of the Software Sustainability Institute.

For further details, please see the school’s webpage which contains links to the presentations and supplementary materials for all school’s programme. You can also find all #codima2016 tweets on Storify (they provide very good day by day coverage of the whole week), and school photos courtesy of ICMS here on Flickr. It was a really exciting event, and it is a great pleasure to thank everyone involved: all participants, speakers, instructors, helpers; Software Sustainability Institute and personally Giacomo Peru who coordinates Software Carpentry activities in the UK; all contributors to Software Carpentry lessons that we taught; ICMS staff for welcoming us and being attentive to all our requests; Blue Sky Catering for nice lunches; and Vittoria on the Bridge for the school dinner!

We plan at least three more such schools in 2017-2019. Besides training events, we also organise annual workshops. The first one was in the form of GAP-SageMath days at St Andrews in January 2016, and the next one is “Computational Mathematics with Jupyter” which we organise jointly with the Horizon 2020 project OpenDreamKit at the International Centre for Mathematical Sciences in Edinburgh on January 17-20, 2017.