produceconsumerobot


 

 


 


 


 

Mobile Web

ITP, NYU
Spring 2012
Thursdays 3:30 to 6:00
Sean Montgomery
sm4537
Office Hours: Thursdays 1-2p sign up
Syllabus: http://produceconsumerobot.com/mobileweb2012/
Google group: http://groups.google.com/a/nyu.edu/group/mobileweb2012-group?hl=en

Description:

The miracle of mobile computing has arrived. Exceedingly powerful computers, seamlessly networked and with a variety of in-built sensors... all right in your pocket. This course will be a fast-paced, project-focused course to learn mobile programming in 7 weeks. We'll use the cross-platform compatible, html/javascript-based PhoneGap libraries to program Android phones. While the course will exclusively use Android as an example platform, the skills acquired will be broadly transferable to other platforms, including iOS.
Topics will include:
Using HTML / CSS / Javascript to write apps Accessing device events and notifications
Monitoring built-in sensors (accelerometer, GPS, compass)
Local file storage Media capture and playback
Extending PhoneGap with plugins (SMS, Bluetooth, etc.)
Students will complete weekly exercises and a final project of their devising. Bring your computer and your Android phone if you have one. A limited supply of Android handsets will be available for students to work with. This two point course will meet in the first seven weeks of the semester.

Schedule:

Week 1 - Hello / Hello PhoneGap:

  • Introductions & overview
  • Hello PhoneGap
  • Hello HTML

Homework: Make a simple HTML app, Prepare a written project proposal and presentation

Week 2 - Webdev Tools / CSS:

  • Project proposal pitches
  • Firebug
  • Weinre
  • Begin CSS

Homework: Play with Firebug, Outline your project stages, Photoshop a user interface

Week 3 - Javascript

  • CSS
  • Javascript

Homework: Walk through the CSS, Javascript and the DOM examples from the class notes, Create a page for your app using CSS, Javascript, and the DOM.

Week 4 - PhoneGap API

  • Events
  • Connection
  • Notifications
  • Device info
  • Accelerometer & GPS
  • Photo capture
  • Audio capture
  • Audio Playback

Homework: Work on your app, Extra Credit: implement PhoneGap API functionality, modify the tabs example to look and feel like an app.

Week 5: Contacts / Plugins

  • Contacts API
  • Plugins

Homework: Finish the UI for your app, Extra Credit: implement the PhoneGap Contacts API, implement a PhoneGap Plugin.

Week 6: File system / HTML Forms / Server Communication

  • File system - Read / write / upload / download
  • HTML Forms
  • Server communication

Homework: Finish your final project and presentation

  • Project
    • Upload a zip file of your app project to your blog (or email it to me)
      • by 2pm on Thursday (so I can load them up for class)
      • include any additional libraries/jars/etc required to run your app
    • See Final Project Grading
  • Presentation
    • <5 minute presentation
    • Style: VC / Art grant pitch
    • Target 3 slides - web accessible from my computer
      • Ideally on your blog
      • or emailed to me by 2pm on Thursday
    • Use Emulator / Droid@Screen to display your app to the class
    • Answer these questions:
      • What motivated your app?
      • What it does it do?
      • What are the 2 most similar apps out there?
      • How are they different from your app?

Week 7: Project Presentations

Grading:

34% Class Participation/Attendance
33% Assignments
33% Final Project

Attendance:

2 unexcused absences will fail
5% off your participation grade each time you're late

Assignments:

Assignments will be given on a weekly basis as noted on the syllabus (actual assignment subject to change depending on where we get in class). Homework will be "turned-in" via your blog. You are welcome to reuse an existing blog but please make it clear which entries are for this course (perhaps with a category). If you don't have a domain or feel comfortable installing your own blog software, feel free to utilize the blogging software that ITP has setup here: http://itp.nyu.edu/blogs/.
Typically homework will be programming an app and should have the following:
Clearly stated goals
Sources that you used
Code snippets
Screenshots of app working/breaking
Log snippets of app working/breaking
zip file containing all source code in your project.

My personal copyright policy: rip, hack, cite
BUT, pay attention to licenses before you use it and look at http://library.nyu.edu/copyright/
Do NOT use other student's code for homework. You may work near one another on homework, share ideas, debug together and share solutions to problems, but you may not share code.

Assignment Grading:

20% if it builds
20% if it runs without errors
20% for good coding style
20% for aesthetic style
20% for quality of documentation - Commented code, links to code sources/interesting sites, screenshots etc
Late assignments will lose 10% each day

Final Project:

Each student will create a final project of their own devising to showcase the creative use of what they've learned in Mobile Web.

Final Project Grading:

10% Written project proposal
10% Oral project proposal
15% if it builds
15% if it runs without crashing
10% for good coding style
10% for aesthetic style
10% for documentation
10% creativity / demonstration of skills
10% project presentation
 
 
produceconsumerobot