Project One: JavaScript Program Due Thursday, September 21, 11:59pm CT
Project Description
This project asks you to build a small program in JavaScript that runs in the browser. It will operate on a small piece of JSON data that you will provide. The program should manipulate that data in some way, and present it in the browser.
Project Goals
- Understand the basics of JavaScript values, variables, functions, and objects
- Understand the basics of writing, accessing, and manipulating data in JSON
- Learn to use a version control system (Git and GitHub)
Deliverables & Milestones
-
A single HTML page that either loads your program as a separate
.js
file or includes your JavaScript on the page, inside of <script> tags - A GitHub repository containing the draft of your project. Link posted to Basecamp by Thursday, September 14
- Substantive comments on all other student projects by September 18
-
An email to the instructor containing the projects two final deliverables by September
21, 11:59pm CT:
- A 4-5 sentence self-critique memo of your project and your progress in class to this point
- The https:// link to your project’s GitHub repository
Requirements
- Your JSON data must:
- Use obvious/understandable attribute names written in snake_case
- Include some piece of date/time information, in a standard format
- Include a number, a string, and a boolean
- Include an array (which could itself contain numbers, strings, and/or booleans
- Your JavaScript program must:
- Run error-free in the browser, but also provide some form of error handling
- Operate on a standards-compliant DOM
- Be attached to an HTML/CSS design that has the foundations of responsive design
- Be written in native JavaScript (no CoffeeScript or other pre-processors)
- Organized, readable source that is hand-written and original (no WYSIWYGs or code-generators, no Bootstrap or other off-the-shelf HTML or CSS frameworks)
- A Git repository with frequent commits and meaningful commit messages that accurately reflect each set of changes that you make
- GitHub repository must contain only the files and commits from this project