Final Project
This is an individual project marked out of 50 points.
Passing criteria: You must pass this project in order to pass the course.
Due Date
April 07, 2014, 7:00AM.
Project Features (Min: 30 points, Max: 50 points)
For this assignment, you will take the output of your A3 and continue
development with it by adding extra features. That means, you can clone your
A3 repository and work on a new project repository, or just continue with the
same repository from A3.
In this project, we will use a "buffet" setup for developing your program.
Select any feature(s) from the list below to work on. If you have suggestions,
bring it up with the instructor and it can be added to the list with an
appropriate number of points.
- 3 points each: Use of a classmate's API
- 5 points each: Having your API used by a classmate (a new
feature used is 5 points, the same feature used by multiple people will be
considered as +1 point for each new person who use it successfully)
- 10 points each: Use of public APIs:
- Google Feed API - take any public feeds and display them in a useful
way in your program
- Google Places API - access directory information and display them in
a meaningful way in your program
- Google Geocoding API - convert urban addresses and display them in a
meaningful way in your program (don't bother with "rural" addresses, or at
least don't bother with their conversion accuracy)
- Google Directions API - get directions and integrate this back in
your conversation
- Google Visualization API - utilize data either from the conversation
or elsewhere and display visualization in a meanginful way in your program
- Google Translate or Bing Translate API - translate parts of the
conversation into another language
- Google Prediction API - utilize data either from the conversation or
elsewhere and integrate predicted outcomes back into the conversation
- Wikipedia API - extract knowledge from definitions for your own
conversation use
- Yahoo! Answers API - aggregate answers from Yahoo! for your own
conversation use
- Flickr API - search on specific tags based on your conversation and
display relevant results
- Twitter API - pull the latest tweets from a famous person, parse that
tweet, and integrate relevant information into your conversation
- Facebook Graph API - get information about someone and integrate that
back in the conversation
- Dropbox API - search and share information with the conversation agent
- PayPal API (sandbox only) - simulate an e-commerce scenario for
purchasing a product
- Etsy API - grab the content and talk about it in the conversation
- Google Street View Image API - get/show directions using this API
- Wolfram API - grab the content and talk about it in the conversation
- Google Static Maps API - embeds images into conversation
Note: if you do features that aren't on this list, you may not get any points for it!
Important Note: The number of points associated with each feature is to
indicate the maximum number of points you could get for that feature.
The quality of the feature will still need to be assessed upon submission.
Sharing Project Features
During one of the labs, you will have the opportunity to work with your TA to
get invited onto the course wikispaces
page. Once you've accepted the invitation, you can each view the APIs
available and share your API with other classmates.
Project Documentation (15 points)
Based on the list of your own features and the feedback you got from A3,
refine that list of features for your program and submit the Javadocs for it.
Do this for 5 features.
- 3 points each: For the feature's Javadocs published on the course
wikispace and
don't have to be included into the report PDF you submit on Connect
(this will be evaluated based on clarity and completeness of documentation of your feature)
- Include an updated README as before
- Include a list of your own features if you've done the Javadocs for them
- Include a list of the APIs you've incorporated into your program and
briefly explain how you used it in your chatbot (remember that what you've
gotten points for from A3 will not be counted again for the project)
- Include your full name in this document!
Presentation (5 points)
This will be due *before* the due date.
Viewing what everyone's done gives you a chance to make changes to your
project if you want.
A 60 to 90 second video of your assignment showing:
- A description of your program's conversational topic
- Each feature you've programmed and how you used it to improve either
the conversation or the overall system (since A3)
- A highlight of the APIs you've shared and why people should use them.
- You should narrate and/or provide subtitles
Evaluation Criteria
- 30-50 points: For all chosen programming features listed above.
- 15 points: For all the documentation listed above.
- 5 points: Video submission
(due by 11:59pm 04/01 on Connect).
What to Submit
Put all your documentation into one report and submit it as a single
PDF (on Connect). Be sure to include the URL to your repository for this
assignment in the report.
Be sure to include your full name in your PDF submission.