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.