https://github.com/coderefinery/research-software-engineering

"CodeRefinery in 1 hour" - What are good tools and practices in research software engineering?

https://github.com/coderefinery/research-software-engineering

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

"CodeRefinery in 1 hour" - What are good tools and practices in research software engineering?

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Created almost 3 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

DOI

Research software engineering ("CodeRefinery in 1 hour")

"CodeRefinery in 1 hour" - What are good tools and practices in research software engineering?


Overview

  • What is "research software"?
  • CodeRefinery
  • 6 most important topics? (in the HPC context)
  • Exercises (separate webpage)

Version control

  • Motivation for version control
  • Commits: keeping track of changes
  • Features: roll-back, branching, merging, collaboration
  • Reproducibility
  • Talking about code
  • Collaboration through branches or forks
  • Code review
  • Where to start?

Documentation

  • Why?
  • Checklist
  • In-code documentation
  • Often a README is enough
  • When projects grow out of a README

Reproducibility and containers

  • 6 helpful steps
  • It all starts with a good directory structure ...
  • Recording dependencies
  • Containers
  • Recording computational steps

Building code with CMake

  • Why is Make not enough?
  • CMake is not a build system
  • How do CMakeLists.txt files look?
  • Why CMake?

Automated testing

  • Technical possibilities
  • Motivation
  • Where to start

Sharing and reusing

  • Why software licenses matter
  • When should I add a license?
  • Is your work derivative work or not?
  • How do I add a license to my work?
  • Make it persistent and citable
  • Great resources

Owner

  • Name: coderefinery
  • Login: coderefinery
  • Kind: organization
  • Email: support@coderefinery.com

GitHub Events

Total
  • Release event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Create event: 1