Client-Side JavaScript Programming
1 Purpose
  The purpose of this assignment is to help you acquire (and
  demonstrate that you have acquired) some of the JavaScript
  skills/knowledge that you will need in order to understand secure
  programming for the WWW. Specifically, by the time you complete this
  assignment you should be comfortable with:
  
- Creating HTML/CSS documents that can be used in (client-side)
          WWW applications.
 
- Implementing classes and functions in JavaScript.
 
- Using the JavaScript bindings of the  HTML document object 
          model (DOM).
 
- Implementing event-handlers in JavaScript.
 
- Registering event-handlers in JavaScript.
 
 
2 Overview
  You have been hired by the (fictitious) company 
  
KitchIntel to create a "web app"
  (i.e., a program that uses an HTML document as its user interface).
  The "web app" is called Caloricount and it allows a user to
  calculate the way she/he allocates her/his daily calorie budget
  across meals and snacks.
  
 
3 Tasks
  For this assignment you must complete the following tasks:
  
- Create an HTML document for the graphical user interface (GUI)
          for the "web app".
 
- Create a CSS stylesheet that describes the appearance/presentation
          of the GUI.
 
- Create the JavaScript files that provide the "business logic" of the
          "web app".
 
 
4 Requirements
  Your implementation must satisfy the following requirements.
  
 
5 Hints
  While you are not required to use a particular tool set,
  the right tools are essential. For this assignment, you should consider using
  the debugger in Chrome or Firefox (or the Firebug add-on). It is almost
  impossible to debug JavaScript code without being able to trace the execution
  of a script. 
  
6 Submission
  You must submit a checklist that demonstrate that your
  product satisfies the requirements.
  
  In addition, your app must be publicy available from
  your stu account. The landing page must be named
  caloricount.html and must be in your www/h2
  directory.
  
 
7 Grading
  Your product must satisfy all of the requirements for you to receive 
  full-credit on this asignment, but partial credit will be awarded.
  
  Your checklist must correctly reflect the requirements that your
  product satisfies. More points will be deducted for claiming to
  satisfy a requirement that has not been satisfied than for not
  satisfying a requirement.
  
 
8 Visibility
  Your deliverable will be public (i.e., available to both other students
  in the course and the general population).
  
9 Other Policies
  Make sure you read, understand, and follow all other course policies
  associated with programming assignments.