Software Carpentry

Software Carpentry offers free, hands-on workshops that cover the core computational research skills needed to be productive as an individual scientist or in small research teams. No previous experience is needed and each workshop is taught by experienced researchers who use these tools in their own work. Participants will learn how to automate tasks using the Unix shell, will be introduced to a structured programming language like Python or R, and will gain experience using Git and Github for version control.

Upcoming Workshops (Fall 2022)

The Fall 2022 Software Carpentry workshops are all currently sold out! Please see the workshops offered by our campus partners below for related campus opportunities. If you are on a waiting list for a workshop, we will email you if we're able to offer any other workshops later in the semester.

No previous programming experience is required to attend, though if you are brand new to programming we highly recommend attending the Unix Shell online workshop before attending the Databases & SQL, Git, Python, or R workshops below. 

The Unix Shell (online) - Sold out
Monday, Sept 12, 2022. 1:00 - 4:00 p.m. 
Learn the basics of file systems and the Unix shell. The shell is a tool that allows you to do complex things with just a few keystrokes. More importantly, it helps you to combine existing programs in new ways and automate repetitive tasks. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources (including “high-performance computing” supercomputers). These lessons will start you on a path towards using these resources effectively. (View curriculum)

Databases and SQL (in-person) - Sold out
Monday and Wednesday, Sept. 19 and 21, 2022. 10:00 a.m. - 12:30 p.m.
Walter Library, Room 575 (Scientific Development and Visualization Lab, MSI; 5th floor East Bank) 

This session focuses on using databases and SQL for search and analysis of large or complex data sets. Learn to write queries in SQL, which stands for “Structured Query Language”. SQL provides hundreds of different ways to analyze and recombine data. We will only look at a handful of queries, but that handful accounts for most of what scientists do. (View curriculum)

Version control with Git (in-person) - Sold out
Tuesday, Sept. 27, 2022. 1:00 - 4:00 p.m. 
Walter Library, Room 575 (Scientific Development and Visualization Lab, MSI; 5th floor East Bank) 

This lesson introduces version control with Git, which provides researchers with a tool they can use to keep track of what they’ve done and collaborate with other people. Every large software development project relies on version control, and most programmers use it for small jobs as well. And it isn’t just for software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system. (View curriculum)

Plotting and programming in Python (in-person) - Sold out
Wednesday, Thursday, and Friday, Sept 28 - 30, 2022. 1:00 - 3:30 p.m.
Phillips-Wangensteen Building, Room 5-130 (Health Sciences Library, Data Visualization Lab; 5th floor, East Bank)

This multipart workshop provides an introduction to programming in Python for people with little or no previous programming experience. Attendees will learn about Python fundamentals such as variables, functions, lists, conditionals, and use the Pandas and matplotlib libraries to work with and plot tabular data. (View curriculum)

R for Reproducible Scientific Analysis (online) - Sold out
Tuesday, Wednesday, and Thursday Oct. 4 - 6, 2022. 1:00 - 4:00 p.m.
This workshop series will introduce modular code and best practices for using R for data analysis. R is commonly used in many scientific disciplines for statistical analysis and its array of third-party packages. These workshops provide a strong foundation in the fundamentals of R, and introduce reading and manipulating data in data frames, creating data plots in ggplot2, and more. (View curriculum)

Introduction to LaTeX (in-person) - ** Date change: Now Nov 7 ** Sold out
NEW DATE: Monday, Nov 7 2022. 1:00 - 2:30 p.m.
Walter Library, Room 575 (Scientific Development and Visualization Lab, MSI; 5th floor East Bank) 

This short workshop will cover formatting fundamentals for LaTeX, a typesetting system commonly used in scientific publishing. The workshop will utilize Overleaf (free public accounts) to introduce formatting for scientific publication, tables, figures, BibTeX for citations, and using publisher templates.

Partner workshops

For other great Fall workshops check out DASH partner organizations: 

Instructor Opportunities (2022/23)

DASH is currently offering an opportunity for University Ph.D. students to become certified Software Carpentry instructors. 

Instructors will be trained via the Carpentries online program on evidence-based teaching practices combined with an introduction to lesson materials. Instructors also have access to mentorship and support from the international Carpentries Community. This is a great professional development opportunity for anyone looking to level-up their teaching skills and become a more effective technical communicator.

To become an instructor one should meet the following criteria:

  • A current Ph.D. student at the University of Minnesota, Twin Cities. Ideally in the first three years of their program.
  • Experience using at least one Software, Data, or Library Carpentry tool in their work or research: Python, R, the Unix Shell, Git, OpenRefine, and/or SQL. 
  • Willingness to attend a two-day online instructor training workshop and to follow up on the certification process, which requires a few extra hours after the training. Dates of training workshops are added to on a rolling basis.
  • Willingness to attend a 2022/23 workshop as a helper or observer.
  • Willingness to co-teach or help with about one workshop a year after the certification process is completed while still at the University.
  • A commitment to support the nine core values of the Carpentries.

To apply to be a Software Carpentry instructor, please fill out this form. We will begin to review applications on Monday, September 12 and will continue until positions are filled. If you have any questions about the program, please feel free to reach out to Cody Hennesy ([email protected]), the campus Carpentries coordinator and Journalism Librarian. 

Automating tasks using the Unix shell

• Structured programming in Python, R, or MATLAB

• Version control using Git or Mercurial

• Enables computational research that couldn’t be done otherwise

• Improves reproducibility and rigor by automating repetitive tasks and allowing sharing and auditing of data collection, processing, and analysis scripts

• Helps improve the quality of shared research data and code

• Graduate Students

• Faculty

• Staff who do research