Introduction

Web 2.0 is about collaboration, community, and putting users in control. But it goes beyond editing and contributing content: many modern websites are designed to be malleable. Their presentation can be customized and their information can be accessed, transformed, and recombined to create new experiences never envisioned by the original site creators.
Perhaps you've visited a website that provided a useful service or offered engaging content, but whose usefulness was crippled by design flaws or arbitrary usage restrictions. “This website could be so perfect,” you find yourself thinking, “if only it did things a little bit differently.” Wouldn't it be great if you could fix or extend it yourself?

Perhaps you are tired of shuffling data from one online location to another: from a photo site to a social networking site, from an online word processor to your blog, from your email to your calendar. Wouldn't it be helpful to create automated connections between these sites and services, fusing their content automatically?
In H79.2802, you will learn to take these matters into your own hands. You will tweak, tune, remix, hack, dissect, recombine, and merge web sites and services, fixing flaws, creating new experiences, and bending the web to your wishes. In true Web 2.0 fashion, you will make the web your own.
Course Objectives
The primary objectives of H79.2802 are:
- To learn how to reformat and repurpose the content of existing websites, and recombine elements from multiple websites to create new applications.
- To develop an understanding of Web 2.0 concepts including data access APIs, web services, feeds, content syndication, and tagging.
- To become proficient in the client and server-side technologies used in developing web applications, including HTML, CSS, PHP, and Javascript.
- To build a unique and exciting new website incorporating this knowledge.
Instructor
Dan Maynes Aminzade (monzy at nyu dot edu)
Office Hours: Mondays 6:30pm- 8:30pm in the ITP adjunct faculty lounge, or by appointment.
When emailing about the course, please include “Mashups” or “H79.2802” in the subject.
Links
Course website: http://webremix.org
Course mailing list: itp-mashups-fall10 at lists dot nyu dot edu
Please use the mailing list for discussion and general questions about assignments.
Lectures are held on Wednesday from 6:30pm-9:00pm in ITP Room 447. For some of the hands-on lab exercises, we will adjourn to Tisch LC19 beginning at 8:00pm.
The “Nuts & Bolts” workshop sessions are interactive tutorials. If you have a laptop computer, you are encouraged to bring it to these sessions, but you are welcome to follow along on the lab computers if you prefer.
This is a preliminary version of the course calendar. Due dates and lecture content are subject to change.
Course Assignments
H79.2802 has three types of coursework requirements.
Readings: Readings are assigned to correspond to each lecture topic. Students should complete the readings before lecture and be prepared to participate in class discussion of the readings.
Individual Assignments: Four individual “problem sets” are assigned during the first half of the semester. Each of these assignments has a written portion and an implementation portion. The written portions involve reflection, problem solving, and idea generation based on the readings. The implementation portions are mini-projects that allow students to become familiar with various web development tools and techniques.
Project Assignments: During the second half of the semester, students will form project teams and build a working prototype of a web mashup site. This six-week design project includes four milestones: an initial written project proposal, two intermediate checkpoints, and a final presentation and written report.
For more details on these coursework requirements and how they contribute to final grades, refer to the assignments page.
