By Aleksandra Nenadic, SSI Training Lead.
There are many free and open training resources available to researchers and Research Software Engineers to upskill on various topics around software development, research data management/analysis, software project management, open and reproducible science, teaching and lesson development skills, and more. We listed some of them in our previous blog post “Training resources for researchers that want to learn to code”. Here, we expand that reference resource with more training entries. Note that this reference is not an exhaustive list - if you’d like a training resource mentioned here, please get in touch.
Some of these courses are being delivered at our Research Software Camp: Next Steps in Coding, 16 - 27 May 2022. To help you navigate the Camp’s schedule - we have created attendee profiles and signed-posted the Camp’s sessions based on the interests and current skill levels of our audiences.
Jargon Busting Resources
If you are a beginner at developing code for your research or work, an excellent place to start is to familiarise yourself with the terminology used by the computational research communities. This is an important step as our learners come from different backgrounds, and may not be native English speakers – a term in one domain may mean something else entirely in another.
The Turing Way’s HandBook to reproducible, ethical and collaborative data science contains a very useful and comprehensive glossary of terms.
The Carpentries Glossario is another open-source and multilingual glossary of data science terms.
The Carpentries workshops often start with a jargon-busting session to make sure everyone understands the terminology used - one such example is Library Carpentry’s Jargon Busting.
Computational Skills Resources
If you are a researcher who's begun writing code/software for research, who perhaps aspires to improve their skills and how to apply them, and perhaps needs help understanding some research software-related problems - try the following introductory resources on software development, data management and analysis and open and reproducible research.
|Software Carpentry; Data Carpentry; Library Carpentry||R, Python, shell, Git, spreadsheets, OpenRefine, regular expressions, data analysis and visualisation, etc.||Various domains; general|
|Good enough scientific computing practices;
Managing academic software development
|Project management using GitHub||General|
|Building websites with Jekyll and GitHub pages||Markdown, GitHub Pages websites, Jekyll||General|
|Programming Historian||Python, data management and visualisation, mapping, web scraping, network analysis, etc.||Humanities; information management|
|R, Open Research, and Reproducibility||R, open and reproducible research||Psychology; general|
|Open Intro to Python||Python, open and reproducible research||Psychology; general|
|Introductory Statistics for Public Health||R, statistics, data analysis, data science||Public health; biomedicine, biosciences|
|Data Science training programme for Health and Biosciences researchers||R, Python, statistics, data analysis, data science||Public health; biomedicine, biosciences|
|The Turing Way Handbook||Open research, reproducibility, research (software) project management||General|
|RDM Kit||Data management/analysis skills, FAIR data||Biosciences|
|Library Carpentry: Fair Data and Software||FAIR data & software||Humanities; information management|
Research Software Engineering with Python:
|shell, Git, testing||General|
Beginner to Intermediate
For researcher developers and early career Research Software Engineers who have already attended some foundational training, the following beginner-intermediate resources may be of use to further their skills.
|Python Data Science Handbook by Jake VanderPlas||Data science||General|
|Carpentries Incubator||An open repository for sharing community-developed lessons on various topics||Various domains; general|
|Super Computing Wales training||HPC||General|
|Data Carpentry HPC lesson||HPC||Genomics|
|Level Up Your Python course by Henry Schreiner||Python||General|
|DZone tutorials||Various topics||General|
|Introduction to BinderHub||Binder, BinderHub||General|
|Docker Introduction||Docker container, reproducible computational environments||General|
|Singularity Introduction||Singularity container, reproducible computational environments||General|
|Cloud computing intro for genomics||Cloud computing||Genomics|
Check out the resources below for more experienced RSEs and researchers developers who started working on larger, more complex research software projects and are looking at the next steps to improve their skills further to overcome challenges in such projects, particularly around collaborating on research software development in teams.
|Beuzen & Timbers: Python Packages||Python packaging||General|
|Intermediate Research Software skills||Software design and development in teams, Python||General|
|CodingWithJamesMurphy YouTube channel||Python||General|
|CodeRefinery||A collection of lessons on different topics; shell, Git, testing, collaborative code development, etc.||General|
Teaching and Training Development Skills
If you already have an RSE skills background, and have some experience with delivering teaching or training or some prior experience in building materials for knowledge transfer or training, and aspire to improve your teaching or lesson creation skills to train others (perhaps within local research domain groups or more widely as part of a project), the following training resources are for you.
|Diàtaxis: A systematic framework for technical documentation authoring||Writing technical documentation, how-to guides and tutorials||General|
|Carpentries Lesson Development||Pedagogical skills on developing effective lessons collaboratively||General|
|Carpentries Instructor Training||Pedagogical skills on teaching tech to novices, instructor training||General|
|Carpentries Lesson development study groups||Pedagogical skills on developing effective lessons collaboratively||General|
|CodeRefinery’s Instructor Training||Pedagogical skills on teaching tech to novices, instructor training||General|
|ELIXIR's Train the Trainer||Pedagogical skills on teaching tech to novices, instructor training||General|
Want to discuss this post with us? Send us an email or contact us on Twitter @SoftwareSaved.