@@ -4,27 +4,179 @@ title: About Us
44subtitle : Skills and training for people developing research software
55---
66
7- Coding Club at the University of York is an informal group for people who work with research software.
8- We get together every other week, and run two main types of meetup.
7+ # Introduction and target audience
98
10- ** Drop-in Code Clinic** : a group call on which you can discuss problems / ideas / anything around the
11- topic of research software. Somebody will do their best to point you in the right direction on a problem,
12- and all will be happy just to chat!
9+ Research Coding Club at the University of York is an informal group for people
10+ who work with research software. We offer a modular training programme to
11+ support researchers at any level in developing their software development skills
12+ and applying the [ FAIR (Findable Accessible, Interoperable, Reusable)] [ fair ]
13+ principles and open research practices to their research software and data.
1314
14- ** Seminars** : we invite people from around the university to deliver a short talk (up to an hour) on a topic
15- of interest. These can be pitched at any level, and usually end with a lively discussion. Some topics we've
16- covered are:
15+ We welcome everyone working with research software, from undergraduates to
16+ professors, from beginners to experts, and from people who create analysis
17+ scripts on their laptops to those who run first principles modelling on
18+ supercomputers.
1719
18- * Version control
19- * Numerical programming with Python
20- * Software testing
21- * Introductory Bioinformatics
22- * Understanding modern CPUs
23- * The Software Sustainability Institute
20+ Research Coding Club runs a training programme, where you can learn more about a
21+ range of skills, and code clinics, where you can get help with your own research
22+ software.
2423
25- and you can see a (mostly!) full list of past seminars on the website homepage.
24+ # Research Coding Course
2625
27- ## Contact us
26+ Over the years we have developed extensive training materials and delivered
27+ hands-on tutorials and seminars to hundreds of researchers on everything from
28+ testing your code to how CPUs work. This year, we're building on the University
29+ of Sheffield's excellent [ FAIR²4RS] [ fair24rs ] course to deliver a training
30+ programme that will teach you a whole range of skills:
31+
32+ (all dates to be confirmed!)
33+
34+ - Better Software for Better Research: Introduction to the Research Coding
35+ Course, Wednesday 22nd October 2025
36+ - Software lifecycle planning, <span style =" color : #ff0000 " >Wednesday 5th</span > November 2025
37+ - Version control:
38+ - Introduction to Git and GitHub, <span style =" color : #ff0000 " >Wednesday
39+ 19th</span > November 2025; Repeated <span style =" color : #ff0000 " >Wednesday 21th</span > January 2026
40+ - Git collaboration, <span style =" color : #ff0000 " >Wednesday 4th</span > February 2025
41+ - Software design, <span style =" color : #ff0000 " >Wednesday 3rd</span > December 2024
42+ - Testing and Continuous Integration, <span style =" color : #ff0000 " >Wednesday 18th</span > February 2025
43+ - Documentation, <span style =" color : #ff0000 " >Wednesday 4th</span > March 2025
44+ - Reproducible computational environments, <span style =" color : #ff0000 " >Wednesday 18th</span > March 2025
45+ - Packaging, <span style =" color : #ff0000 " >Wednesday 1st</span > April 2025
46+ - Publishing a software paper in JOSS, <span style =" color : #ff0000 " >Wednesday 16th</span > April 2025
47+
48+ ### Better software for better research: Introduction to the FAIR training programme
49+
50+ Wednesday 22nd October 2025, 2pm, online
51+
52+ In this introductory session we will try to understand what the FAIR principles
53+ are and why they have emerged. We will then introduce some actions on how to
54+ apply them to software and present a global review of the training programme.
55+
56+ ### Software lifecycle planning
57+
58+ <span style =" color : #ff0000 " >Wednesday 5th</span > November 2025
59+
60+ When you start writing software it is often very useful to think about the
61+ development process and how you will make your software sustainable in the long
62+ term. In this module we will introduce important aspects of software development
63+ in research: software lifecyle, management plan, licences and
64+ dissemination. This module should allow you to ask yourself the right questions
65+ when starting a research software project.
66+
67+ ### Version control
68+ The version control module has two distinct training sessions: one for beginners and one for more advanced users.
69+
70+ #### Introduction to Git and GitHub
71+
72+ <span style =" color : #ff0000 " >Wednesday 19th</span > November 2025, 2pm, hands-on
73+ in-person<br >
74+ Repeated <span style =" color : #ff0000 " >Wednesday 21th</span > January 2026, 2pm, hands-on
75+ in-person
76+
77+ If you’ve never heard of or used version control and Git before this is the
78+ course for you. We start by introducing version control and exploring how it can
79+ be beneficial to researchers, then we introduce some useful tools and get
80+ started with some basic workflow using these tools. We build on those
81+ foundations with collaborative exercises that introduce key concepts such as
82+ forks, pull requests and branches and give you the chance to get some hands-on
83+ experience with using version control in a research setting.
84+
85+ #### Git collaboration
86+ This course aims to help you develop a deeper understanding of how Git works to
87+ facilitate collaboration. It builds on the foundations laid by the Git beginners
88+ course. The core idea around the course is that by improving your understanding
89+ of working with branches and how to make your commits tidier and neater it makes
90+ it easier to understand pull requests and Git history which in turn makes it
91+ easier to collaborate and work on code with others (including your future
92+ self!).
93+
94+
95+ ### Software design
96+ <span style =" color : #ff0000 " >Wednesday 3rd</span > December 2024, in person.
97+
98+ The way you write your code will have a massive impact on how easy it is to
99+ maintain. During this course we will learn how to create maintainable, readable
100+ and reusable code. Using examples and exercises, we will see that creating high
101+ quality code is actually quite straightforward when you understand how to do it
102+ and what tools are available to make your life easier.
103+
104+ ### Testing and Continuous Integration
105+ <span style =" color : #ff0000 " >Wednesday 18th</span > February 2025, in person.
106+
107+ This course aims to equip researchers with the skills to write effective tests
108+ and ensure the quality and reliability of their research software. No prior
109+ testing experience is required! We’ll guide you through the fundamentals of
110+ software testing using Python’s Pytest framework, a powerful and
111+ beginner-friendly tool. You’ll also learn how to integrate automated testing
112+ into your development workflow using continuous integration (CI). CI streamlines
113+ your process by automatically running tests with every code change, catching
114+ bugs early and saving you time.
115+
116+ ### Documentation
117+ <span style =" color : #ff0000 " >Wednesday 4th</span > March 2025, in person.
118+
119+ Well-documented software promotes reproducibility, maintainability, and
120+ increased research impact through wider adoption and citation. This course
121+ teaches researchers how to document their software effectively, making it
122+ accessible and understandable to others. It covers topics such as writing
123+ readable code and usage instructions.
124+
125+ ### Reproducible computational environments
126+ <span style =" color : #ff0000 " >Wednesday 18th</span > March 2025, in person.
127+
128+ Ensuring that others are able to take your code, run it, and are able to produce
129+ the same (or equivalent) results is one of the key tenets of FAIR and
130+ reproducible research software. This course will provide you with an overview of
131+ different ways to make your code reproducible and then focus on virtual
132+ environments as a specific tool for computational reproducibility.
133+
134+ ### Packaging
135+ <span style =" color : #ff0000 " >Wednesday 1st</span > April 2025, in person.
136+
137+ Packaging your software is one of the important steps in a software project to
138+ make it both findable and accessible. This course will provide you with an
139+ understanding of why and when packaging is useful, what different standards
140+ exist to package Python and R projects and take you through each step of the
141+ packaging process.
142+
143+ ### Publishing a software paper in JOSS
144+ <span style =" color : #ff0000 " >Wednesday 16th</span > April 2025, hybrid.
145+
146+ Did you know that you can actually publish a paper about your software? This is
147+ an ideal way to get recognition (and citation) for the software you have spent
148+ countless hours creating. In this course we will walk you through an example of
149+ submission in the Journal of Open Source Software. We will make an example
150+ software submission to the journal, and thanks to the collaboration of the
151+ Editor in Chief of JOSS (Arfon Smith), we will look at how the review process is
152+ done.
153+
154+ ## Prerequisites
155+ Each session will have some individual prerequisites. Some experience with
156+ developing research software or scripts, for example in Python or R, might be
157+ needed. Please refer to the individual course details to know what they are.
158+
159+ ## Learning outcomes
160+ After completing this modular programme, participants should be able to:
161+
162+ - Understand the FAIR principles and describe how they apply to research software
163+ - Explain how applying FAIR principles to research software can support open research goals such as transparency, reproducibility and reusability
164+ - Identify actions that can be taken at different stages of the research lifecycle to enhance the FAIRness of their research software outputs
165+ - Develop a plan addressing the intended scope, impact and lifespan of their research software
166+ - Describe different types of software licence and discuss their potential implications for reuse of research software, including commercialisation
167+ - Apply best practices for scientific software development including design, version control, testing, continuous integration and documentation
168+ - Associate their research software with a unique and persistent identifier and use metadata to enhance its findability, accessibility and reusability
169+ - Identify repositories that provide long-term persistent storage for research software
170+ - Apply approaches such as packaging and containers to enhance the reusability and reproducibility of research software.
171+
172+ # Code Clinic
173+
174+ We also offer a service where you can discuss problems / ideas / anything around
175+ the topic of research software. We have a bunch of experts in a wide variety of
176+ technical subjects and research disciplines. We are currently refactoring how we
177+ run this service, and will announce details shortly!
178+
179+ # Contact us
28180
29181There's a few ways you can get in contact with us:
30182
@@ -41,7 +193,28 @@ Finally, we have a [Google Calendar][3] that contains information about our even
41193
42194<iframe src =" https://calendar.google.com/calendar/embed?src=c_rupc0j42t327dofm923n1p3abo%40group.calendar.google.com&ctz=Europe%2FLondon&showTitle=0&showDate=0&showPrint=0&showCalendars=0&mode=AGENDA " style =" border : 0 " width =" 800 " height =" 600 " frameborder =" 0 " scrolling =" no " ></iframe >
43195
196+ <p xmlns:cc =" http://creativecommons.org/ns# " xmlns:dct =" http://purl.org/dc/terms/ " >
197+ All content (excluding logos or where explicitly stated) licensed under the
198+ <a href="http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1 "
199+ target="_ blank"
200+ rel="license noopener noreferrer"
201+ style="display: inline-block ;"
202+ class="sm-a">
203+ CC BY-SA 4.0
204+ <img style="height:22px!important;margin-left:3px;vertical-align: text-bottom ;"
205+ src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1 "
206+ alt="Creative Commons Logo CC">
207+ <img style="height:22px!important;margin-left:3px;vertical-align: text-bottom ;"
208+ src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1 "
209+ alt="Creative Commons Logo Person">
210+ <img style="height:22px!important;margin-left:3px;vertical-align: text-bottom ;"
211+ src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1 " alt="Creative Commons Logo Backwards C"></a >
212+ license. Some material taken from [ FAIR²4RS] [ fair24rs ] under CC-BY-SA 4.0.
213+ </p >
214+
44215[ 1 ] : https://groups.google.com/a/york.ac.uk/forum/?hl=en-GB#!forum/research-coding-club-group/join
45216[ 2 ] : https://uoy.slack.com/archives/C015ZG0CVBL
46217[ 3 ] : https://calendar.google.com/calendar/u/0?cid=Y19ydXBjMGo0MnQzMjdkb2ZtOTIzbjFwM2Fib0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t
47218[ 4 ] : mailto:research-coding-club-group+managers@york.ac.uk
219+ [ fair ] : https://doi.org/10.1038/sdata.2016.18
220+ [ fair24rs ] : https://rse.sheffield.ac.uk/training/fair4rs/
0 commit comments