Multimedia Design 2

Dan Phiffer <dan@phiffer.org>

CCNY Art 49550, Fall 2009

Office hours Mondays at 12:00pm-1:00pm, CG-121

Mailing list: http://groups.google.com/group/mmd2

Course info

This is a course about making dynamic websites. You will learn the basics of programming for the web, both on the client-side (JavaScript) and on the server-side (PHP). The first part of the course is a general programming introduction, transitioning to focus more specifically on the web. By the end of the course you should have a firm understanding of writing good, maintainable code and evaluating the effectiveness and usability of dynamic websites.

Your grade will be based on a combination of in-class participation and projects completed throughout the semester. Your weekly work load should be approximately 3 hours per week, but let me know if it's taking more time than that. If it's taking less time than that you might be slacking off. This syllabus will be updated with weekly material, so the online version will always be the most up-to-date version: http://phiffer.org/teaching/mmd2. There are also some links available at Delicious: http://delicious.com/dphiffer/mmd2.

Here is our course meeting schedule. The non-standard days are September 7 (no class), September 29 (we meet on Tuesday) and October 14 (we meet on Wednesday).

Goals

Grades

class participation + attendance
25%

assignments
25%

midterm
15%

final project
20%

meeting deadlines
15%

Books

This course has no required books, but we will have regular readings. Some optional references I would recommend:

Class participation

Time spent in class is structured to include lecture, lab time, discussion and presentations of your work. You will also give one presentation about a media artist of your choosing. Your participation grade is largely a measure of how involved and prepared you are in class.

Assignments + projects

Weʼll be having weekly assignments and two big projects, a mid-term and a final project. You may revise and improve any of these up until (before) the final week. Your grades on projects will be determined based on craft and punctuality. Basically I want you to do your best on projects, but to approach them as works in progress. You always have the option of returning to unfinished work to improve on it.

Reminders

Lateness and absences will effect your grade. Please turn off mobile phones, instant messaging, email, etc. while in class. Be resourceful, do good work and donʼt slack off.

Week 1: Hello World

Reading: Is Google Making Us Stupid? by Nicholas Carr
Assignment: Rules for Drawing

No class September 7

Week 2: Intro to JavaScript

Reading: Clay Shirky vs Nicholas Carr
Assignment: Web Hackery

Week 3: Control Structures

"Reading": It's Not Information Overload. It's Filter Failure. by Clay Shirky
Assignment: Web Hackery Redux

Week 4: Object Oriented Programming

Class on Tuesday, September 29

Reading: The Not-So-Hidden Politics of Class Online by danah boyd
Assignment: ~100 word proposal for midterm project (along these lines)

Logging helper function
Object-oriented example

Week 5: The Document Object Model

"Reading": Code Rush video
Assignment: Start work on your midterm

Greasemonkey Firefox plugin
DOM cheat sheet

Week 6: Using APIs

Class on Wednesday, October 14

Week 7: Mid-term critiques

Lecture slide: week 7: http://
Reading: First listen to this then read this
Not required, but you can listen to the full radio episode here.

Week 8: Intro to PHP

Lecture slides: week 8: Intro to PHP
Readings: The Matthew Effect & Search Results and Participation Inequality: Encouraging More Users to Contribute (printer-friendly PDF)
Assignment: Tiny Wiki

Week 9: Page templating

Lecture slides: week 9: Templates
Reading: The Library of Babel by Jorge Luis Borges

Week 10: Intro to AJAX

Example: Clickwiki

Week 11: Relational databases

Lecture slides: week 11: Relational Databases
Example: Tweeter (instructions)

Week 12: The Mobile Web

Lecture slides: week 12: The Mobile Web
Examples: Geolocation, Web Database

Week 13: Security

Lecture slides: week 13: Security
Example: Login
Reading: The dark side of the internet

Week 14: Privacy

Lecture slides: week 14: Privacy