Mercyhurst UniversityMath DeptDr Williams Home

MIS 370 Client Side Programming

Assignment 4: Libraries

This assignment will be due by noon on Thursday, May 10

Goal

For this assignment, you'll use a JavaScript library of your choice to create a single page that demonstrates the functions of the library.

Requirements

Part 0: Assignment Set Up

NOTE: While this part of the assignment is ungraded, all directions must be followed exactly or your assignment may not be collected.
  1. In "public_html/courses/MIS_370/assignments" directory, create a file called "assignment4.html" (or .php if you prefer). You can use the template and css from Assignment 0, keeping the header and footer as before but removing any inner content from your <div>s, <main>, and <aside>.
  2. Create a file called "assignment4.js" within your "public_html/courses/MIS_370/includes" directory. Refer to this file by including <script src="PATH/assignment4.js"></script> (with PATH replaced by the correct relative path to your .js file) within the body just before </body>. All JavaScript code for this assignment should appear in this file, not within the assignment4.html file.

Part I: Page

You are free to create a page with any applications, forms, games, animations, or other elements that you would like to construct using at least one JavaScript library. Libraries that are dependent on jQuery are acceptable. Your code may also include "vanilla JavaScript". If available, please include the minified version of your library (ending with .min.js or similar). A few exceptions:
  1. Frameworks that use JavaScript libraries for page layout, such as Bootstrap or Foundation, will not count as a valid library, though you are free to use them along with another library.
  2. Libraries that generate code for you, such as Timeline.JS or d3pie, are not acceptable. Again, you can use these along with another library, but the majority of the code should be your own.
Your project does not necessarily need to be a complete functioning application, but should demonstrate a reasonable understanding of the use and syntax of your chosen library.

A few warnings:
  1. Some libraries, such as D3 or ThreeJS, have a steep learning curve and may not be suitable for a quick project. If you've experimented with these before, you are free to use them here, but I would suggest avoiding the more complicated libraries if you are trying them out for the first time.
  2. There is a very good chance you will select a library that I am not familiar with. As a result, I will not be able to provide much assistance beyond the documentation for the library itself.
  3. When choosing a library, make sure there is sufficient documentation, examples, and support. Newer libraries may not be thoroughly tested or have a large number of users. Older libraries may not be used anymore or rely on other deprecated libraries. Aim for one that seems relatively popular, has been available for at least a year, and has been updated recently.
When in doubt, send me an email with the name of the library you plan to use, along with a link to its source. I'll check that the library would be acceptable for the assignment.

Part II: Extras

The remaining 15% of your grade will be determined by the overall effort and time you put into the assignment.

Additional Notes

  • Your code should reflect best practices as discussed so far in class. This includes semicolons at the end of lines, indentation of code blocks within functions, etc. Points may be deducted from otherwise functional code if it is poorly written and/or difficult to read. Do NOT minify your code.
  • All CSS should be your own. All extraneous lines of CSS should be removed before your assignment is collected.
  • This is not a group assignment. You are expected to produce your own work and follow the course collaboration guidelines.
  • It is your responsibility to make sure you can access the server and modify your directories. You are not required to access the server from home, but it is highly recommended you attempt a connection if you plan to do any work outside the labs. All assignments in this course will be collected from the server - it is your responsibility to make sure you are able to fulfill this requirement.
  • Your HTML and CSS work should validate and follow best practices.