MEDIAART 3D03: Interface, Code, Data

Note: This is the "fluid syllabus" for the course MEDIAART 3D03: Interface, Code, Data at McMaster University (Fall 2026 semester). Expectations, policies, rules, etc will be the same as the official course outline (which current students can access through Avenue and Simple Syllabus), but this fluid version is formatted differently to take advantage of web possibilities, can be navigated in different ways, has up-to-date links to more detailed resources of various types, and will be updated to refer to new resources as they become available.

Quick Links

Course Learning Outcomes

  • To imagine alternative presents and futures for the web, informed by an understanding of the web's past and present
  • Practice #1 - Terminals: navigate UNIX terminals/filesystems to make/change web projects
  • Practice #2 - Servers: run and interact with local/self-configured web servers
  • Practice #3 - Codes: translate and do creative things with everyday computing/web codes (e.g. binary, ASCII, Unicode, QR codes)
  • Practice #4 - Web 1.0: read, write, and alter web pages/interfaces expressed in HTML and CSS
  • Practice #5 - JavaScript: read, write, and call simple JavaScript functions
  • Practice #6 - Web APIs: read and write JavaScript for the web browser
  • Practice #7 - "Chat": use JavaScript to parse text input and generate text output
  • Practice #8 - Libraries: use specific JavaScript libraries to engage with additional visual possibilities and/or database-driven websites

Course Description

From the McMaster Calendar: "A hands-on exploration of the role of interfaces, code, and data in Media Arts practice. Students will explore the possibilities of formats such as visualizations, websites, mobile apps, databases, games, live coding performances and generative art. Lecture, web module, tutorial (three hours); one term Prerequisite(s): Registration in Level III or above of a Multimedia, Media Arts or Communication Studies program Antirequisite(s): MEDIAART 2A06, MMEDIA 2A06"

Welcome to MEDIAART 3D03: Interface, Code, Data, a course in which we'll explore programming and the web through a media arts lens. This will be the second time this new course in the Media Arts program has been offered (and my 70th course as an instructor) and I'm looking forward to thinking with you all about it. Your thoughts, choices, work, and engagement will have a strong impact on what this course becomes for future students.

I strongly encourage each of you to visit me during my drop-in hours (Monday to Thursday 3-5 PM, almost every day; or by email appointment). I’m happy to talk about anything related to this course, and I’m also happy to talk about other things as well (e.g. music, art, games, careers, graduate school, etc)! If the time of the drop-in hours doesn’t work for your schedule (or you come by at a rare time when I am unavailable), please do get in touch by email so we can find another time that does work.

Our overarching learning outcome is to imagine alternative presents and futures for the web, informed by an understanding of the web's past and present. Our pursuit of that overarching learning outcome will be structured around eight specific "practices" (see Course Learning Outcomes below for further details), which we will develop through both in-class activities and a larger web art term project.

