Software is of fundamental importance to most research, but many of the next generation of researchers will lack the skills they need to exploit it. A good understanding of software, and the confidence to develop it, allows researchers to get more work done in less time, and produce results that are both reliable and reproducible. The Software Sustainability Institute is an EPSRC-approved supplier of training for the Centres for Doctoral Training (CDT).
Since 2012, over 1000 students have benefited from the training we deliver in partnership with Software Carpentry and Data Carpentry - initiatives that have been developed for researchers from all disciplines. The Software Carpentry training covers a series of practical and introductory software engineering techniques and best practices for researchers and scientists with no or minimal prior computational experience that provide the skills needed to harness the power of software and develop robust and maintainable code to conduct research. The Data Carpentry training focuses on the introductory computational skills needed for reproducible data management, analysis and sharing in all domains of research.
Why Software and Data Carpentry?
The Software Carpentry initiative was founded in 1998, and was run by the Software Carpentry Foundation, but has really picked up in 2010s. It has the backing of many leading figures in the scientific software community, and many thousands of students worldwide have benefited from the training. In 2012, the Software Sustainability Institute were made the UK coordinators for Software Carpentry. This has allowed us to identify the common needs of UK researchers and tailor our training to meet those needs. As of 2018, there are around 10 official Carpentry partners in the UK, and many other institutions that are heavily involved in the programme.
Data Carpentry was launched in 2014 aiming to provide domain-specific training covering the full lifecycle of data-driven research and immediately proved to be extremely popular. The main idea is to develop curriculum tailored for particular needs of different disciplines in which researchers have to deal with large amounts of data.
As the Carpentries’ joint communities reached over 1000 certified instructors and nearly 50 partner institutions worldwide, in August 2017 the respective steering committees approved the merger of the Software and Data Carpentry foundations into a single umbrella organisation, knows as the Carpentries, with associated lesson organisations and a starting date of 1 January 2018. Software Carpentry and Data Carpentry will remain as distinct lesson organisations with their unique brand - Software Carpentry as conveying the best practices in programming/computing and writing clean and reproducible code to analyse data (regardless of the tools used), and Data Carpentry as conveying particular and recommended tools to do reproducible and scalable data analysis.
How will our training improve your CDT?
The EPSRC has recognised the fundamental importance of software in research, and the necessity of good software development practices in producing accurate, reusable and reproducible research.
The EPSRC invitation for outlines (page 15) for the CDT 2013 call states:
It is therefore a certainty that many of the students being trained through the Centres will be using computational techniques in their projects, and some may have projects aimed specifically at software development. It is essential that they are given appropriate training so that they can confidently use, extend and develop software in a way that supports correct, reproducible and reusable research.
Similarly, the EPSRC 2018 CDTs outlines call states (on page 7):
Acknowledged to be the “third leg” of scientific enquiry, alongside experiment and theory, computational and data-driven research cuts across the whole of science and engineering. It is therefore a certainty that many of the students being trained through the CDTs will be using computational and data techniques in their projects, and some may have projects aimed specifically at software development. It is essential that they are given appropriate training so that they can confidently undertake such research in a manner that is correct, reproducible and reusable such as data curation and management (this may need to include data protection and regulation). For students who are required to adapt, extend, or develop software as part of their research we expect them to be given training in basic programming and software engineering skills, including working collaboratively on code, testing, automation, and revision control.
Our training courses make it easy to meet the EPSRC’s software-development requirements without investing your own resources into creating new training, and without duplicating existing training materials and courses.
Students taking part in a Software Carpentry workshop at Newcastle University.
The course is completely hands-on. Our instructors will lead your students through a series of lessons which the students then replicate on their own computers. This approach ensures that the students gain a good understanding of the techniques, and can later adapt them for their own research.
What training support do we offer?
We coordinate and organize training courses which allow doctoral students improve their computational skills. We offer help in analysing training needs and then identifying the right kind of training. There are different types of training which may suit CDTs, ranging from a standard Software or Data Carpentry workshop, to long-term courses which incorporate elements of the curriculum of these two initiatives.
A typical Software Carpentry training course will take place over two days and will include lessons on task automation using command line, revision control, testing and scripting, with a focus on languages - like Python or R - that are popular with researchers and scientists. The course is completely hands-on. The instructors will lead your students through a series of lessons which the students then replicate on their own computers. This approach ensures that the students gain a good understanding of the techniques, and can later adapt them for their own research. They are given some early gains and are encouraged to develop confidence in their own ability to learn and explore further, as well as write code independently and share it with the community.
If you have any questions, would like further information, or discuss how we could help you develop and deliver training for your organisation, please contact Aleksandra Nenadic (the Institute's Training Leader).
Who are we?
The Software Sustainability Institute was founded by the EPSRC as a national facility for cultivating world-class research through software. The Institute is based at the universities of Edinburgh, Manchester, Oxford and Southampton.