Software Carpentry workshops
Course Description
Software Carpentry is a four half-day hands-on workshop, which focuses on helping researchers develop foundational computational skills to get started with programming. In this workshop, you also get introduced to best practices for working with code in a reproducible way.
A software carpentry workshop is your first step in learning computational and digital skills, which you will be able to use and apply in academic and non-academic settings in your future.
Target Audience
This workshop is useful for all PhD candidates and researchers with very little or no previous programming experience and would like to start learning digital and programming skills.
The software carpentry workshops are the perfect space to overcome the initial barriers when learning programming skills.
It is useful for those researchers interested in getting an overview and an introduction to relevant tools to start working with code and provide the necessary elements to follow more advanced courses.
Please notice that:
- If you already have programming skills and you are interested in learning versioning control with Git, please consider joining the ‘Version control & Collaborative development for Research Software’ or 'CodeRefinery' workshops instead. You find more information on this website: https://www.tudelft.nl/en/library/research-data-management/r/training-events/training-for-researchers
- If you already have programming skills and you are interested in learning the basics on command line and how to use it to run programs on the DelftBlue Supercomputer, please consider joining the workshops provided by the DCSE instead: https://www.tudelft.nl/cse/education/courses/linux-cli-101
Learning Objectives
After this course, learners:
- overcome the first barriers and get the basic knowledge to start learning computational skills
- recognise the basic syntax of Python programming language and identify best practice for writing code in Python
- employ basic Python scripts to get started on data analysis and visualisations
- get familiar with the command line and Unix shell, identify its use and employ it to perform basic tasks with data
- recognise the importance of version control and practise the basics steps of working with an own local and remote Git repository
Course setup
A Software Carpentry is a four half-day hands-on workshop (online or in person). In the class, short tutorials alternate with practical exercises, and all instruction is done via live coding.
In the class, you will type along with the instructor to learn all the commands by practising them. It is expected that you will actively participate in the exercises and discussions prepared by the instructor.
You will have the assistance of helpers in the room in case you get stuck with any scripting and/or you have technical problems.
Each session has a duration of 4.5 hours of class with breaks in between (app. every 1 - 1.5 hours).
The total workload of the course is approximately xx hours (indicate if there is any preparation time needed), equivalent to x GS credits in the Research Skills category of the GS Education program.
Course Programme
Workshop Day 1 - Programming with Python (Part 1)
- Introducing Python and Jupyter Notebooks
- Python Fundamentals and Analysing data
- Visualising Tabular Data
- Loops
- Analysing Data from Multiple Files
Workshop Day 2 - Programming with Python (Part 2)
- Making choices with IF statements and Functions
- Errors and Exceptions
- Defensive programming
- Debugging
- Modules and Command-Line Programs (if time allows)
Workshop Day 3 - The Unix shell
- Introduction to the Unix Shell
- Navigating Files and Directories and Working with Files and Directories
- Automating tasks with the Unix Shell
Workshop Day 4 - Introduction to Versioning Control with Git
- Version control with Git, Automated Version Control, Setting Up Git, Creating a Git repository and Tracking Changes
- Exploring History in the repository, Ignoring Things and creating a remote repository in GitHub
- Collaborating in GitHub and solving conflicts
Prerequisites
This workshop is useful for all PhD candidates and researchers with very little to no prior computational experience who are working with tabular data. This is a basic/introductory course.
You will need to allocate approximately 2 hours of preparatory work before the first class of the workshop in order to:
- fill in a pre-workshop survey to help the instructor to get an overview of the learners previous experience with programming and adjust content and pace accordingly (you will receive an email with the link to the survey).
- install the software and download the datasets that you will use during the workshop (you will receive an email with the detailed instructions before the workshop).
Registration
PhD candidates
The registration to the course for PhD candidates is via Coachview, the course registration application of the Graduate School Doctoral Education (GS DE) programme.
Non-PhD candidates
If you are a TU Delft researcher (non-PhD candidate) and you would like to participate in a software carpentry, we have reserved five places in each workshop for you!
Please sign up directly in the corresponding link of the workshop you would like to join.
Monday 11 until (incl.) Thursday 14 November 2024 - in person
- Time: 09:00 - 13:30 hrs each day
- Location: TU Delft Library - Orange room
Monday 28 April until (incl.) Thursday 1 May 2025 - in person
- 12:30 -17:00 hrs each day
- TU Delft Library – Orange room
Learning-on-the-job Opportunity
Those PhD candidates with skills in software programming and development can participate as assistants (helpers) in Software Carpentry workshops organised at TU Delft. Assistants can get up to 2 GS points as part of the learning-on-the-job activities (Teaching & Supervision).
PhD candidates that would like to be assistants need to get the agreement of their supervisor and contact Paula Martinez Lavanchy (RDS Training coordinator) via RDMtraining-lib@tudelft.nl
Next training session
About the course
- GS credits: 1.5
- Total workload: 20
- Format: In person/Live coding
- Runs per academic year: 2
Questions?
If you have any questions about the workshops, please contact: RDMtraining-lib@tudelft.nl