Required Materials and Texts

  • Access to a Windows, MacOS, Linux, or Chromebook laptop that can be brought to our class meetings, and on which a UNIX terminal and node.js can be installed (support for this installation process will be provided during and outside of class time).

  • There are no other required materials/texts, and all necessary reading/reference materials will be freely available on the open web (including but not limited to materials provided here at my web garden at https://dktr0.github.io).

Class Format

In Person

Each week we’ll attend two in-person full-class meetings, a.k.a. “lectures”. This time will be used for experiments, demonstrations, practice activities, discussions, and project ideation activities – all things which benefit from us being together in a shared physical space and time. Regular attendance at these meetings will be crucial to developing competence in the eight practices addressed by the course (it will likely be much more difficult to meet the course requirements in the absence of regular attendance).

Asynchronous peer-to-peer interaction during the course will be supported through a dedicated Discord server (invite link to be provided through Avenue to Learn, and not to be shared with individuals outside of our class). Joining this Discord server is optional but recommended - I encourage everyone to join it and use it to communicate in between class meetings (here is Discord’s privacy policy). Please ensure that your handle on the class Discord server reflects the preferred way that we should call you, so that we all know who is who (Discord allows you to set a specific name for a specific server, by the way).

Course Evaluation

Assessment in this course works in a different way than what you might be used to. For several years now I have been exploring what is sometimes called “alternative grading.” I am convinced it is a profoundly positive thing, and am constantly striving for assessments that (a) provide a high level of clarity about how work meets or does not meet requirements, (b) invite artistic work whose motivations and aesthetic choices are different than my own, (c) support learning through feedback loops and resubmissions, and (d) ensure short-term difficulties (whether connected to disability, illness, emergencies, workload, etc) present no obstacle to earning the full range of available grades.

Your grade in this course will be based on the following evaluations:

  • a web art term project, due Thu 3 Dec at 10 PM on Avenue
  • participation in the final class showcase on Fri 4 Dec (demonstration of practices #2 and #5)
  • 6 practice submissions, worked on during our full-class meetings and due various Mondays at 10 PM
  • in-term multiple-choice exam, Sat 21 Nov - Fri 27 Nov, completed in flexible testing centre
  • a final multiple-choice exam during the examination period (scheduled by the registrar)

Minimum achievement: The minimum achievement to to receive credit for the course is to submit (on Avenue) a web art term project that meets the minimum requirements for such a project. If you do not successfully complete this project, you will not receive credit for passing the course, regardless of what any other achievements in the class might have been. Full details of the project requirements will be available, from the beginning of the semester onwards, in the web garden for this course.

Base grade: Assuming that the minimum requirement has been met, your base grade on McMaster's 12-point scale will be the number of Practices that have been substantially and successfully demonstrated in either a weekly practice submission on Avenue OR directly in the web art term project. Since there are 8 Practices, this base grade will be somewhere between B (8) and D- (1).

Exams: Your base grade will be increased by one point for every 2 practices for which at least 80% of the relevant questions are answered correctly on either the in-term exam OR the registrar-scheduled final exam (during the examination period). Demonstrating understanding of all 8 practices through either/both exams would increase the base grade by 4 points (e.g. a base grade of 8 would become a grade of 12 or A+).

Kudos: I may also award a single additional point as a "kudos" for a very small number of web art term projects that are, in my opinion and sole discretion as the instructor, truly exceptional. Note that this additional point is not necessary to achieve the full spectrum of McMaster's grading scale.

Resubmissions: There are no partial grades or credit for anything. Everything is either ACHIEVED or not yet achieved. Weekly practice submissions or web art term projects that are submitted in good faith (i.e. clearly represent a reasonable quantity of work aimed at the requirements) but which do not meet the requirements will be given the chance to RESUBMIT within one week of the date on which feedback is given, up until the date of the final registrar-scheduled exam. To resubmit something you need to discuss it with me in-person, ideally during my frequent drop-in hours. Meeting in-person about any requested resubmissions will allow us both to be as confident as possible that the nature of the problem is well understood. Sometimes you might even be able to make a successful resubmission right there during the tutorial/meeting!

This way of approaching assessment may be unfamiliar to you: rest assured that we'll work through examples of how it works during our full-class meetings during the early weeks of the semester. Above all, I hope this way of assessing things encourages you to make excellent, brave, web art projects that take creative risks and explore personally meaningful stories/knowledge/artistic possibilities, secure in the knowledge that (provided some relatively minimal and flexible criteria are met) your grade is not at stake.

More about doing your own work

Throughout this course, you are expected to do and practice things yourself. For example, when fulfilling an expectation that has to do with accomplishing simple tasks at the UNIX terminal, you need to be the one deciding how to do that - if you have to look it up somewhere else then you probably haven't practiced it enough to be able to genuinely say that you can do it. As another example: when the term web art project asks you to write HTML, CSS, and JavaScript - you need to be the one that is writing and thinking about every line of code in your project. Practice is key - spending time each week actually doing things with these technologies, even relatively simple things, is how you build the skill and confidence to do these things without an excessive dependency on external resources.

Submitting work that misleadingly gives the impression you did something yourself, when you didn’t, would be an academic integrity violation and would also be short-changing yourself of the possibility for learning and growth. Here are a few examples, specific to this course, of what problems of this nature might look like:

  • using external assistance (generative AI, a peer, whatever) to answer exam questions
  • using external assistance (generative AI, a peer, whatever) to generate or manipulate text/code components of practice submissions or web art term project
  • taking a pre-existing tutorial or example (e.g. found on the Internet), completing the steps it outlines, and then submitting the predictable result, designed by another, as if it was your original work
  • using borrowed materials (e.g. sounds, images, videos) without clearly communicating about the original source of those materials (note that, even when handled correctly for in-class use, the use of borrowed materials can also have copyright implications that may limit your use of work as public, portfolio materials).

If you are tempted to do something like the things above, (a) first, please DON’T and (b) then, please reach out to me directly so that we can think together about what better ways of proceeding would be. I guarantee you there are better ways. I very much look forward to experiencing the things that you create yourself using your own body, mind, knowledge, experiences, skills, etc.!

Late Assignments

If you are going to be a little bit late submitting a weekly practice item, please contact me to let me (Dr. 0) know. Late practice submissions (with notice) will be accepted up until the last day of classes. Submissions that are very late will receive very limited feedback, and that may make it difficult to make any necessary resubmissions in time.

If you are going to be a little bit late submitting the web art term project, please let me (Dr. 0) know by email. Late term projects (with notice) will be accepted up until the last day of classes. Submissions that are very late will received very limited feedback, and that may make it difficult to make any necessary resubmissions in time. Please note also that not completing the web art term project on time may make successful and meaningful participation in the final showcase difficult or impossible.

While I’m here... Have you been wondering why various things are always due at 10 PM in this course? Because sleep is vital to our health and wellness! The 10 PM due dates are intended to communicate that, wherever possible, as a matter of healthy and sustainable working habits, we should plan to complete our work in a way that allows us to sleep during the night.

Absences, Missed Work, Illness

We need to show up for each other as much as possible, including by attending full-class meetings from the beginning to the end. But please don’t attend when you are feeling ill NOR when there are compelling circumstances that mean that you would not be able to contribute meaningfully to those meetings (e.g., personal/family emergencies, mental health crises, challenges with food, finances, shelter, etc.). You don’t need to explain such absences to me, although if you feel it would help to talk to me about it, I’m certainly here for that.

Our full-class meetings are meant for active learning activities around the course practices/learning outcomes. Any fixed "content" has already been provided through the web garden. As such, our meetings will not be recorded. If you miss one and would like to "catch up", I recommend you do so by coming to my drop-in hours to talk about the things we did during the missed meeting at length.

You don't need to complete the in-term or final exams if you are happy with the grade that you would receive without them. If you miss one or both of the in-term exams, the universal accommodation for this is that you are still able to demonstrate your knowledge of the practices/learning outcomes covered by those exams on the final registrar-scheduled examination. If you miss the final registrar-scheduled examination (and need/want to use it to earn a higher grade than you otherwise would) you will need to engage with the deferred examination procedure through your Faculty's advising office.

Generative AI: Some Use Permitted

Strictly speaking, so-called "AI" is not completely forbidden in the course. However, I believe it is mostly useless for our learning outcomes - it well not help you to learn to read and write code you can take actual responsibility for, nor to do well on the exams. Please see also the more detailed explanation in "More about doing your own work" in the "Course Evaluation" section of this outline

For official McMaster University policies/statements related to this course, please see the Simple Syllabus outline for this course.