Intermediate Research Software Development with Python

UW-Madison

Mar 24-27, 2025

9:00 am - 12:30 pm CST

Instructors: Ryan Bemowski, Chris Endemann, Andrew Maule, Robert Slater

Helpers: Ryan Bemowski, Chris Endemann, Andrew Maule, Robert Slater, Khine Thant Su

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

Overview

This lesson aims to teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment. Python is used as the example programming language. The skills taught are not an exhaustive list (see learning objectives below) but rather a selective and proven set of collaborative development techniques that provide a strong foundation for continued learning. Learners in this lesson will gain intermediate software engineering skills to design more robust, maintainable software, moving beyond simple scripts to code that considers the full software lifecycle, stakeholder needs, team collaboration, and structured development processes.

Learning Objectives

By the end of this course, participants will be able to:

Check the lesson website to preview the full schedule of topics.

Target Audience & Prerequisites

This lesson is for you if:

Participants should meet the following criteria. Take this short quiz to check your readiness:

Git
Python
Shell

General Information

Where: Orchard View Room, Discovery Building, 330 N Orchard St, Madison, WI 53715. Get directions with OpenStreetMap or Google Maps.

When: Mar 24-27, 2025; 9:00 am - 12:30 pm CST 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 committed to making this workshop accessible to everybody. The workshop organizers have checked that:

We are dedicated to providing a positive and accessible learning environment for all. We do not require participants to provide documentation of disabilities or disclose any unnecessary personal information. However, we do want to help create an inclusive, accessible experience for all participants. We encourage you to share any information that would be helpful to make your Carpentries experience accessible. To request an accommodation for this workshop, please fill out the accommodation request form. If you have questions or need assistance with the accommodation form please email us.

Glosario is a multilingual glossary for computing and data science terms. The glossary helps learners attend workshops and use our lessons to make sense of computational and programming jargon written in English by offering it in their native language. Translating data science terms also provides a teaching tool for Carpentries Instructors to reduce barriers for their learners.

Contact: Please email facilitator@datascience.wisc.edu for more information.

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


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

This workshop is teaching a lesson in The Carpentries Incubator. Please check the lesson homepage for a list of lesson sections and estimated timings.

Setup

To participate in a workshop, you will need access to software as 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.

Please check the "Setup" page of the lesson site for instructions to follow to obtain the software and data you will need to follow the lesson. Be sure to check your setup prior to the workshop — the earlier the better. If you need any assistance, please visit the Data Science Hub on Thursdays, 2:30-4:30pm. For appointments outside of Coding Meetup, please email facilitator@datascience.wisc.edu.