Version control & Collaborative development for Research Software
Course Description
This workshop introduces version control using Git and provides a practical approach to applying collaborative development to research software projects. It provides beginners and basic users of Git with a comprehensive overview of Git commands and how to use them to manage collaborative software projects.
Beginners may experience a fast pace in how the content is delivered and will be required to keep up with it to reach a desired intermediate level. Participants with some experience with Git may find the first part of the course somewhat slow, but it may serve as a reminder of the basics of Git.
By the end of the course, all participants will be able to use Git for version control and apply good practices for collaborative software development, including the use of code repositories such as GitHub and GitLab.
Target Audience
This workshop is open to TU Delft PhD candidates, researchers and research support staff with no or little knowledge of versioning control with Git and collaborative software development, but who expect to develop and maintain source code of research software.
Learning Objectives
After this course, learners are able to:
- Apply Git operations to track, reverse and delete changes in working documents.
- Apply Git operations to create and merge branches in a local Git repository.
- Understand the principles of managing research software projects.
- Organise a software development team to implement a centralised and shared collaborative workflow.
- Understand the importance of contribution guidelines and best practices to manage collaboration in research software projects.
Course setup
This is a hands-on workshop. Through lessons 1 and 2, participants will learn through practical exercises individually, and in lessons 3 and 4, participants will team up to engage in exercises related to collaborative development.
The activities and exercises during the workshop are designed to gradually build self-reliance on the part of participants. Therefore, content and exercises are designed so that participants work gradually more independently from instructors, and plan and execute solutions by themselves.
The total workload of the course is approximately 18 hours (including preparation for the workshop and installation of software) equivalent to 1.5 GS credits in the Research Skills category of the GS Education program.
Course Programme
The workshop consists of four modules:
- Module 1: Fundamentals operations with Git: introduction to version control, tracking changes, and the tracking history (4h)
- Module 2: Branching and remote operations: using branches, and remote repositories (4h)
- Module 3: Collaborative software development: collaborative development, platforms, and workflows (4h)
- Module 4: Managing collaboration and best practices: organising development teams, code reviews and open-source good practices (4h)
Prerequisites
Participants should be able to use the command-line interface (CLI) with the Unix Shell, or be willing to learn using it at a basic level before the workshop. Specifically, participants should be able:
- to navigate and visualise content of directories (folders)
- to create, copy, move and delete files and directories
- to edit files with terminal-based text editors, such as nano, vim, emacs, etc.
- to visualise hidden files and directories
- to redirect and append a command output to a file
Participants with no experience with CLI are required to complete one of the following crash courses before the workshop:
- Shell novice lessons 1 - 3 from the Software Carpentry:
- Linux shell crash course by Aalto University:
Participants with no experience with terminal-based text editors, please make sure you can use nano, which is the editor instructors will use.
Registration
Registration
Upcoming Version Control and Collaborative Development for Research Software workshop: Monday 7 October until Thursday 10 October 2024 at 13:00 - 17:15 hrs each day; Location: TU Delft Library - Orange room. To register please use the following link.
Next training session
About this course
- GS credits: 1.5
- Total workload: 18
- Format: Face-to-face; live coding
- Runs per academic year: 1
Questions?
If you have any questions about the workshops, please contact: RDMtraining-lib@tudelft.nl