Codebender

start where you are · use what you have · help who you can

Prepared

Managing Research Software Projects

On beyond software.

Last taught November 2021.

SQL

Databases and SQL for research programmers.

Last taught May 2025.

Organizational Change

Organizational change for researchers.

To be taught October 2025.

In Development

Research Software Design

Software design for self-taught research programmers.

In development.

Web Programming

Front- and back-end programming for research programmers.

In development.

Systems Programming

Processes, file systems, permissions, and related topics.

In development.

At the End of the Day

How to hand projects over in an orderly fashion or wind them down.

In development.

Online Safety

Online safety for researchers and their projects in a complicated world.

In development.

Sex and Drugs and Guns and Code

Economics, politics, justice, and power for programmers.

In development.

Data Science for Software Engineers

Just what it says on the box.

In development.

Distributed Systems Design by Example

Just what it says on the box.

In development.

Productivity in Software Engineering

Just what it says on the box.

In development.

Building Tech Together

A student guide to software projects.

In development.

Books

Software Design by Example in Python

Software Design by Example in Python

Two dozen worked examples that teach software design by showing how to build the tools that programmers use every day using Python (2024).

Software Design by Example in JavaScript

Software Design by Example in JavaScript

Twenty worked examples that teach software design by showing how to build the tools that programmers use every day using JavaScript (2022).

Research Software Engineering with Python

Research Software Engineering with Python

A textbook on building research software and running research software projects (2021).

JavaScript for Data Science

JavaScript for Data Scientists

An introduction to JavaScript and web programming for data scientists (2020).

Teaching Tech Together

Teaching Tech Together

An introduction to evidence-based teaching for people with technical backgrounds (2019).

The Architecture of Open Source Applications

Architecture of Open Source Applications

A collection of essays describing the architectures of fifty open source projects (2011–12).