Maintaining & Sustaining Software Intermediate 17h 15m

Intermediate Research Software Development

This course 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 using Python as an example programming language (see detailed learning objectives below).

Learning outcomes

  • Apply intermediate software development skills to research projects using Python
  • Demonstrate collaborative development practices in research environments
  • Implement testing, documentation, and version control for research software
  • Design reliable and maintainable research software following best practices
  • Recognize the importance of code quality and sustainability in research

Prerequisites

Git, Python

Cite this lesson

Metadata from CITATION.cff.

APA

Nenadic, A., Crouch, S., Kiley, T., Silva, R., Michonneau, F., Belkin, M., Graham, J., Wilson, G., Bluteau, M., Hodges, T., Kamvar, Z., Burg, S., Cabunoc Mayes, A., Robinson, M., Mangham, S., Laird, J., Stevens, S., Leinweber, K., Becker, E., Rodrigues, J., Lowe, D., Goel, A., Graham, M. M., Gopinathan, D., Camphuijsen, J., Crocioni, G., Close, W., Löffler, F., Rijn, S., Saunders, H., Field, M., Gadgil, S., Zarębski, K., Collie, K., Neep, T., Alves, R., Katz, D., Reeve, J., Murphy, G., Sverchkov, Y., Hartley, S., Konovalov, O., Guyer, J. (2026). Intermediate Research Software Development Skills (Python). (Version beta-May2026). UC OSPO Network. https://doi.org/10.5281/zenodo.6532056

BibTeX
@misc{intermediate_research_software_development_skills_python_lesson_material_2026,
  author    = {Nenadic, Aleksandra and Crouch, Steve and Kiley, Thomas and Silva, Raniere and Michonneau, François and Belkin, Maxim and Graham, James and Wilson, Greg and Bluteau, Matthew and Hodges, Toby and Kamvar, Zhian and Burg, Sven and Cabunoc Mayes, Abby and Robinson, Martin and Mangham, Sam and Laird, Jacalyn and Stevens, Sarah and Leinweber, Katrin and Becker, Erin and Rodrigues, João and Lowe, Douglas and Goel, Aman and Graham, Matthew M. and Gopinathan, Devaraj and Camphuijsen, Jaro and Crocioni, Giulia and Close, William and Löffler, Frank and Rijn, Sander and Saunders, Harry and Field, Matthew and Gadgil, Sanket and Zarębski, Kristian and Collie, Kingsley and Neep, Tom and Alves, Renato and Katz, Daniel and Reeve, Jen and Murphy, G.K. and Sverchkov, Yuriy and Hartley, S. and Konovalov, Olexandr and Guyer, Jonathan},
  title     = {Intermediate Research Software Development Skills (Python)},
  year      = {2026},
  publisher = {UC OSPO Network},
  url       = {https://doi.org/10.5281/zenodo.6532056},
  doi       = {10.5281/zenodo.6532056},
  version   = {beta-May2026}
}