CSE/ISE 364 Assignments
Overview
The assignments in this course are designed to help students build, incrementally and iteratively, sophisticated prototypes of multimedia software applications. The intention is to simulate in one semester the stages of an actual commercial development process, with the exception of field-testing. Frequent due dates are intended to keep students on track and to provide feedback for continued refinement. The resulting final project, besides a functioning prototype, will include complete project documentation, including planning documents, design documents, source, and commented code. Project documentation will constitue the "take-home exam" for the semester, and will account for 50% of the grade.
The final software prototype should be a sophisticated application, complete with engaging interaction, substantial media content, and a well-written narrative and user help.
The software prototype has 5 components, each worth up to 10 points:
1. Multimedia content - graphics, video, audio, animation, 3D
2. Interface design - GUI
3. Interaction design - novel inputs such as speech recognition, handwriting recognition, computer vision, sensor arrays
4. Commented code
5. Database and/or other external files
Project documentation has 5 components, each worth up to 10 points:
1. Project proposal, Scope of Work (SOW), and Software Design Document (SDD)
2. Project flow line
3. Narrative - the text content of your project
4. User help, such as a user manual and onscreen help and dialogs
5. Project web site
Students may form teams (up to 3 members) to develop the term project. Students have individual accounts, and project accounts are created for shared work (term project).
Submitting your work
IMPORTANT NOTE:
Students are expected to maintain a backup of all their work for the class.
It is very important that permissions be set properly on your project files so they can be reviewed. Check the permissions for your submission by selecting the file and then choosing "Get Info" from the File menu in the Finder. A dialog will appear with the name of the file, its file size, creation date, etc. Twirl down the "Ownership & Permissions" tab. The last group, "Others", should be set to "Read only".
Exercises
1. Animation
Objectives:
1. Create a self-contained looping animation, such as a walking character, or
a flying bird.
Animate
along a path.
2. Upload to the "animation" folder of your account
on the fileserver as
a .dir (Director
file) and .dcr (Shockwave file).
2. Navigation
Objectives:
1. Create a minimum of 5 screens that can be accessed in a non-linear way. Screens
should have distinct visual and audio content. This is a good exercise to start
developing the structure of your final project. The exercise might be a catalog
of the content you are assembling for your final project. However, it
is
not
a GUI design exercise.
2. Upload to the "navigation" folder of your account on the fileserver as a .dir (Director
file) and .dcr (Shockwave file).
3. Conditional branching
Objectives:
1. Declare global variables, initialize them, and increment them based on conditional
statements
or events. Branch to various screens in your exercise based on the value of the
variable(s). You can use the navigation exercise as the basis of this exercise.
2. Upload to the "conditional" folder of your account on the fileserver as a .dir (Director
file) and .dcr (Shockwave file).
Project research and selection
Objectives:
1. Research campus clients, or off-campus clients (non-profit), whose service
or product would benefit from a multimedia web site or application. Contact
the client and get their approval. Visit their site. Collect as much data
about the client and their customers as you can. Instead, you can come up
with an idea of your own, or choose a project from a list of potential
project ideas (limited).
2. Select team members (maximum of 3). Determine who will execute certain duties,
such as team leader, secretary, database developer, GUI designer, etc.
3. Discuss project ideas with the 364 instructor, as a team.
* Students who don't propose a project, or whose proposal is not accepted,
will be assigned a project.
Upon approval of the project, a project account will be created on the server. Team members will share access to their project accounts on-line, but will retain their personal accounts.
Project components
1. Project scope of work (SOW)
Objectives:
1. Define the project 's mission. What is the problem to be solved? What value
will be added to the client's product or service by a multimedia application?
2. Describe how the need is met now. If applicable, critique "competitive"
software solutions.
3. Create a profile of the client, their product or service, and their target
audience.
4. Establish your approach.
SOW example>>
2. Project homepage
Objectives:
1. Create a web-based journal of your project's development process. Include
a log of team and client meetings and meeting minutes, a catalog of media
assets,
design ideas and sketches, code versions, etc. Content and clear navigation
are important, but don't waste time decorating the site.
2. Name the start page "index.html".
3. Create a logo for your project and put it on the start page for your project.
Project web page example (iSign) >>
Project web page example (WriteOn) >>
3. Flow line
Objectives:
1. Establish the architecture of your project. Illustrate
the flow of the software; show the "repetoire of functionality".
2. Render as a .gif, .jpg, or .pdf. Include source
file (probably .psd).
Flowline Example (Presbytery of LI) >>
Flowline Example (SmartStep) >>
4. Software design document (SDD)
Objectives:
1. Write the software specifications. Include commented critical code, login
and password information, testing and revision history.
5. GUI design and visuals
Objectives:
1. Develop the theme of your project. The theme should be content-driven. A metaphor
for interaction is useful.
2. Design graphics, icons, and screens.
3. Render as .gif(s) or .jpg(s).
6. Narrative and user help
Objectives:
1. Define the narrative for your project. Render the script as a .doc and .pdf file.
2. Create a user manual and embedded help for the application. Submit as .doc and .pdf files.
Narrative example (LILCO) >>
User manual example (SmartStep) >>
Final Prototype
Objectives:
1. Code, comment, and debug.
2. Package your application and external assets.
3. Burn a CD-R (ISO 9660 format) with all project phases, source, and executable
files.
4. Present final project in class.
Prototype example (Long Island Museum) >>