Date: 19 - 28 September 2023

Timezone: Amsterdam

Schedule

Detected timezone offset compared to UTC: +01:00

Breaks: 10 minutes every hour, between xx:50 and xx:10, but it is difficult for us to indicate exactly when.

Installation help and on-boarding
Tue (Sep 12) , 11:30 - 12:30 On-boarding for team leaders leading groups over video
Tue (Sep 12) , 13:00 - 14:00 On-boarding for team leaders leading in-person teams
Tue (Sep 12) , 14:30 - 16:00 Installation help for everybody

Installation help and on-boarding (you don't need to attend both days, choose the day that is better for you)
Wed (Sep 13) , 11:30 - 12:30 On-boarding for team leaders leading groups over video
Wed (Sep 13) , 13:00 - 14:00 On-boarding for team leaders leading in-person teams
Wed (Sep 13) , 14:30 - 16:00 Installation help for everybody

Day 1
Tue (Sep 19) , 09:00 - 09:20 Welcome and introduction (TBA)
Tue (Sep 19) , 09:20 - 11:00 Introduction to version control - part 1/4 (TBA)
Tue (Sep 19) , 12:00 - 13:30 Introduction to version control - part 2/4 (TBA)

Day 2
Wed (Sep 20) , 09:00 - 11:00 Introduction to version control - part 3/4 (TBA)
Wed (Sep 20) , 12:00 - 13:30 Introduction to version control - part 4/4 (TBA)

Day 3
Thu (Sep 21) , 09:00 - 11:00 Collaborative distributed version control - part 1/2 (TBA)
Thu (Sep 21) , 12:00 - 13:30 Collaborative distributed version control - part 2/2 (TBA)

Day 4
Tue (Sep 26) , 09:00 - 11:00 Reproducible research and FAIR data (TBA)
Tue (Sep 26) , 12:00 - 13:30 Social coding and open software (TBA)

Day 5
Wed (Sep 27) , 09:00 - 11:00 Documentation (TBA)
Wed (Sep 27) , 12:00 - 13:30 Jupyter (TBA)

Day 6
Thu (Sep 28) , 09:00 - 11:00 Software testing (TBA)
Thu (Sep 28) , 12:00 - 13:30 Modular code development (TBA)
Thu (Sep 28) , 13:30 - 14:00 Concluding remarks and where to go from here (TBA)

Keywords: Version control, Reproducible Research, Social coding, Documentation, Jupyter notebook, Automated testing, Modular code development

Learning objectives:

Introduction to version control (day 1-2): This lesson brings you from zero to using Git and GitHub for own projects.

Collaborative distributed version control (day 3): This lesson builds on "Introduction to version control" and we apply branching and learn about pull requests (merge requests), forks, and collaboration using Git and GitHub.

Reproducible research (day 4): We focus here on 3 aspects of reproducible programs and computations: documenting dependencies, environments, and computational steps in a reproducible way. We touch on containers.

Social coding and open software (day 4): We motivate and give an overview over software and data licensing and software citation best practices.

Documentation (day 5): Here we give an overview of the different ways how a code project can be documented: from small projects to larger projects. Markdown and Sphinx are central tools in this lesson.

Jupyter notebooks (day 5): This lesson gives an overview of what Jupyter notebooks are, when they can be particularly useful, and shows best practices for reusable and reproducible notebooks.

Automated testing (day 6): In this lesson we talk about motivation for testing, about test design, but also about some tools that are typically used for automated testing of software.

Modular code development type-along (day 6): The focus of this lesson is how to partition and organize projects as they grow from one screen-full to larger and how to make code portions reusable across projects and across notebooks.

Host institutions: Aalto University (Aalto Scientific Computing, ASC), CSC - IT Center for Science, Center for Humanities Computing, Danish e-Infrastructure Cooperation, logo: EuroCC National Competence Center Sweden (ENCCS) EuroCC National Competence Center Sweden (ENCCS), National Academic Infrastructure for Super­computing in Sweden (NAISS), NRIS/Sigma2

Target audience: every computational scientist (even those with very small amounts of computation)

Event types:

  • Workshops and courses

Cost basis: Free to all

Sponsors: Nordic e-Infrastructure Collaboration (NeIC)


Activity log