Research Software Engineering Summer workshop
A five-day summer workshop where you'll up-skill your knowledge in good software engineering skills applied on research.Event Information
Dates
- 2025-06-23 to 2025-06-27
Location
- London
Format
- in person
Open to
- All
Availability
- true
Organiser
-
ARC-Education
- Outline
-
Take your scripts to the next level!
Participate in this full week (5 day) programme to learn how to apply good software engineering practices in your research. It is run by UCL’s Centre for Advanced Research Computing (ARC).
This programme is designed for participants at any career stage that wishes to improve their technical skills towards creating software that is more readable, maintainable, and reproducible.
This summer workshop will cover:
- Advanced usage of version control systems;
- Interacting with Research data;
- Best-practice design techniques;
- How to test your programmes automatically;
- How to create packages, and
- How to accelerate your programmes.
In this workshop we will use Python but the skills learnt will be applicable to any programming language.
The course will take place in-person in a cluster room at UCL and the classes will have their own dedicated support by members of ARC, along with the lecturers, who will help to answer questions and resolve issues.
Though there may be computers that participants could use in the cluster room, it’s preferred that everyone brings their own laptops so they can take home what they’ve learnt. Setup instructions will be made available two weeks before the workshop. ARC will also provide drop-in online sessions to help with installation issues before the workshop.
Prior knowledge required
Participants need to be competent in at least one programming language, including concepts like variables, control flow, and functions. This could be through a formal course, a shorter workshop like Software Carpentry, or previous experiences.
They also need to be familiar with the basics of Git and GitHub.
Prior experience using foundational libraries of PyData and Scientific Python ecosystem is helpful.
ARC runs regular Software Carpentry workshops that covers the prior knowledge required needed for this summer workshop.
Objectives
By the end of the week, participants will be able to:
- Understand git branches and why they are useful, apply git techniques to find problems in history, and collaborate with others using GitHub flow.
- Distinguish between different file formats useful in research, judge which format is better for their purposes, and construct pipelines to load, analyse and write research data,
- Recognise good software development practices, select between different object oriented designs for different tasks, and implement refactoring safely.
- Describe different types of software tests, write positive and negative tests, and use automated testing techniques (property based and mutation testing).
- Construct python packages to ease sharing and installation, implement command line interfaces, and organise software documentation in a helpful way to your users.
- Understand different optimisation techniques, apply different tools to measure how efficient code runs, and use various tools that helps to accelerate code.
Location
The workshop will take place in a cluster room within UCL. Specific details of the course venue will be supplied after registration.
The nearest underground station is Euston Square and Godge Street. Kings Cross, Warren Street, and Russsell Square stations are all within easy walking distance.
- Timetable
-
23-27 of June 2025
Day Time Details Monday 9:30 Registration and welcome 10:00 Summer workshop day 1¹ 16:30 Reception? Tuesday 9:30 Summer workshop day 2¹ 17:00 Meet RSEs Wenesday 9:30 Summer workshop day 3¹ 18:00 Evening event (TBC) Thursday 9:30 Summer workshop day 4¹ 18:00 Evening dinner (TBC) Friday 9:30 Summer workshop day 5¹ 17:00 End ¹Each summer workshop day includes 4 sessions (1 hour 30 mins each). There will also be two 15 minute breaks (tea, coffee, fruit and biscuits included) and one hour for lunch (12.45pm - 1.45pm, lunch provided).
Note: The workshop will run from 9.30am on Monday until 5.00pm on Friday, but other aspects of the timetable are provisional and subject to change.
- Evening Social Events
-
The organised social activities below are free to all participants.
Monday: An evening reception, to welcome you and give you a chance to network with teaching staff and other participants. Drinks (alcoholic and non-alcoholic) and snacks will be provided.
Tuesday: A free evening to explore London.
Wednesday: Evening event (TBC)
Thursday: Evening dinner (TBC)
Note: all group social activities are included in the course fee and subject to change
- Accommodation
-
Participants are responsible for securing their own accommodation and this should be arranged before arrival and funded independently.
UCL student accommodation is available and accepts short-term bookings from external visitors:
- Frances Gardner house (£)
- Ian Baker house (£)
Alternatively, the following hotels are less than 10 minutes walk to the teaching venue:
- Morgan Hotel (££)
- Mentone Hotel (££)
- Holiday Inn (£££)
- Mercure Hotel (£££)
- Hilton DoubleTree (££££)
- Fees
-
Early Bird (book before 23/05/2025): £1,200 Standard (book after 23/05/2025): £1,500
This fee includes:
- A welcome pack
- Refreshments during breaks
- All lunches (from 12.45pm - 1.45pm)
- All social events as listed in the 'evening social events' tab above, including an evening excusrion to a ticketed event.
Cancellations {#cancellations .heading}
Please note that no refunds will be given for cancellations made within two weeks of the start date or for non-attendance. Cancellations must be received in writing at least two weeks before the start of the event and will be subject to an administration charge of 10% of the course fee. It is regretted that no refunds will be made within two weeks of the course date.
- Online / self-paced materials
-
Online materials are included so you can use to revise the topics covered in this summer workshop. These materials include the following:
- Full electronic notes
- All programming code.
- Interactive quizzes for each chapter, and opportunities to collaborate with other learners.
- Support will also be available through a forum, where you can ask questions related to the course materials.