PRC. Banner for Tools That Help You Write Better Code

Tools That Help You Write Better Code

by

Training/Workshop Programming Languages Research & Data Analysis

Fri, Jan 16, 2026

1 PM – 2:30 PM EST (GMT-5)

Private Location (sign in to display)

53
Registered

Registration

Details

In this workshop, we will investigate a variety of tools to ensure a software project is kept readable, clean, up to date, and as close to bug and warning free as possible. We will primarily focus on Python tooling, though much of what we cover will be applicable to other languages as well. We’ll cover testing, coverage, and especially static checks, which can give you some assurance over even untested code. We’ll look at some aspects of packaging as well.

Pre-Workshop Instructions: Most of the workshop will be demonstration. It is recommended to have the ability to run Python code and install packages on your latptop. This can be accomplished by (1) having a local installation of Python (e.g., Anaconda Python), or (2) using the Adroit cluster. For (1) see these directions. For (2) request an account on Adroit at least an hour before he workshop (VPN required if off-campus). Additional details for Adroit can be found in this guide.

More Software Engineering Training

Below is the full line-up of the Winter 2026 software engineering training by Research Computing:

Good Practices for Research Software Engineering on 1/12
Intro to Version Control with Git and GitHub on 1/12
Attaining vim Fluency: Edit as Fast as You Think on 1/13
Creating Reusable Python Code: From Notebooks to Scripts to Packages on 1/13
How to Package and Publish Your Python Code on 1/14
Gotcha! How to Write Software Tests to Improve Code Quality on 1/14
Debugging and Profiling Code in Python on 1/15
Continuous Integration and Continuous Delivery (CI/CD) with GitHub Workflows on 1/15
Tools That Help You Write Better Code on 1/16
Introduction to Software Reverse Engineering with Ghidra on 1/16

More Training Workshops

See the entire Research Computing Winter 2026 training program.

Speakers

Henry Schreiner's profile photo

Henry Schreiner

Princeton University

Henry Schreiner is a Computational Physicist / Research Software Engineer in High Energy Physics. He received his Ph.D. in experimental high-energy physics from the University of Texas at Austin. Henry is working on a three year project to develop simpler compiled packages for Python using Scikit-build. He is also an admin of Scikit-HEP, and also the lead web developer for IRIS-HEP and Scikit-HEP. Henry is also a maintainer/core developer for pypa/build, scikit-build, cibuildwheel, pybind11, and Plumbum for Python, and primary author of CLI11 for C++. He is also the author of a variety of CMake, GPU, and Python training courses and classes. He is also currently co-teaching APC 524.

Hosted By

Research Computing | View More Events
Co-hosted with: GradFUTURES