DSCI 521: Computing Platforms for Data Science
Student and assignment materials for UBC MDS’s DSCI 521: Computing Platforms for Data Science course.
Student Repo
How to install, maintain, and use the data scientific software “stack”. The Unix operating system, integrated development environments, and problem solving strategies.
Slack Channel: Your cohort’s 521_platforms-dsci channel.
Class Meetings
This course occurs during Block 1 in the 2026/27 school year.
Check the MDS calendar for the lecture and office hours.
note - Attendance at office hours is optional
Teaching Team
At your service!
Section 1
| Position | Name | Slack Handle |
|---|---|---|
| Lecture & Lab Instructor | Ilya Musabirov | @ilya |
Section 2
| Position | Name | Slack Handle |
|---|---|---|
| Lecture & Lab Instructor | Daniel Chen | @Daniel (Instructor) |
Office Hours
Please check the MDS calendar.
Assessments
This is a project-based course. Instead of standalone labs and quizzes, you build one individual project across the block: a personal Quarto website, published to GitHub Pages, that you set up in Week 2 and grow every week after. Week 1 gets your tools working first. There are no quizzes in this course.
The only group work is a lab activity in Week 3.
| Assessment | Weight | Week | Due Date | Submission |
|---|---|---|---|---|
| Setup | 1% | W1 | Wed 2026-09-02 23:59 PT | Canvas |
| Student information survey | 1% | W1 | Thu 2026-09-03 18:00 PT | PrairieLearn |
| Lab 0a: Python | 1% | W1 | Thu 2026-09-03 18:00 PT | Gradescope |
| Lab 0b: R | 1% | W1 | Thu 2026-09-03 18:00 PT | Gradescope |
| Policies | 1% | W1 | Sat 2026-09-05 18:00 PT | PrairieLearn |
| Milestone 1: terminal practice | 19% | W1 | Sat 2026-09-05 18:00 PT | Gradescope |
| Practice 1 | 2% | W2 | Sat 2026-09-12 18:00 PT | PrairieLearn |
| Milestone 2: website live on GitHub Pages | 25% | W2 | Sat 2026-09-12 18:00 PT | GitHub & Gradescope |
| Practice 2 | 2% | W3 | Sun 2026-09-20 18:00 PT | PrairieLearn |
| Group lab: collaborative slide deck (groups of 4) | 10% | W3 | Sun 2026-09-20 18:00 PT | GitHub & Gradescope |
| Practice 3 | 2% | W4 | Sat 2026-09-26 18:00 PT | PrairieLearn |
| Milestone 3: reproducible environments + 2 posts | 35% | W4 | Sat 2026-09-26 18:00 PT | GitHub & Gradescope |
Note the Week 1 deadlines: there are multiple assignments due during the week in addition to the regular Saturday 6 PM. Week 1 is front-loaded on purpose so that you are unblocked on your tools before the first milestone is due.
Note the Week 3 deadline: it is Sunday, not Saturday. That week overlaps with exam week in your other courses, so you get the extra day.
What each milestone will ask you to do (refer to full milestone description released every week)
Milestone 1: Get your tools working (Week 1). Build a folder structure from the terminal, write a README.md that introduces you, and screenshot your terminal so we can see the commands and their output. There is no code and no repository in this milestone. It is a practice run, so that anything broken on your machine turns up now rather than in Week 2, when your real project repository starts.
Milestone 2: Publish your site (Week 2). This is where your real project repository starts. Create a public username.github.io repository, build a Quarto website in it, and publish it to GitHub Pages. The site needs a home page with your photo and introduction, an about page, and your hello-world post: about three paragraphs and one image on your first weeks in MDS. Keep it short. The point is to get publishing working.
Group lab: Collaborative slides (Week 3). In groups of four you build one shared Quarto / reveal.js deck in a shared repository, answering four questions everyone answers. All four of you will be editing the same deck at the same time, so you will create merge conflicts and you will resolve them. That is the exercise. Graded on completion.
This is the only shared-write repository in the course. Your own project stays yours throughout. The deadline does not move if your group is short-handed.
Milestone 3: Make it reproducible (Week 4). Pin your project’s environments, one per language: uv for Python (pyproject.toml and uv.lock) and renv for R. Add two computational posts, one in Quarto with R and one in Quarto with Python, each with real code and real output. Then clean up the site. Your README.md needs build instructions good enough that we can follow them to rebuild your site ourselves, because that is how this milestone is graded.
PrairieLearn practice
Every week, during lab, you work through a short set of PrairieLearn questions (drawn from past exam and assignment banks) that bridge the lecture material into that week’s milestone. These are graded on completion, not correctness. They are also how you get comfortable with PrairieLearn before you meet it in a graded setting in another course.
How to submit
Each milestone and the group lab are submitted in two places:
- GitHub: your work, pushed to your repository.
- Gradescope: a PDF containing the URL of your repository and the URL of your rendered site.
Milestone 1 has no repository or site yet. For that one you upload your screenshots to Gradescope directly, including one of your README.md.
Tip: Use the lecture learning objectives as beacons. Each week’s objectives are what that week’s milestone asks you to demonstrate.
Use of Generative Artificial Intelligence Tools
This course is intended to help you acquire foundational knowledge and skills related to the tools used in the program and to data science practice. While you are permitted to use artificial intelligence tools, including generative AI, to gather information, review concepts, or help debug assignments, we expect you to make a reasonable effort to complete the assignments on your own, ask questions in the lab and during office hours, and discuss with your peers before you turn to GenAI for answers. Social learning is one of the big components of MDS, and we encourage you to start participating in it early on. You are ultimately accountable for the work you submit, and any content generated or supported by an artificial intelligence tool must be cited appropriately.
Course Learning Outcomes
See the course lecture book
Syllabus
This document
Attributions
See the course lecture book
License
Software licensed under the MIT License, non-software content licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License. See the license file for more information.