Table of Contents
What is Software Carpentry?
Software Carpentry workshops are free, hands-on, two-day events 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 structured programming language like Python or R, and will gain experience using Git and Github for version control.
Upcoming Workshops
This spring, we will be holding five online, subject-specific Software Carpentry workshops on computational research tools and best practices. Additional Spring 2021 workshops will be posted here as scheduled. If you have specific questions about any of these topics and how to incorporate them into your digital scholarship, write us at dash@umn.edu or sign up for consultation with an expert through our monthly Programming & Pizza event.
Space is limited and priority will be given to University of Minnesota students, faculty and staff. Please only register for these workshops if you will actually be able to attend!
Programming with R
Monday, March 15; 9:30am – 12:00pm
Wednesday, March 17; 9:30am – 12:00pm
Friday, March 19; 9:30am – 12:00pm
The best way to learn how to program is to do something useful, so this three-day introduction to R is built around a common scientific task: data analysis. Our real goal isn’t to teach you R, but to teach you the basic concepts that all programming depends on. Learn how to read data into R, assign variables, use data frames, plot data, make functions, and more.
Databases and SQL
Tuesday, March 23; 10:00am-12:15pm
Thursday, March 25; 10:00am-12:15pm
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.
Version Control with Git
Monday, March 29; 1:00pm-4:00pm
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.
What is taught?
• Automating tasks using the Unix shell
• Structured programming in Python, R, or MATLAB
• Version control using Git or Mercurial
Why Software Carpentry?
• 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
Who is the Target Audience?
• Graduate Students
• Faculty
• Staff who do research
U of M Software Carpentry Instructors
• Elena Auer, PhD student, Psychology
• Caitlin Bakker, Health Sciences Librarian, University Libraries
• Nick Dunn, Scientific Computing Consultant, Minnesota Supercomputing Institute
• Shawn Golley, Developer, College of Science and Engineering – IT
• Cody Hennesy, Journalism & Digital Media Librarian, University Libraries
• Yectli Huerta, HPC System Administrator, Minnesota Supercomputing Institute
• Chaeochih Liu, PhD student, Plant & Microbial Biology
• Wanda Marsolek, Engineering Liason and Data Curation Librarian, University Libraries
• David Naughton, Developer, University Liobraries
• Jeff Shi, Scientific Computing Consultant, Minnesota Supercomputing Institute