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).
This course has no required books, but we will have regular readings. Some optional references I would recommend:
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.
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.
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.
Reading: Is Google Making Us Stupid? by Nicholas Carr
Assignment: Rules for Drawing
No class September 7
Reading: Clay Shirky vs Nicholas Carr
Assignment: Web Hackery
"Reading": It's Not Information Overload. It's Filter Failure. by Clay Shirky
Assignment: Web Hackery Redux
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
"Reading": Code Rush video
Assignment: Start work on your midterm
Greasemonkey Firefox plugin
DOM cheat sheet
Class on Wednesday, October 14
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.
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
Lecture slides: week 9: Templates
Reading: The Library of Babel by Jorge Luis Borges
Example: Clickwiki
Lecture slides: week 11: Relational Databases
Example: Tweeter (instructions)
Lecture slides: week 12: The Mobile Web
Examples: Geolocation, Web Database
Lecture slides: week 13: Security
Example: Login
Reading: The dark side of the internet