1  Syllabus

CMPT 419 D200, Nicholas Vincent, Fall 2025

1.1 Lectures and Office Hours

See go.sfu.ca for exact location and time.

Office hours: posted on Canvas.

We can have additional office hours by appointment and/or popular demand.

1.2 General structure of our “lecture” time:

  • Each Monday (1 hr sessions), we’ll briefly discuss the previous week’s readings, I’ll introduce any readings and assignments for the week, and I’ll start the “lecture content” for the week.
  • I’ll aim to hold at least 5-10 min every Monday to walk through assignments together and take questions. You’re welcome to use this time to start working and see if questions arise.
  • On Thursday (2 hr sessions), we’ll finish lecture content and have a discussion about the lecture/readings for the first hour, and then typically use the second hour for some kind of activity or “lab time”. We may use some of this time to work on assignments and projects and to take quizzes or practice quizzes.
  • I’ll always take questions at the beginning and end of each lecture session. You’re always welcome to email me, but I may take 2-3 business days to respond to emails. Asking questions in class will provide a quicker response and your classmates may benefit from your questions as well! Please include “[CMPT 419]” (or CMPT 980) in your email to help me keep track of requests.

This course is designed to have a particularly heavy reading and discussion component. Please be prepared to read quite a bit of material, and to talk about it.

1.3 About course assignments:

Each week has a set of assigned readings:

  • There will be a set of mandatory readings.
  • There will also be some optional readings. You are encouraged to read the abstracts and/or Introduction sections of the optional readings to see if they align with what you hope to get out of the class. I’ll do my best to organize these by theme, and will add more based on the interests you express.
  • Each week, you’ll submit some relatively brief “reading responses” via Coursys. These will be very lightly graded (there really aren’t wrong answers). However, you should be prepared to defend your reading responses live in class (I may cold call students, and you should be able to speak to your reading response in a way that suggests that you did indeed read the required material. You need not agree with the all the arguments presented or understand all the material).
  • For reading responses, I strongly recommend against AI assistance. I personally prefer that you submit bullet points rather than bullet points that prompt an LLM to output flowerly text. (I actually read these, and I’m very familiar with all the ChatGPT-isms, and generally don’t need to read “This isn’t just a great reading suggestion from the professor – it’s a groundbreaking article.”)

Reading schedule:

  • Assigned readings for Week X are considered “finalized” on Monday of the preceding week (Week X-1), and should be completed by Monday of Week X.
    • For example: During class on Monday of Week 2, I’ll post and tell you all the required readings for Week 3, which you should finish over the next 7 days.
    • I’ll try to provide a solid “look ahead” of course material, but it may be subject to change based on your feedback, course progress, and even current events – so you should check the readings each Monday after class. For instance, in the past, I have extended time to complete readings that students found particularly dense.

1.4 About course organization

The course will be organized roughly in terms of 4 “modules”:

  • Module 1: Administration and Introduction to Different Frameworks for doing “Human-Centered” or “Data-Centered” Work (Weeks 1-4)
  • Module 2: Technical work in data valuation, data scaling, and algorithmic collective action. (Weeks 5-7, 3 in total)
  • Module 3: Online platforms, content ecosystems, and data. (Weeks 8-10, 3 in total).
  • Module 4: Frontiers in Data Governance: Voting, Markets, and More (Week 11-13, 3 in total).

We will have one assignment per module (coding / data analysis).

1.5 Grading

  • 10% reading responses (12 total, drop lowest 2 using Canvas, so each of your top 10 responses effectively is worth 1%)
  • 20% coding assignments (4 total; 5/5/5/5, drop lowest 1 using Canvas, so each of your top 3 assignments effectively is worth 6.6.67%)
  • 20% quizzes (2 total; 10/10; may adjust scores for difficulty)
  • 50% final project (5% project proposal, 45% actual project; must submit a written document and a presentation for both)

1.6 Course FAQs

Q: Is attendance mandatory?

A: While I won’t give you direct marks for attendance, you are highly encouraged to attend class whenever you are able to. I do expect all students to participate in class discussion at some point (i.e. I do want everybody to speak up at least once). I will try to facilitate this “softly” via some cold-calling to discuss reading responses but this will not be strictly enforced (e.g., if circumstances arise, we can meet in office hours to discuss your progress in the course). If a very “loose approach” to soliciting participation isn’t working at the mid-point to class, we’ll discuss (as a class) alternatives.

I am very supportive of students staying home when sick, and understand a variety of personal situations may arise that prevent you from going to class. You do not need to email me to miss class, but are welcome to ask follow up questions (I may just point you to the class notes and encourage you to talk to your classmates). To earn a high mark in this class, I encourage you to plan to attend all lectures you are able to.


Q: Will this class involve coding?

A: Yes, there will be some coding assignments in the class that are designed to give hands-on experience with certain course concepts. You are free to use a variety of programming languages and tools for these assignments, though will be encouraged to use some “standard” solutions based (primarily: Python for ML and data science related components, Javascript and web-programming for some design components). For coding assignment, LLM assistance will be allowed (with some caveats). I expect available LLM tooling to change quite a bit during our semester, so we’ll play with tools together as part of the course.


Q: How many assignments will we have?

A: You will complete 4 assignments (involving coding and data analysis) and 1 project.


Q: Can I work in a group?

A: There will be opportunities to do group work, but you must write a contribution statement for everything. You must review all your team’s code and writing! Individual assignments that allow group work will have specific details for how this will work.


Q: Are there quizzes, a midterm, and/or a final exam?

A: There will be in-class quizzes, but no “midterm” or “final”. They will be announced in advance and some kind of make-up option will be available for sick students. Any “testable” material will be drawn only from in class lecture materials and mandatory readings. The goal of the quizzes is to provide additional incentives to engage with material each week.


Q: What materials do I need?

Reading materials will be provided digitally by the instructor. There will be no single textbook – rather, we will read an assortment of research papers, book chapters, etc. You will be asked to spend some time installing software tools on your own. You will have some flexibility in which tools you choose – there will always be a free option available.


Q: Can I use ChatGPT (etc.)?

A: You may use generative AI tools to assist with your coursework, but must provide complete logs for any outputs you use directly and any artifacts you submit should indicate the provenance of any generative AI outputs.

e.g.

  • “This slide was produced by model XYZ”
  • “This summary paragraph or code snippet was produced entirely by ChatGPT”
  • “This code was generated with the help of ChatGPT, but heavily edited”

Individual assignments may have specific requirements you should pay attention to.