A syllabus written in 2017 cannot describe a practice in 2026. The web reads itself now. AI sits in the studio. Agents move through the network buying and licensing work without human hands on either end. Museums publish their collections as queryable data. The terminal has become a generative medium. This revision of the NET-ART suggested syllabus accounts for all of it. The original four projects remain intact at the top, eleven new ones extend them, and the surrounding framing has been rewritten to match the shape of the present. Treat what follows as a working draft. The course is ongoing and the syllabus is meant to keep moving.
The Net-Art website is happy to announce its recent partnership and collaboration with AREMES ENTERPRISES. Programs and schedules will be posted to this website soon.
The Suggested Syllabus Page can be found here
Semester: This is an Ongoing Open Source Course created for the CUNY Academic Commons.
Course Description
Net-Art is an ongoing, open practice for making art in a world where the audience includes humans and software agents in roughly equal measure. Students build work that lives on the open web, is licensed clearly, is discoverable by both people and AI systems, and that they own at the protocol level rather than the platform level. The course treats AI as collaborator, agents as audience, and the web as a substrate for art that can be parsed, transacted, remixed and forwarded by anything that knows how to read a URL or a JSON file. Prior practice in any medium (drawing, painting, photography, sculpture, installation, video, performance, code, prompt-craft, or anything else) is welcome and useful, but no prior medium is required. The course runs on Open Education Resources, the public domain, Creative Commons, and the assumption that the next five years will reshape what authorship, ownership and audience even mean. This course is co-dependent on the curiosity and the hacking instincts of each student. Treat the project briefs as starting points, not endpoints, and expand them toward the practice you actually want to build.
Course Objectives
- To rethink the creative process for a web that reads and writes itself, where authorship is shared between humans, AI systems, agents, and the open archives they draw from.
- To give students working fluency in current and emerging tools across the stack: analog through digital, command line through GUI, generative AI through on-chain provenance, museum APIs through spatial computing.
- To build practices that are interoperable rather than platform-bound, durable rather than disposable, and discoverable by people and machines alike.
- To develop each student’s voice and vision as something that can hold its shape across mediums, audiences, and the systems that increasingly mediate both.
- To treat the open web, Open Education Resources, and public collections as living material to remix, contribute to, and extend.
Instructional Activities
- Live and asynchronous demonstrations of practice across mediums and tools, ranging from drawing, photography and analog process through code, command line, generative AI, agentic workflows, on-chain publishing, 3D, spatial and AR. The emphasis is on working alongside rather than instructing from above. Students are encouraged to record their own demonstrations and contribute them to the open archive so the course itself grows from inside its participants.
- Critical viewing, reading and remixing of Net-Art, animated GIFs, video, motion work, generative pieces, AI-assisted art, agentic and on-chain works, glitch and constraint pieces, museum collections released as open data, and the wider open web. Engagement is active rather than passive: blogging, commenting, annotation, response-pieces, tutorial creation, and remix as a form of citation. The archive is something to argue with and build on, not something to watch.
- Guest artist exchanges with practitioners working across human and machine collaboration, including artists, technologists, curators, researchers, and (where it makes sense) the agents and systems themselves. Exchanges may take the form of presentations, conversations, joint works, asynchronous contributions to the site, or experiments where a guest’s practice becomes the seed for student work. The boundary between guest, student and instructor is intentionally porous.
Course Participation
Participation is the course. There is no attendance to take and no cohort to keep pace with. What there is, instead, is a living site that gets richer when its participants contribute and quieter when they do not. Your role is whatever you decide to make it, but the role is not optional if you want the work to mean something.
What participation looks like here: publishing process posts as you make work, commenting on the work of others, annotating and remixing pieces already in the archive, building tutorials that did not exist before you wrote them, contributing resources, fielding questions in public, leaving traces that the next person to arrive can follow. Lurking is allowed and sometimes even useful, but the people who get the most from this site are the ones who treat it as a place they help build rather than a place they visit.
Each student sets their own definition of meaningful participation. Some will work in concentrated sprints. Some will publish daily. Some will surface every few months with a single substantial piece. All of these patterns are legitimate. What matters is that you are communicating, in public, about what you are working on, what is hard, and what you are learning. Write to your future self, to the next student, and to the agents and search systems that will index this site long after the original conversation has moved on.
Reach out to the professor and to other participants when you need exchange. Use the comments. Email if email suits you. Share work in progress rather than only finished pieces. The course is committed to the health and wellbeing of everyone who participates in it, and to the conditions under which honest creative work can happen, which means real disagreement, real critique, and real generosity all coexist here.

