Week 1 (17 Jan):
Wednesday–>Course Intro and Orientation
Introductions
– name, major, year in school
– why this class?
– name the digital media you are most obsessed with. why?
– what makes you most like a class?
– what makes you least like a class?
Discussion: What is net art? Software studies? Critical software?
Thinking critically about the internet — who benefits? who is made most vulnerable?
Rushkoff quote
Look at some net art examples
Course overview (assignments, projects, schedule (lab vs non-lab), policies, grading)
Group exercise: expected input/output of web-based systems
Homework:
-read Critical Engineering Manifesto, be ready to discuss on 22 Jan.
Week 2 (22/24 Jan):
Monday–> Lab and discussion
-finish input/output group report
-go over course policies
-logging into the blog, and first blog post –> screenshot of digital media you’re most obsessed with
– discuss Critical Engineering Manifesto
– Introduce Project 0: OBSERVE
– Introduce Project 1: (AB)USE
– project 1 small group brainstorming and reports
Homework (for Wednesday)–
– read Javascript intros (intro, where-to, output, statements, syntax, comments, variables, operators)
– optional review: read HTML Introduction down through HTML Images and CSS Introduction down through CSS Padding
Wednesday–>Lab
– HTML/CSS review (basic tags, structure, etc)
– Javascript intro (script tags, hello world, output, syntax, comments, variables, operators)
– Codepen (use, accounts, etc)
Homework:
-read jQuery intros (intro, syntax, selectors, hide/show)
-read about the Chrome DevTools (through linked items in Elements and Console sections)
-due Monday: Project 0 #1, Project 1
Week 3 (29/31 Jan):
Monday–> Crits, New Project Intro
– due: OBSERVE #1
– due: Project 1: (AB)USE
– Project 0 quick checks
– Project 1 Mini-Critiques
– demo: Chrome developer console
– Introduce Project 2: TWEAK
– brainstorm proj 2 ideas
Wednesday–> Lab (jQuery, dev console) and visitor talk
– duckduckgo demo
– work on Project 2
– Attend: Dylan Miner talk on Wed at 5:30p rm 331 (w/ in-class intro by Kathleen)
Homework:
– read more on jQuery (fade, get, set, add, css)
– due Monday: OBSERVE #2, Project 2
Week 4 (5/7 Feb):
Monday–> Crits, New Project Intro
Due: OBSERVE #2 – crit
Due: Project 2: TWEAK – crit
– jQuery demo
– jQuery in the console
– Introduce Project 3: ADD
– Work on Project 3
Homework: repeat the in-class exercise with another site, so…
– pick a site
– load jQuery in the console
– change 3 things with at most 3 lines of jQuery (color, border, etc.)
– at least once, use the :contains(“”)
– screenshot on blog
// examples
j(‘a’).css(‘color’,’black’); // change font to black
j(‘a:contains(“Trump”)’).css(‘backgroundColor’,’black’);
Wednesday–> jQuery practice
– a few more observes / project 2s
– jQuery exercises with selectors, :contains(), and css()
– append()/prepend()
– before()/after()
– jQuery exercises with everything we’ve learned so far — prepend/append/before/after
– Introduce Project 3: ADD
– Homework: Project 3
– Homework: read about these new jQuery functions
– hide() (including keywords like ‘slow’ or millisecond arguments)
– show()
– fadeOut()
– fadeIn()
– css(‘display’,’none’)
– css(‘opacity’,’0′)
– text()
– addClass()
– removeClass()
– not()
Week 5 (12/14 Feb):
Monday–> Crits, New Project Intro
Due: Project 3
Due: OBSERVE #3
Project 3 Mini-Critiques
More jQuery: hide(), show(), fadeOut(), fadeIn(), css() display/opacity, text()
Introduction to Userscripts w/ Tampermonkey! — in-class exercise
Tampemonkey hints:
– use this line in header to add jQuery:
// @require http://code.jquery.com/jquery-latest.js
– don’t forget to start script with:
var j = jQuery.noConflict();
– then you can write lines like: j(‘a’).css(‘border’,’1px solid red’)
– save your script to a file to work on it elsewhere!!
Introduce Project 4: ERASE
Wednesday–> NO CLASS –>
Homework:
– read everything under “Userscript Header” on Tampermonkey site
– create a working Tampermonkey Userscript for any site and post code to blog
– read The Web Began Dying in 2014, and here’s how
– brainstorm 8 ideas for Project 4: ERASE, post to blog
– do OBSERVE #4
Week 6 (19/21 Feb):
Monday–> More JS, jQuery, Tampermonkey
– Due: Observe #4, one Tampermonkey script on blog, 8 ideas for ERASE on blog
– class discussion of brainstorm ideas
– the problem w/ dynamically loaded elements
– ready() — handling dynamically loaded elements!
– if/else conditionals and the logical operators such as || and &&
– in-class demo of how to go about writing an ERASE
Wednesday–> no class (office hours instead, email if you’re coming)
– homework: OBSERVE #5
– homework: Project 4: ERASE
Week 7 (26/28 Feb):
Monday–> critiques, tampermonkey vs. Chrome extensions, anonymous functions
Due: Project 4
Due: OBSERVE #5
Project 4 Mini-Critiques
– anonymous functions in Javascript
– check in on if/else, anything else JS related
– tampermonkey vs userscripts vs chrome extensions
– how to turn a tampermonkey into a chrome extension! (download this zip file)
– get Google Developer account started
– packaging userscripts as chrome extensions
– reimplement project 4 as a chrome extension, test, demo
Wednesday–(office hours, email if you’re coming)
Homework: read Something is wrong on the internet (note, contains disturbing material!)
Homework: read the following on Chrome extensions:
– What are Extensions
– Getting Started
– Overview (down to ‘using the Chrome.* apis)
– Extension Quality Guidelines FAQ
– Content Scripts (down to Programmatic Injection)
– Webstore Hosting and Updating
Homework: brainstorm 8 ideas for Project 5: REPLACE, post to blog
Homework: do OBSERVE #6
Week 8 (5/7 Mar):
Monday–> observes, Bridle article, proj 5 intro, Chrome extensions!
Due: OBSERVE #6
Due: class discussion on James Bridle article
Due: brainstorm ideas for proj 5
Discuss Bridle
Look at observes
How to make a Chrome extension! Testing, packaging
Discuss Project 5: REPLACE (including examples)
Discuss brainstorms
Wednesday–(office hours, email if you’re coming)
Homework:
– Get your extensions coded and on the Chrome Web Store ASAP
– (with description, images, etc.)
– Get friends to try it
Week 9 (12/14 Mar):
Monday–> observes, proj 5 demos, proj 6 intro, iframes, youtubemultipler
Due: Project 5
Due: OBSERVE #7
Observes
Project 5 Mini-Critiques
Introduce Project 6: MASH
Wednesday–>(office hours, email if you’re coming)
Homework:
– read: The Follower Factory
– read: Escaping Twitter’s Self-Consciousness Machine
– Try out Codeacademy for Javascript, work through all of “Getting Started with Programming” (questions 1-28)
Week 10 (19/21 Mar):
SPRING BREAK!!
Week 11 (26/28 Mar):
Monday–> grades, discussion, proj 6, proj 7 intro
Note about Proj 7 team preferences
Grades
Project 6 Mini-critiques
Discuss: Codeacademy
Discuss: Cambridge Analytica / Facebook breaking news
Discuss: The Follower Factory
Discuss: Escaping Twitter’s Self-Consciousness Machine
Introduce Project 7: INTERACT
Project 7 work
Wednesday–>No class, no office hours (contact if you want to schedule for Thursday or Friday)
Homework:
– read: ‘I made Steve Bannon’s Psychological Warfare Tool‘ at The Guardian
– read: Don’t Delete Facebook at The New York Times
– team blog post: read the articles above, and then, with your project 7 partner, blog six ideas to improve social media, presuming you could change ANYTHING
– OBSERVE #8
Week 12 (1/3 Apr):
Monday–> grades, reading discussion, observes, brainstorm ideas for P7, extra credit talks coming up
https://www.youtube.com/watch?v=jVhlJNJopOQ
Project grades — discuss, distribute
Discuss Cambridge Analytica and Facebook articles
Discuss six ideas to improve social media
In-class: brainstorm project 7 ideas
Project 7 Work
Discuss Moll/McCarthy extra credit opportunities
Look at OBSERVE #8 (maybe on Wednesday)
Homework: write a proposal for Project 7 on your blog
Wednesday–> **required** lab in 225 A+D for Project 7 (unless you have your P7 fully under control and idea already approved by Ben)
Work on Project 7 — develop / prototype / test in class
Week 13 (9/11 Apr):
Monday–> Proj 7 finishing lab, Discuss Extra Credit, Proj 7 crits, discuss proj 8, brainstorm ideas for P8
Lab: final questions on Project 7 (first 30m or so)
Due: Project 7
Project 7 Mini-Critiques
Discuss Optional Extra Credit
Look at last week’s Observes
Introduce Project 8: (AB)USE/TWEAK/ADD/ERASE/REPLACE/COMBINE/MASH/COLLABORATE –> Portfolio
Write proposals, discuss with Ben in class
Wednesday–> No class, attend symposium if you can
Technocultural Futurisms Symposium
Homework: Project 8 proposal … what do you propose to make/do? Why? Post on blog.
Week 14 (16/18 Apr):
Monday–> Project 8 proposal approvals, lab for proj 8
Extra Credit Due (optional)
Project 8 Proposals Due
Discuss documentation video requirement for Project 8, including examples.
In-class WORK ON PROJECT 8!!!
Wednesday–> No class, come to my office hours if you need it! Email if you’re coming and bring a laptop if you can.
Homework for Monday: final chance to complete missing Project 5 extensions (e.g. P4 ERASE), or to submit anything else missing for partial credit.
Week 15 (23/25 Apr):
Monday–> Project 8 work
Due: ERASE extensions missed as part of Project 5
Due: any missing work you want me to grade for partial credit (much better than 0!)
Project 8 work and check-in
Wednesday–> No class, come to my office hours if you need it! Email if you’re coming and bring a laptop if you can.
Week 16 (30 Apr):
Due: Project 8!
Project 8 Critique Blowout Session (may run long!)