Web Engineering

 

Web Engineering > Assignments

INFSCI 2955 - Assignments

There will be three assignments, each counting for 15% of your grade. The due dates for the assignments are listed in the Course Schedule. Assignments submitted after the due dates are subject to a 10% penalty. Please contact the instructor if you feel you can not make an assignment's due date.


Assignment 1: Modeling of a web-based application

In this exercise, you will practice modeling requirements, content, and hypertext by developing use cases, a domain class diagram, and a hypertext access model for a help desk system.


Assignment 2: Javascript Exercise (due Thursday, June 26th)

The goal of this assignment is to allow you to explore and use as many of JavaScript's objects, methods, and properties as possible in a small assignment. Some functions must be written from scratch. Other functions, appropriately attributed, may be downloaded from the web and used as a part of the system or as the basis for your own functions. Students using, without attributing, someone else’s code will receive 0 on this assignment.

Develop a series of JavaScript functions that perform one or more of the following:

  • Option 1 - Help Desk Form: Build 2 HTML forms - "Employee Registration" and "Create Ticket" forms - for the help desk system that uses a series of JavaScript functions to 1) validate user input on the client and 2) manipulate the DOM to provide immediate user feedback. Your forms should build off of your use cases from Assignment #1.
  • Option 2 - Widget Board: Write a series of scripts to manipulate the DOM, manipulate string, and validate form input in a mashup such as this. The more creative, the better!
  • Option 3 - Web Accessibility: The American Foundation for the Blind's website allows you to increase or decrease the size of text proportionally on all of its pages. Using JavaScript, build similar functionality into a page from your personal website (or some other document containing a few paragraphs of text and at least one heading.)

    For an extra 10%, use cookies to allow the user-selected text size to be applied across multiple pages and future browsing sessions.
  • Option 4 - The Memory Game: (+10%) There are many examples of the games Memory and Concentration available on the Web. Using those examples as inspiration, build your own version of the game. Your version should allows players to choose the size of the grid (you may limit their options, of course), and should provide various forms of feedback as they play - e.g., encouragement when they get a match, number of turns, etc.

Whether you choose one of the options above or pursue an idea of your own, the two main evaluation criteria for the assignment are 1) how creative was your use of JavaScript, and 2) to what degree did you explore JavaScript's capabilites. Everyone is capable of getting an "A" on this assignment regardless of their levels of programming experience.

Deliverable: Please send to jpg14@pitt.edu a zip file named "HW2_yourPittID.zip" containing all HTML, external script, and helper files (e.g., images, CSS, etc.) that are needed to view your assignment correctly.


Assignment 3: PHP Exercise (due Monday, July 14th)

Build a set of PHP scripts that perform some dynamic server side functionality. Two examples of such programs might be:

  • Scripts that process and manage some kind of data store. This could be a simple online guestbook, or an extension of the Create Ticket form you created in Assignment 2. The scripts would include:
    • The HTML form visitors fill out.
    • A Thank You Page that writes the visitor's information to a file and gives the user confirmation. If you post your assignment to Paradox, you can also include code that sends an email to you whenever a new posting is made.
    • For the guestbook, a View Guestbook Page that presents all guestbook entries in a readable format.
    • For the help-desk system, an All Tickets Page that lists all submitted tickets in tabular form.
  • Alternatively, you can build a search tool for an online book catalogue. The search tool should include the following pages and features:
    • A Search Form that allows users to search using different criteria.
    • A Results Page listing the resources that match the users criteria. Each result on the search page should include a "More Info..." link that takes the user to the resource’s full description.
    • A Full Description Page dynamically generated for each resource.

When submitting your assignment, please email me 1) a ZIP file containing all of your scripts, and 2) a link to your assignment on your SIS (Paradox) website, if you posted your assignment to Paradox. Similar to Assignment 2, any functions downloaded from the Web and used as a part of the system or as the basis for your own functions must be appropriately attributed.


Final Project

In addition to the four assignments listed above, students will complete a final project that counts for 30% of the course grade. The final project requires each student to apply all of the concepts and techniques learned throughout the course while developing a functional prototype of a system. Students may work together in pairs (recommended) or individually to complete the final project. More details will be given throughout the semester, but here are a couple of potential project ideas students may consider:

Other project ideas are certainly welcome, provided their nature and scope is appropriate for the final project.