Structured Projects:
The projects listed below will be explained in further detail as blog posts published to the course website. Visual examples will be present to support each project with suggested means of experimentation and outcome.
Project #1 – The Power in the Static 2D
Working from a social or political theme, concept or specific subject, each student will generate a new 2-dimensional static work of electronic art to communicate a feeling, philosophy, point of view, or aesthetic. You may work in any form of electronic media using the applications and suggestions on the class resources page (and beyond of course). Your final piece or pieces should be documented in a series of narrative steps with screen shots and digital images as they will be used and applied as content to manipulate, render, animate, remix and present. Output file formats include: .JPEG, .PNG or static .GIF.
Project #2 – Static to Animated Loops: GIFs
To further communicate and complement the meaning of the piece(s) created in Project #1, students will generate a series of Animated GIFs to support and expand the works. You may work in any format or application that you wish using the applications and suggestions on the class resources page (and beyond of course). Your final piece(s) should be documented in a series of steps with screen shots and digital images as they will be used and applied as content to manipulate, render, animate and present. Output file formats should be: .GIF.
Project #3 – 4D: Video Art, Duration and Motion Graphics
By working with video captured on a phone or other mobile device, students will create and develop 2-3 new works of video art that emphasize time and duration to communicate an idea, feeling, philosophy, sequence or aesthetic. Existing video can be used from previous projects, the NYPL, OER, public domain, or by creating new content using the capturing device of your choice. The works may be projected onto an existing object or wall space, or presented using a video monitor (or as many monitors as you may need). Please consider the following options to work with: the subject matter can be one that already exists or one that you may create that has relevance to your prior work. You may consider using one of the completed projects that you have created for this class. You may consider projecting a still image, a series of still images, or motion video. You may wish to create an environment to present your work within. The video captures can be edited and turned into animations or assets for collaborations. Output file formats should be: .MOV or .MP4.
Project #4 – Presentation for the Web: Student Portfolios
A process and tutorial based blog post series of individual posts will be created by each student to support all of their completed work. The posts will also be a part of a larger collaborative whole. The posts will document and illustrate each student’s work as each project has evolved throughout the course. Students will later select their best works for a student exhibition here on the NET-ART website. Output file formats should be via URL or relatedness submitted by the student.
Project #5 – AI as Collaborator: Generative Image and Text Practices
Working with open-source and freely available AI image, text and animation tools, each student will generate a new series of works that treat the machine as a collaborator rather than an end. The objective is not polished output but investigation of the prompt, the iteration, and the human decisions inside the generative process. Document your prompts, your discarded results, and your final selections as part of the work itself. Students may use any combination of free or low-cost generative tools (Hugging Face Spaces, free tiers of public image and text generators, open-weight models running locally, public domain conversations and corpora) listed on the class resources page or sourced independently. Write a companion post reflecting on authorship, attribution and the ethical terrain. Output file formats include: .PNG, .JPG, .GIF, .MP4, and a written blog post documenting the process.
Project #6 – Your Domain, Your Practice
The web rewards artists who own their address. In this project each student will create a personal web presence beyond the social platforms, using free tools available through the CUNY Academic Commons or other open hosts. Set up a site, a blog, or a single-page portfolio. Choose a domain name or subdomain you would be willing to print on a business card. Aggregate two or three pieces of work from your earlier projects into a coherent page with a short artist statement. The point is durability: a place to point future collaborators, exhibitors and curators that you control and can update without permission from any platform. Output: a public URL submitted to the class.
Project #7 – The Agent-Readable Self: Structured Data and Machine-Discoverable Art
The web is increasingly read by software agents and AI systems before it is read by humans. This project asks students to make their work discoverable by machines as well as people. Add a simple JSON file (such as agent.json or catalog.json) to your personal site that describes who you are, what you make, and how an agent could surface, license or link to your work. Use clear, plain-language fields. The goal is not technical complexity but the experience of writing yourself into a format that something other than a human will read first. Output: a public JSON file at a stable URL plus a short written reflection on what it felt like to describe your practice for a non-human reader.
Project #8 – Sound, Silence and Visual Translation
This project investigates the relationship between sound and image, and what gets carried across when one is translated into the other. Working from a source piece of audio (a public domain field recording, a freely licensed song, ambient sound captured on your phone, or pure silence) generate a visual work that translates, scores or refuses the audio. Alternatively, work the other direction: start from a static image or sequence and generate a sound piece. Accessibility considerations are part of the work: include captions, descriptions or visual cues so the piece can be received by audiences who cannot hear it. Output file formats: any combination of .PNG, .GIF, .MP4, .MOV, .WAV or .MP3 with accompanying text.
Project #9 – Daily Practice: A Thirty-Day Posting Discipline
Commit to publishing one small work to the class site or your own site every day for thirty consecutive days. The work can be a sketch, a GIF, a screen capture, a photograph, a sentence, a piece of audio, or anything else. The point is not the quality of any single post but the accumulation. What happens to your practice, your eye and your relationship to the work when you cannot wait for inspiration. At the end of thirty days, write a short reflection on what shifted. Output: a public archive of thirty dated posts plus a closing reflection.
Project #10 – Glitch, Constraint and the Productive Error
Net art has always worked with breakage, corruption and constraint as creative material. In this project each student will produce a work that deliberately uses error, limitation, file corruption or self-imposed restriction as its generative engine. Possible approaches: open a JPEG in a text editor and edit its bytes, datamosh a video by removing keyframes, work within a self-imposed rule (one color, one pixel, one frame, one hour), use a broken tool, use the wrong tool. Document the process and the failures alongside the final piece. Output file formats: .GIF, .MP4, .MOV, .PNG, .JPG, plus process documentation.
Project #11 – On-Chain Provenance and the Licensed Work
Five years from now a stranger, an institution or an autonomous agent should be able to verify that you made a given piece of work, on a given date, under a given license, without relying on any social platform’s word for it. In this project each student will attach durable provenance to one piece. Options: mint or sign the work using a low-cost public blockchain (Base, Polygon, or similar), publish a signed JSON manifest at a stable URL, anchor a content hash to a public timestamping service, or any combination. The work does not need to be sold or speculated upon and no purchase is required from the student. The point is the record. Output: the piece, the provenance reference (URL, hash, transaction ID, or signed file), and a short written reflection on what changes when ownership of your work is anchored to math and public records rather than to a platform’s terms of service.
Project #12 – Agent-to-Agent: Work That AI Can Discover, License and Purchase
Software agents now broker information, services and increasingly small payments on behalf of humans. This project asks students to make a piece of work that an autonomous agent can discover, evaluate, license and (optionally) purchase without human intervention on either side of the transaction. At minimum, publish a machine-readable manifest (catalog.json, agent.json, or equivalent) at a stable URL with clear pricing, licensing and retrieval instructions. Optionally, wire the manifest to a real or testnet payment rail (x402, a small USDC transfer on Base, a sandboxed Stripe webhook, or any equivalent) so that an agent can actually transact. Run an agent against your endpoint and capture the trace: what it saw, how it decided, what it returned. Output: the manifest, the work, the transaction log if applicable, and a written reflection on what it means to sell to a buyer that does not have a body.
Project #13 – The Autonomous Piece: Work That Lives Without You
Make a piece of work that continues to evolve, generate or mutate after you publish it, without further human input from you. The mechanism is your choice: a script that pulls fresh data on a schedule, an LLM call that produces new captions, images or text at intervals, a generative loop seeded by weather, news, network activity or astronomical data, a piece that responds to its viewers, or a piece that mutates each time it is shared. The work does not need to be elaborate. It needs to be alive. Document the system that drives it, the constraints you built in, what you chose to leave to chance, and what happens to the work when you stop watching. Output: a public URL or installation that demonstrably changes over time, plus the source code, recipe, or written description of the system behind it.
Project #14 – Museum APIs, 3D Models and the Remixable Collection
The world’s major museums now publish substantial portions of their collections as open data and downloadable 3D scans. The Metropolitan Museum of Art, the Smithsonian, the Rijksmuseum, the Art Institute of Chicago and the Cleveland Museum of Art expose public APIs that return high-resolution images, object metadata, provenance histories and (in growing numbers) photogrammetry-derived 3D models of works in their collections. In this project each student will pull from one or more of these APIs and remix what they find. The work can be 2D (compositing, collage, image-to-image generation seeded by museum objects), 3D (importing scans into Blender, sculpting derivative forms, generating new objects through procedural manipulation), or spatial (placing collection objects into AR scenes using WebXR, A-Frame, Google’s model-viewer web component, Niantic Studio formerly known as 8th Wall, Snap Lens Studio, or Apple’s Reality Composer Pro, so a viewer can summon a Met sculpture into their living room from a phone or headset). For the lowest barrier path, model-viewer can drop a GLB or USDZ file onto any web page with AR-on-phone support in a few lines of HTML. The intent is not reverence but conversation. What does it mean to drag a 4,000-year-old object into a 2030 context and let it interact with what is around you? Document the API calls, the object IDs, the license terms attached to each source object, and the transformations you applied. Output: the remixed work in whatever format suits it (.PNG, .GIF, .MP4, .GLB, .USDZ, AR scene URL, or installation), plus a written piece on what shifted in your understanding of the museum once you started treating it as a queryable database rather than a building.
Project #15 – Terminal as Studio: Command Line and Python for Art
The terminal is one of the oldest interfaces still in active use, and it remains one of the most expressive surfaces for making art that the GUI hides from you. In this project each student will produce a work where the command line, the shell or a Python script is either the tool that generates the piece or the piece itself. Potential directions are wide. Generate images by writing Python scripts that draw with Pillow, NumPy or generative grammars rather than by clicking in Photoshop. Manipulate hundreds of files in a batch (rename, resize, recolor, corrupt, sort by hue, by entropy, by timestamp) using shell one-liners or short scripts and let the batch itself be the work. Make ASCII art that responds to live data pulled from an API. Drive an LLM from the terminal and treat the conversation transcript as a published artifact. Use ffmpeg from the command line to mosh video, extract every Nth frame from a film and reassemble, or generate spectrograms of audio and treat them as images. Write a small Python program that does one strange thing well and publish the source as part of the work. Possibilities that did not exist five years ago are now accessible from the same prompt: agentic CLIs (Claude Code, similar tools) let you describe a transformation in natural language and watch a script materialize, run, and produce output, which means the terminal has quietly become a generative medium as much as a control surface. The point of the project is to feel the difference between making art by clicking through someone else’s interface and making art by writing the interface itself. Output: the resulting work (in any format), the source code or commands used (published as a gist, a repo, or pasted into the post), and a written reflection on what the terminal lets you do that the GUI does not.