School of Scientific Computing & Informatics · Algorithms & software engineering

Research Software Engineering

Research code that others depend on needs the habits of professional software engineering. This course teaches those habits in a form that suits scientists: practical, proportionate and focused on correctness.

Dry labIntermediateUp to 4 weeks · 32 hours live · customisableCertificate with verification ID
A workflow as a directed acyclic graph, in nf-core process naming: every step is versioned, containerised and re-runnable.

Course overview

Research Software Engineering covers the practices that make scientific code trustworthy: modular design, automated tests (including tests for numerical tolerance), packaging, documentation, code review and semantic versioning.

You take an existing analysis script and turn it into a tested, documented, installable package with continuous integration, a licence and a citation file, ready to be archived with a DOI.

LevelIntermediate
DisciplineDry lab
DurationUp to 4 weeks · customisable
Guided hours32 h
FormatsLive online cohort · Self-paced online
Fee from₹4,499 + GST

Learning outcomes

By the end of the course you will be able to:

  1. Structure code into modules with clear interfaces
  2. Write unit, regression and property-based tests
  3. Package and publish Python or R libraries
  4. Document code for users and contributors
  5. Release, license and cite research software properly

Skills you will practise

Software designpytest and testthatPackagingDocumentationCode reviewLicensing and citation

Eligibility and prerequisites

Who can apply

  • Students and graduates in any science, engineering, pharmacy, medicine, agriculture, geography or computing programme (B.Sc., B.Tech., B.E., BCA, M.Sc., M.Tech., MCA, PhD)
  • Researchers, faculty and working professionals in research, healthcare, biotech, pharma or IT who want to apply computing to science
  • Final-year students may apply before their results are declared

Prerequisites

  • Programming in Python or R
  • Git basics

Best suited to

  • PhD students and postdocs who write code for their lab
  • Bioinformaticians maintaining shared tools
  • Developers joining scientific teams

Module-wise syllabus

6 modules. Each pairs instructor-led sessions with a hands-on lab on public data.

Topics

  • Functions, modules and interfaces
  • Separating I/O from computation
  • Refactoring safely
Lab 1Refactor a long analysis script into a small library with a command-line entry point.

Topics

  • Unit and regression tests
  • Numerical tolerances
  • Property-based testing
Lab 2Write a test suite that catches a deliberately introduced numerical bug.

Topics

  • pyproject.toml and R packages
  • Dependencies and versions
  • Publishing to PyPI or CRAN-like repositories
Lab 3Package the library and install it in a clean environment.

Topics

  • READMEs, docstrings and tutorials
  • Code review
  • Issue and contribution workflows
Lab 4Write user documentation and review a classmate’s pull request.

Topics

  • Semantic versioning and changelogs
  • Licences
  • CITATION.cff and Zenodo DOIs
Lab 5Prepare a versioned, licensed and citable release of the package.

Topics

  • Refactor
  • Test
  • Release
Lab 6Turn a real research script into released, tested and documented software.

Practical sessions and projects

Capstone project

Release your research software

Refactor, test, document and release a piece of real research code so that another lab can install, trust and cite it.

Assessed on the correctness of the analysis, the quality of the code and the reasoning in the write-up. A pass is required for the certificate.

  1. Designing research code

    Refactor a long analysis script into a small library with a command-line entry point.

  2. Testing scientific code

    Write a test suite that catches a deliberately introduced numerical bug.

  3. Packaging and distribution

    Package the library and install it in a clean environment.

  4. Documentation and collaboration

    Write user documentation and review a classmate’s pull request.

  5. Releasing research software

    Prepare a versioned, licensed and citable release of the package.

  6. Project: from script to software

    Turn a real research script into released, tested and documented software.

Software, tools and datasets

Software and tools

PythonRpytesthypothesistestthatSphinxpkgdownGitHubZenodo

All software is free and open source or free for academic use. Recommended computer: 8 GB RAM, 30 GB free disk, Linux, macOS or Windows with WSL2.

Datasets

  • Your own research code: Material to refactor and release.Your projects

Core reading

  • Wilson G et al. (2014). Best practices for scientific computing. PLOS Biology 12:e1001745.
  • Taschuk M, Wilson G (2017). Ten simple rules for making research software more robust. PLOS Computational Biology 13:e1005412.

Duration, format and fees

Flexible duration. Duration is customisable: take the standard schedule (4 weeks at most), an intensive 1–2 week schedule or weekends only. Colleges and teams can set their own timetable.
Next cohort
Dates are sent with your admission offer
Timetable
Three evening or weekend sessions a week (IST), plus a lab clinic; intensive and weekend-only schedules on request
Payment
Secure online payment link with your admission offer (UPI, cards, net banking). Instalments on request for fees above ₹15,000.

Instructor

The instructor for each cohort is named in your admission offer and on this page when the cohort is announced. Vedicgen instructors are selected for hands-on research or industry experience in the subject they teach, and every course is reviewed by a second subject expert.

Questions about who teaches a cohort? [email protected]

Certificate

Learners who complete the course and pass its capstone receive a Vedicgen certificate of completion for Research Software Engineering, issued by Vivofold, stating the guided hours and skills assessed. Each certificate has a unique ID and QR code that anyone can check.

Verify a certificate

Certificate of completionSample
Research Software EngineeringAwarded to the learner named on the certificate · 32 hours
ID · VG-XXXX-XXXXVivofold Vedicgen

Apply for Research Software Engineering

  1. Apply

    Send the form below. It takes about five minutes.

  2. Review

    An adviser confirms your fit and format within two working days.

  3. Offer

    You receive dates, timetable and a secure payment link.

  4. Onboard

    Set-up guide, pre-reading and joining links.

About you

Education

Programme

Your goalsA few lines help us advise you well.

0/40+ characters
Sent securely to [email protected]. Your details are used only to process this request.

Frequently asked questions

In the live cohort, modules are taught in instructor-led sessions with a weekly lab clinic where you work on real public data with help at hand; every session is recorded. The self-paced format uses the same lessons, labs and datasets with mentor review of your capstone. Both formats end with an assessed project reviewed for the code and the science.

A laptop with at least 8 GB of RAM and about 30 GB of free disk space, running Linux, macOS, or Windows with WSL2. Installation instructions are sent before the first session, and lab clinics help with any set-up problems.

Yes. Learners who complete the course and pass its assessment receive a Vedicgen certificate of completion, issued by Vivofold. Every certificate carries a unique ID and a QR code that anyone, including an employer or admissions office, can check on the certificate verification page.

Apply with the form on this page. Live and in-person cohorts run through the year; the dates, timetable and joining details of the next cohort are sent with your admission offer and listed on this page once announced. Self-paced enrolment opens as soon as your application is accepted.

Yes. No course runs longer than four weeks, and the length is customisable: choose the standard schedule, an intensive one- to two-week schedule, weekends only, or a custom timetable. Pick your preference on the application form; colleges and teams can book their own dates.