An applied course on using software engineering and computer science to solve scientific problems: abstraction, testing, collaboration, and building research code that another human can actually run.