Monday, September 22, 2008

Project 3b

Due Date: Wednesday, 8 October

Individual Project


Familiarity with

  • DOM (document object model)
  • JavaScript
  • client-side scripting and DOM event handling


In this project, you will extend your prototype from project 3a to include two types of dynamic client-side behavior:

  • enhanced input controls
  • simple processing of input data


  • Incorporate a date/time picker for entering date and time of meals, activities, vital signs, for choosing the time period for the average energy report, etc.
  • Record all tags entered by a user in a suitable data structure. Incorporate a tag picker that allows the user to pick existing tags from a list or enter new ones.
  • For each meal, estimate the ingested energy as 100 times the number of words in the description. Display the result as the meal is recorded. Add an object representing the meal to a suitable data structure.
  • For each activity, estimate the expended energy as 50 times the number of words in the description. Display the result as the activity is recorded. Add an object representing the activity to a suitable data structure.
  • Use the internal data structures to compute the average food energy consumed per day during a given time period.

All code for dynamic client-side functionality must be provided in the form of external JavaScript source files using components from the jQuery library; embedded JavaScript within XHTML documents is not permitted. The visual design requirements and nonfunctional requirements from project 3a still apply.


Total: 10 points

  • 1 - valid XHTML 1.1 (browser shows standards compliance mode)
  • 1 - external CSS, no style attributes in content documents
  • 2 - external JavaScript, no embedded code
  • 1 - date/time picker
  • 2 - tag recording and picker
  • 1 - calculate energy intake from meal
  • 1 - calculate energy expense from activity
  • 1 - calculate average net intake/expense


Please send the instructor email as soon as your project is ready to be reviewed. The date your message is received counts as the submission date. Be sure to include your departmental Linux ID in your email message.

No comments: