Syllabus
From InteractivePrototyping
Contents |
Interactive Prototyping
Meta
Parsons The New School for Design Art, Media and Technology PGTE 5181 A; CRN 5694 Spring 2010 Arnhold Hall, 55 W13th, Room 304
Professor
Michael Edwards edwarm40@newschool.edu Office hours by appointment
Course Description
Painters have brushes, sculptors have chisels. As a designer working with interactivity, what do you have? This intermediate studio class will focus on building up your toolkit with useful software snippets, techniques, and modules. We will then use these tools to rapidly develop the kinds of applications you want to create. Working individually, you will take pieces of code, reassemble them, and “glue” them together for new work. Through brief lectures, guided tutorials, and in-class lab sessions, you will achieve the skills needed to spend less time struggling with code and more time working through your own concepts and projects. Some knowledge of code is helpful, though no specific language is required: the class will be taught with Java/Processing and Python, but the concepts behind the code should be useful anywhere.
Course Outline
The semester will be broken into 4 separate but interrelated modules, with students learning how to quickly hack together applications from a wide variety of areas. The projects will be quickly iterated over a period of 3 weeks and workshopped in class, with final presentations of each module due on the 4th week.
| Week | Date | In this class... | For the next class... |
|---|---|---|---|
| WEEK 1 | 01/25/10 | Pen and Paper: Introduction, Syllabus Handed Out, About The Tools, Classes and Objects | Begin to assemble tools, classes and objects field work, read Goldschmidt |
| WEEK 2 | 02/01/10 | Pen and Paper: Sketches, Interfaces, and States | Interface “sketch”, read Buxton |
| WEEK 3 | 02/08/10 | Pen and Paper: Transitions, Wizards, and Realistic Fakery | Complete Pen and Paper final, have all tools installed |
| WEEK 4 | 02/22/10 | Pen and Paper: Final
Processing to Java: Getting the Right Tools for the Job, Visualizing a System | First iteration of visual system |
| WEEK 5 | 03/01/10 | Processing to Java: Design Patterns, MVC, Repositories | Second iteration of visual system with MVC on SVN |
| WEEK 6 | 03/08/10 | Processing to Java: Beyond Processing, Using Libraries, User Testing Scenarios | Final iteration of visual system |
| WEEK 7 | 03/22/10 | Processing to Java: Final | Set up Django project |
| WEEK 8 | 03/29/10 | Python and Django: Objects, Data, and Rapid Prototyping for the Web | First iteration of networked prototype |
| WEEK 9 | 04/05/10 | Python and Django: The Hidden World of the Web, Back to MVC, and Test-Driven Development | Second iteration of network prototype, with interface |
| WEEK 10 | 04/12/10 | Python and Django: Beyond Websites: Libraries, Services, Feeds, and Daemons | Final iteration of network prototype |
| WEEK 11 | 04/19/10 | Python and Django: Final | Prepare for Android! |
| WEEK 12 | 04/26/10 | Android: Rapid Mobile Development, Emulators, Activities, Intents | First mobile prototype |
| WEEK 13 | 05/03/10 | Android: GUIs, Graphics, and Mobile User Testing | Second graphical mobile prototype |
| WEEK 14 | 05/10/10 | Android: Using Data from Everything, Everywhere, All the Time | Final mobile prototype, commit all code |
| WEEK 15 | 05/17/10 | Android: Final |
Learning Outcomes
Students will:
- gain a practical and critical understanding of software applications by researching existing code.
- evaluate software components, identify functional areas within the code, target processes that are useful for them, and reassemble what they find into their own work.
- explore different approaches to writing software and mocking up applications that are useful to their practice as designers.
- experiment with techniques for analyzing existing software work and gluing pieces together with their own work.
- as a class, collectively build up a knowledge base for their later practical work.
- learn to assemble working prototypes of their software designs.
Assessable Tasks
Students' practical competence will be reflected in the software they create. Therefore, they will be graded on making stuff work! Presentation style, portability, compatibility, visual design, and efficiency all take a back seat to getting their hacks up and running. The objective is to get students to restrict their thinking to making something interesting happen with their ideas. An ugly hack that functions will beat out a beautiful illustration that never makes it off the PowerPoint.
The critical competence of the students is a product of their analysis of how programs work and how they can be adapted to their own practice. By evaluating what is useful, what is peripheral, and what is extraneous, they will start to see software applications not as dense thickets of syntax, but rather as complex ecosystems of working constructions out of which they can draw their own research and resources. Their critical abilities will manifest themselves in successfully completing dissection and reassembly of code in their work.
Developing research competence by investigating useful and hackable software utilities and libraries is of paramount importance for the students. Research will take several forms. Students will seek out their new tools from the Internet and other sources. They will be taught how to sift through software repositories, navigate developer communities, read code written by experienced hackers, isolate useful chunks of programs, and understand how these may be adapted to suit their own interests. Research will also derive from their own experiments with code and transforming their concepts into real software. Through trial and error, rapid prototyping, and evolving projects, they will acquire experiential knowledge of software's inner workings. This research will be an essential element of their working software projects and will form an axis of their evaluation. Students' final grades will composed of the marks they receive on homework assignments and final presentations before the class, as well as satisfactory completion of progress milestones and posting their software research work to the class's online resource.
Final Grade Calculation
| Participation /Attendance | 20% |
| Homework/Reading Assignments | 20% |
| Projects (15% x 4) | 60% |
| TOTAL | 100% |
Required Reading
- Buxton, B. (2007, April). Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann. (avail. on Blackboard)
- Goldschmidt, G. (2003, January). The backtalk of self-generated sketches. Design Issues 19 (1), 72-88. (avail. at http://www.mitpressjournals.org/doi/pdf/10.1162/074793603762667728 – download within New School’s network)
Resources
- Python Cookbook (http://code.activestate.com/recipes/langs/python/)
- Python Package Index (aka Cheeseshop) (http://pypi.python.org/pypi?%3Aaction=browse)
- Python for Windows (http://www.imladris.com/Scripts/PythonForWindows.html)
- Interactive Prototyping wiki
Materials and Supplies
- Python 2.5 (at least) (http://www.python.org/download/releases/2.5.4/). A similar version is already present on Mac OS X 10.5.
- Processing (http://processing.org/download/index.html)
- Eclipse IDE For Java EE Developers (http://www.eclipse.org/downloads/)
- Subclipse (http://subclipse.tigris.org/install.html)
- EclipseP5Exporter (http://www.rednoise.org/ep5/)
- ADT Plugin for Eclipse (http://developer.android.com/sdk/eclipse-adt.html)
- PyDev (http://pydev.sourceforge.net/download.html)
- Easy Install (http://peak.telecommunity.com/DevCenter/EasyInstall)
- IPython (http://ipython.scipy.org/dist/ or via EasyInstall)
- Django
- Download (1.2 alpha) (http://www.djangoproject.com/download/)
- Installation (http://docs.djangoproject.com/en/dev/intro/install/)
Grading Standards
F
Failing grades are given for required work that is not submitted and for incomplete final projects. Make-up work or completion of missed examinations may be permitted only with the approval of the instructor and the major program Chair.
C/C+
These are below average projects. They will demonstrate some success in engaging with the assignment. The projects will show that the student can identify and work with key concepts and techniques and apply them to their work. Additionally, the projects will demonstrate effort in the areas of analysis and critical thinking by posing an interesting problem or question. Typical of a “C/C+” project, however, is that the original problem or question, once asked, does not move the project forward. Often, there is no real solution given, or there is a variety of possible solutions put forward without a clear sense of where the designer’s commitment lies. “C/C+” projects may also have significant errors. These errors may periodically impede the user’s ability to understand the designer’s point of view or the projects' functions.
B/B+
These are very good projects. The “B/B+” project does everything a “C/C+” project does, but offers a sustained and meaningful structure to a critical endeavor that is more complex than a project at the “C/C+” level. What also distinguishes a “B/B+” project is the designer’s ability to offer a unique insight and to ask questions of inputs, data, and outputs. The designer’s point of view is clear and an argument is sustained fairly consistently throughout the work. “B/B+” projects are logically organized, and also respond to the assignment in thoughtful and distinctive ways. Although minor errors may be present, they are under control and do not impede meaning or function of the work.
A
These are exceptionally good projects that go above and beyond the expectations and requirements set forth in the assignment. They demonstrate substantial effort and achievement in the areas of critical thinking and scholarship. They also demonstrate considerable interpretive connections between concrete ideas, a high level of analysis, and flexibility of technique. The point of view that is offered is consistent throughout the project, and governs the use and interpretation of all data and user responses. “A” projects are very well organized, and are free of errors.
I
A grade of I (Incomplete), signifying a temporary deferment of a regular grade, may be assigned when coursework has been delayed at the end of the semester for unavoidable and legitimate reasons. Incomplete grades are given only with the written approval of the instructor and the major program Chair. The Request for an Incomplete Grade form must be filled out by the student and instructor prior to the end of the semester. The maximum deadline for completion of an incomplete is one year, though a shorter period may be imposed at the discretion of the instructor.
Divisional, Program and Class Policies
Responsibility
Students are responsible for all assignments, even if they are absent. Late papers, failure to complete the readings assigned for class discussion, and lack of preparedness for in-class discussions and presentations will jeopardize your successful completion of this course.
Participation
Class participation is an essential part of class and includes: keeping up with reading, contributing meaningfully to class discussions, active participation in group work, and coming to class regularly and on time.
Attendance
Faculty members may fail any student who is absent for a significant portion of class time. A significant portion of class time is defined as three absences. Lateness or early departure from class may also translate into one full absence.
Blackboard
Use of Blackboard may be an important resource for this class. Students should check it for announcements before coming to class each week.
Delays
In rare instances, I may be delayed arriving to class. If I have not arrived by the time class is scheduled to start, you must wait a minimum of thirty minutes for my arrival. In the event that I will miss class entirely, a sign will be posted at the classroom indicating your assignment for the next class meeting.
Academic Integrity
This is NSU’s Statement on Academic Integrity: Plagiarism and cheating of any kind in the course of academic work will not be tolerated. Academic honesty includes accurate use of quotations, as well as appropriate and explicit citation of sources in instances of paraphrasing and describing ideas, or reporting on research findings or any aspect of the work of others (including that of instructors and other students). These standards of academic honesty and citation of sources apply to all forms of academic work (examinations, essays, theses, computer work, art and design work, oral presentations, and other projects).
It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.
Every student at Parsons signs an Academic Integrity Statement as a part of the registration process. Thus, you are held responsible for being familiar with, understanding, adhering to and upholding the spirit and standards of academic integrity as set forth by the Parsons Student Handbook.
Guidelines for Studio Assignments
Work from other visual sources may be imitated or incorporated into studio work if the fact of imitation or incorporation and the identity of the original source are properly acknowledged. There must be no intent to deceive; the work must make clear that it emulates or comments on the source as a source. Referencing a style or concept in otherwise original work does not constitute plagiarism. The originality of studio work that presents itself as “in the manner of” or as playing with “variations on” a particular source should be evaluated by the individual faculty member in the context of a critique.
Incorporating ready-made materials into studio work as in a collage, synthesized photograph or paste-up is not plagiarism in the educational context. In the commercial world, however, such appropriation is prohibited by copyright laws and may result in legal consequences.
Where appropriate, students may be asked to interpret, revise, reuse, and repurpose existing code. Students are required to correctly and consistently cite the original authors of the work in accordance with the author's wishes and their chosen software licenses. Failure to do so amounts to plagiarism.
Student Disability Services
In keeping with the University’s policy of providing equal access for students with disabilities, any student with a disability who needs academic accommodations is welcome to meet with me privately. All conversations will be kept confidential. Students requesting any accommodations will also need to meet with Jason Luchs in the office of Student Disability Services, who will conduct an intake, and if appropriate, provide an academic accommodation notification letter to you to bring to me. At that point I will review the letter with you and discuss these accommodations in relation to this course. Mr. Luchs’ office is located in 79 Fifth Avenue, 5th floor. His direct line is (212) 229-5626 x3135. You may also access more information through the University’s web site at www.newschool.edu/studentservices/disability/.]

