Section 3 Skills Workshops

Short format workshops that run over one or more days can be a great way to bring people together to share skills. For workshops to be most impactful, it is important to use good quality lessons and have them taught by prepared instructors. The Carpentries supports and mentors a global community of instructors and lessons they can teach.

3.1 Software Carpentry

Overview of Software Carpentry workshops

3.1.1 Lessons

Software Carpentry aims to help people begin to think computationally about the work they do. It does this by introducing the shell for task automation, then by introducing a programming language such as R or Python, and then by bringing in version control systems such as Git to ensure that research work done can be easily retrieved, repeated, or adapted for other uses. Using these methods, learners can lay the foundation for performing open, reproducible research.

Software Carpentry maintains lessons in the Unix Shell, Git, R, Python, SQL, Make and Mercurial. Software Carpentry lessons focus on teaching tools in a discipline-agnostic way, in order to help researchers from all disciplines develop skill with the tools. Software Carpentry lessons aren’t meant to be exhaustive and comprehensive enumerations of all possible features of a particular tool. Instead the lessons seek to strike a balance of reducing cognitive load, while empowering the researcher to have a better understanding of how the tool could be applied in their workflow.

3.2 Data Carpentry

A Data Carpentry workshop teaches the core skills for working with data effectively and reproducibly.

When working with data, it’s often difficult to figure out what skills to learn or how to get started learning them. In Data Carpentry, we identify the fundamental skills needed in a given domain and develop and teach these skills in hands-on, two-day, interactive workshops. Workshops are currently designed for people with little to no prior computational experience and are domain-specific, so that researchers are working with data most relevant to their own work. They follow a narrative structure, working with one dataset through the whole data lifecycle from data and project organization to data analysis and visualization.

3.2.1 Lessons

Data Carpentry currently have curriculum in:

  • Ecology
  • Genomics
  • Geospatial data
  • Social sciences

3.3 Library Carpentry

Library Carpentry aims to help people in library and information roles develop software and data skills.

3.3.1 Lessons

Library Carpentry has nine lessons in the works, some more mature than others. New lessons are being drafted around FAIR principles and digital preservation.

Lesson Scope
Data intro for librarians An introduction to data structures, regular expressions, and computing terms
Unix Shell An introduction to command line interfaces and task automation using the Unix shell
OpenRefine An introduction to cleaning up and enhancing a dataset using OpenRefine
Git Intro for Librarians An introduction to version control using Git and GitHub for collaboration
SQL for Librarians An introduction to relational database management using the SQLite tool
Webscraping An introduction to extracting structured data from websites using a range of tools
Tidy data for librarians An introduction to good data organisation, which is the foundation of much of our day-to-day work in libraries
Introduction to Python An introduction to Python, a general purpose programming language
Data Intro for Archivists An introduction to data structures, regular expressions, and computing terms for archivists

3.4 Other Skills Workshops

The Programming Historian has a number of useful lessons on a range of tools and skills.

These lessons would be appplicable to anyone who wants to imrpove their digital skills - they have wider relevance beyond the fields of history and the humanities.