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:

  1. GitHub: your work, pushed to your repository.
  2. 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.