Digital Media 2

ATLS 3020 - Spring 2015

Final Project

The final project is the culminating project for the course. This project gives you the opportunity to design and implement a web application in a larger environment. Your project should use many of the programming concepts we've covered throughout the semester.

Step 1: Choosing a project and team

Come up with an idea for an application that excites you. It can be similar to the types of problems you've been working on in your individual projects, but as this is a the final semester project, it should be much larger in scope. This project also lets you plan out from scratch an application know that you know what you can accomplish with HTML, CSS3, JavaScript and jQuery. If this is your first large programming assignment it might seem overwhelming at first, but I will help guide you to a project definition that is neither too large nor too small in scope for this assignment.

This project should be a unique project that you and you team write from scratch. I will not be accepting projects where more than 90% of the functional code is not written by you in this class. You cannot use old projects from other class or contuine with one of the projects you've done in this class (unless more than 90% of the code will be changed from the original project).

This project can be individual or team based. The ideal size for a team is 2-3 class members, I will not be accepting teams with 4 or more members in them. If you choose to work in a team, you will still be required to do the same amount of work as your classmates who are working individually (so your team project should be 2-3 times larger than the individual projects). Working in a team should be a collaborative effort. How each team delegates the work is up to the discretion of the team members. If you choose to work in a team, each team member will be required to individually fill out a brief survey listing each team member's responsibilitues and the amount of work they contributed to the project. Each person (in a team or individual) must publish on their final project on their class portal.

Step 2: Project Plan (20 points)

You will be required to submit a project plan before you start on your project. You must have your project plan approved before you can start on your project. Please talk to me at any point during your project if you want to modify what you documented in the project plan or if you have any questions or concerns.
Your project plan will consist of 3 parts: Definition, Schedule (with schedule), and Design.

Part 1: Definition

The project plan should include a concise description of the application you will be designing, what it will do, and who the intended users are. Spend time thinking this through clearly as this sets the stage for the rest of the project. Make sure you include a list of who will be working on the project.

Example definition write-up (pdf)

Part 2: Structure

The functional spec should outline what the application will do. Details should include a sitemap outlining the site organization and flow, descriptions of the specific functionality or features included, and a schedule of project milestones(including dates) - each assigned to a team member. The functional specification can be either a written description of the system, a bulleted list, descriptive use cases, or a combination of these. You should consider the boundaries of the application to control the scope of the project. No features should be added or removed after the completion of this phase.

Example structure write-up (pdf)

Part 3: Design

The design specification should drill down on your functional spec and describe how the application will be implemented. At this point you should determine how the application will meet the requirements. The design specification should include the visual design, program flow, algorithms and pseudocode for all of the programming logic. A brief testing plan should also be included outlining how you will approach testing your application. At the end of this phase you should be ready to start coding.

Example design write-up (pdf)
Example visual design (png)

Step 3: Implementation (80 points)

Present implementation to the class during "Finals" on Monday, May 4 at 7:30pm.

Implementation involves translating your well documented pseudocode and designs into code. The resulting program should follow all the good programming practices we've discussed. This includes having a well structured program that is fully documented. Any code that is being reused from another source should be clearly documented as such. Failure to do so is equivalent to plagiarism and will be dealt with as such. Your application should be fully tested, using real users for usability testing if possible. Each group will present and roll out their application to the class, have the other students use the application, and provide feedback. The goal is to have the other students use the application and provide feedback.

Project #1: Javascript Game

Write a game in JavaScript. The game can be a guessing game, a calculation game, a quiz, or some other type of game. Be creative!

Part 1: Project Plan

Due Feb 9

Your project plan should include the following:

  • description of your project
  • pseudocode for algorithms and program flow
  • visual design template or example
  • brief description of how you will test your project

You can also add advanced dunctionality:

  • count how many guesses it took to guess the right answer, or the score for the quiz
  • allow the user to choose to play the game over

Sample project plan

Part 2: Finished Project

Due Reb 18

Project 1 due on your portal

Project #2: HTML Animation

Create an animation in HTML5, JavaScript and/or jQuery. This can be a stand alone animation or you can add it on to project 1. Be creative!

Part 1: Project Plan

Due 3/11

Your project plan should include the following:

  • description of your project
  • pseudocode for algorithms and program flow
  • visual design template or example
  • brief description of how you will test your project

Part 2: Finished Project

Due 3/18

Project 2 due on your portal