Software Carpentry @ ZB MED and de.NBI ONLINE

September 06 - September 07 2021

9:00 - 16:00

Instructors: Rabea Müller, Till Sauerwein, Konrad Förstner

Helpers: TBA

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.

General Information

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: ONLINE. Get directions with OpenStreetMap or Google Maps.

When: September 06 - September 07 2021. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email muellerr@zbmed.de for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

ZB MED

deNBI


Code of Conduct

Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.


Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Surveys

Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey

Post-workshop Survey


Schedule

Day 1

09:00 Data Intro + Shell Lesson
10:30 Morning break
12:00 Lunch break
13:00 Shell Lessons + Python Lesson
14:15 Afternoon break
15:30 Wrap-up
16:00 END

Day 2

09:00 Python Lesson
10:30 Morning break
12:00 Lunch break
13:00 Git Lesson
14:15 Afternoon break
15:30 Wrap-up
16:00 END

Syllabus

Introduction to Data

  • Intro to data
  • Jargon busting
  • Keyboard shortcuts
  • Plain text formats
  • Naming files
  • Regular expressions
  • Reference...

The Unix Shell

  • Files and directories
  • History and tab completion
  • Counting and sorting contents in files
  • Pipes and redirection
  • Mining or searching in files
  • Reference...

Version Control with Git

  • Creating a repository
  • Configuring git
  • Recording changes to files: add, commit, ...
  • Viewing state changes with status
  • Working on the web: clone, pull, push, ...
  • Where to host work, and why
  • Reference...

Programming in Python

  • Using libraries
  • Working with arrays
  • Reading and plotting data
  • Creating and using functions
  • Loops and conditionals
  • Defensive programming
  • Using Python from the command line
  • Reference...

Setup

To participate in a Software Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly. Please find setup instructions in the lesson.

Python

Python is a popular language for research computing, and great for general-purpose programming as well. Please find instructions in the lesson.

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on https://github.com.

Follow the instructions on the lesson to install Git on your system.

You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub. You will need a supported web browser.