Convener: Rebecca Lange
Presenters: Dr Rebecca Lange1, Mark Gray2, Brian Skjerven2
1Curtin Institute for Computation, Curtin University, Perth, Australia, firstname.lastname@example.org
2Pawsey Supercomputing Center, Perth, Australia, email@example.com
3Pawsey Supercomputing Center, Perth, Australia, firstname.lastname@example.org
- Workshop Length: 1 day
- Hands-on component: Yes, we are aiming for half of the workshop being hands-on
- Attendees: less than 40
The Internet has made it easy for researchers to collaborate across universities using tools such as emails, instant messaging and videoconferencing. However, these tools do not encourage transparency and reproducibility of research. For example, what would happen if you forget to put someone on your email chain and how do you reconcile different code snippets that various team members have worked on?
In this workshop we will first have a look at the modern scientific landscape in which code plays an increasingly important role in obtaining and reproducing research results.
We then move on to a hands-on introduction to version control (with Git and GitHub) and “containerising” with Docker. Finally, we will conclude the workshop with a session on using version control and Docker in practice for a collaborative and migrateable workflow.
1. Welcome, introductions and workshop outline.
The Importance of software in research and academia. 60 minutes
2. Introduction to version control with Git and Github – Part I. 30 minutes
- What is version control
- Setting up git
- Creating your first repository
3. Break – 30 minutes
4. Introduction to version control with Git and Github – Part II. 90 minutes
- Tracking changes
- Exploring the repo history
- Remote repositories on Github
5. Lunch Break – 60 minutes
6. Introduction to containers using Docker and Dockerhub. 60 minutes
- What is Docker
- Creating a Docker container
- Running a Docker container
- Containers on Dockerhub
7. Break – 30 minutes
8. A collaborative (software/coding) workflow in practice. 120 minutes
- Working collaboratively on Github
- Managing containers and dockerfiles with Git
- Managing your workflows using containers
- Where to next? Pointers to further reading and learning
WHO SHOULD ATTEND
This workshop is aimed at academics/researchers who regularly write and work with software, code and scripts either on their own or in a team and would like to know:
- how to better track their changes,
- how to make sharing of code and software easier, and
- how to track issues and work collaboratively on code and software development
WHAT TO BRING
Attendees will need to bring their own laptop with some software pre-installed.
It would be beneficial if participants have used a bash terminal (or similar) before.
We will provide information on what to install and how to install closer to the time.
Rebecca Lange received her PhD in astronomy from the International Centre for Radio Astronomy Research at the University of Western Australia.
Before Rebecca moved to Australia she studied Astronomy and Physics at Nottingham Trent University where she also worked as a research assistant in scientific imaging for art conservation and archaeology. Her work there included the development and testing of instruments and software for imaging and spectroscopy as well as the organisation and supervision of field trips, which often required liaising with art curators and conservators.
Throughout her studies and research Rebecca has gained extensive programming as well as data analytics and visualisation experience in various programming languages.
Currently she is working as a data scientist for the Curtin Institute for Computation where she helps researchers by providing data analytics and computational support and training.