Collaborative Software Development

Course ID DSCI 524
Campus UBC Vancouver
Semester Winter
Course Block 4
Course Description Advanced practices and tooling foundational to professional, trustworthy, and scalable data science software. Students create packages in both R and Python using collaborative Git + GitHub workflows (e.g., branching with git flow). The course covers building and testing robust code via unit testing (e.g., testthat, pytest), ensuring code quality with code coverage metrics, and implementing continuous integration and continuous deployment (CI/CD) workflows (including GitHub Actions with matrix configurations). Students will also learn to package and document their software, set up reproducible environments using conda, renv, Docker, and automate deployment pipelines for data science.