CSCI 487 Senior Project
Assignment Requirements

This document specifies the requirements for the various assignments in the Senior Project course.

Honor Code Statement

All aspects of CSCI 487 fall under the provisions of the School of Engineering's Honor Code. For each document that you submit as a part of your project, you must attach and sign the following Honor Code statement:

         In keeping with the Honor Code of the School of Engineering, I 
affirm that I have neither given nor received assistance in preparing this 

Documents will not be accepted by the instructor unless the Honor Code statement is included and signed.

Important Note on Grading of Assignments

This course is the "capstone" of your entire undergraduate degree program. Thus your written work, your oral presentations, and your interactions with your instructor and sponsor, as well as your programming and technical work, provide key insights into the practice of a computer professional.

Therefore, it is expected that you bring to this experience a mature and professional manner. The professional never offers excuses for why something has not been completed or does not work. The professional always assumes the customer (sponsor) is correct regardless of what is said by the customer. The professional is always positive. Problems are always presented as a series of solutions from which the customers selects the best alternative.

Acting as a professional, you should not submit documents with misspelled words or grammatical errors. The instructor will subtract points on any assignment for each misspelled word or grammatical error.

The instructor may, in some circumstances, ask you to revise and resubmit a document within some specified period of time.

Similarly, your final oral presentation should be free from grammatical errors.

Take advantage of the features (e.g., spelling and grammar checking) of your word processor and, especially, of the resources provided by the University. The University provides the Writing Center and the Williams Learning Center to help you with these problems. The Speech and Hearing Center will provide you with help in dialect reduction if you feel that your dialect prevents you from speaking without grammatical errors.


The purpose of this requirement is to encourage you to determine your project topic as quickly as possible and to undertake preliminary thinking and planning about the work that your project will involve. Before writing your prospectus, you should have at a minimum one brief preliminary discussion of your project with your sponsor. Write a very brief description, abstract, or overview of your project topic. It may be difficult to include very much detail at this point, but try to be as specific as possible.

Describe what your project is concerned with, what you will need to do to complete the project, and what the end result or product of your project will be.

Type your prospectus. The maximum length is one page. Also include the following items of information: your name, email address, and a telephone number at which you can be reached; a proposed title for your project; the name, organization, telephone number, and email address of your sponsor; a signed Honor Code statement (which should be attached as a separate sheet).

Your prospectus must be approved by your instructor before you begin work. A partial or even complete project will not satisfy the requirements for CSCI 487 until your prospectus has been approved by the course instructor.

Submit your prospectus to your instructor on the assigned date. The instructor will review your prospectus as quickly as possible in order to suggest changes that may be necessary prior to approval. Your prospectus will also be reviewed by your sponsor in a manner to be discussed in class.

Repeat: the maximum length of the Prospectus is one typed page.


There are two reasons for this requirement:

  1. to encourage you to avoid reinventing the wheel
  2. to provide your sponsor with a list of references relevant to your project

This bibliography should include all sources that you have consulted, read, reviewed, and/or skimmed in carrying out the project. Early in the semester (when this assignment is due), include items that you plan to read or review later, even if you have not had time to consult them in detail yet. (By the time you prepare your final report, changes in the bibliography can be made.)

You should include obvious reference sources, such as hardware and software manuals and guides relevant to your project. However, this assignment also requires you to undertake some library research to find books, reports, and journal articles that are relevant to the topic of your project. Go to the University library; use the catalog, but also ask the librarians on duty in the reference room for assistance in tracking down documents relevant to your project.

Entries in your bibliography should be presented in a format consistent with the bibliographic style presented in Kate L. Turabian's A Manual For Writers of Term Papers, Theses, and Dissertations. Copies of this book can be purchased in the bookstore or found in the library. It is recommended that you organize your bibliography in sections that group different types of items (for example, manuals; books; journal articles; Web pages) together.

Each entry in your bibliography should include a brief annotation, up to 50 words, written by you, describing what that item is and why it is relevant to your project.

There is no minimum or maximum number of items that must be included in your bibliography. Your bibliography should demonstrate that you have done some serious library work to determine relevant sources. While there is no minimum number of entries it is expected that this document will be several pages long and will be the result of five to ten hours of research.

Your bibliography should be typed. Include your name and project title as part of the heading for the bibliography. Entries and annotations should be single-spaced, with one blank line between each entry. Attach a signed copy of the Honor Code statement to the bibliography.

Design Specification and Presentation

The purpose of this requirement is to encourage you to approach your project in an orderly, organized, top-down manner by defining overall design requirements and implementation strategies at the time that you are preparing to begin the actual programming work.

Write a narrative document that describes your project in more detail than was required (or perhaps possible) at the time that the prospectus was written. Organization and format of this document is up to you, but you should include discussion of the following.

Overview of your project:
Describe in some detail what your project is concerned with.
User requirements:
Describe in some detail your sponsor's expectations concerning your project, how your project will be used, etc. As appropriate, characterize the different groups of users of the delivered project and their particular requirements.
Development system overview:
Describe the hardware and software environment that you will use in developing the project, summarizing alternatives that may have been considered.
Target system overview:
Describe the hardware and software environment that will be needed to support use of the delivered project, summarizing alternatives that may have been considered.
Implementation strategies:
Describe implementation strategies that have been used by others (your earlier library research is relevant here). Describe implementation strategies that you have considered, with brief discussion of the pros and cons of each. Describe the implementation strategy that you have determined to pursue, explaining why you have chosen this strategy, how this strategy will meet your sponsor's and the user's needs, etc. A modular decomposition with interface specifications is recommended.
User interface:
Document your project's user interface (if one exists). You may want to give screen snapshots and state transition diagrams.
Test and integration plan:
Describe your plan for testing the project. Include your plans for testing of components and for integration of the components into a full system.

Note: The above assumes that your project consists primarily of designing and implementing a software system. If your project has a different nature, then you may want to discuss the content of your design specification with your instructor.

The design specification document should be typed, double-spaced. Include your name and project title as part of the heading for the document.

The length of this document is open, but it should certainly be longer than the one-page prospectus. Perhaps five typed, double-spaced pages would be a reasonable length.

Attach a signed copy of the Honor Code statement to your design specification document.

Presentation. On the day that the design specification is due, you should be prepared to present your design orally to your instructor and classmates. The presentation should take approximately 10 minutes. Use audiovisual aids as appropriate.

The purpose of this presentation is to help you discover any problems with your design and to give you practice in presenting technical material orally. (See the section on the final oral presentation for more information about presentations in this class.)

Developing a Contract

As a professional you will be contracting your services. The key to a successful project is developing a contract that meets the needs of parties, yet provides financial reward for the service provider.

Helpful Suggestions From a Burnt-out Software Developer

Software Contracting Dos and Don'ts
HTML - Sample Web Contract
doc format - Sample Web Contract

License Agreement

The rational behind this requirement is to provide you with some informal experience in preparing a license agreement that defines the relationships between, and expectations of, you and your sponsor. The license agreement essentially defines an academic "contract" between you and your sponsor.

An issue that may need to be resolved with your sponsor is what rights you and the sponsor (or his organization) have to the project materials (program executables, source code, documents) after delivery. However, be aware that raising this issue will sometimes make it difficult to formulate a license that both you and your sponsor can agree upon--especially if your sponsor is in a private business.

In constructing the agreement understand that he or she (or the organization) should have the right to use, modify, and extend project software and materials after delivery. The sponsor should also have the right to protect any confidential or proprietary information or components that went into your project. However, since you were not paid to carry out the project, you may also want to retain the right to use it for other purposes, including development of a derivative product. You and the sponsor might want to consider allowing the software to be freely distributed under something like the GNU General Public License. Or perhaps another Open Source license like the ones listed under licenses.

Please review the provided sample license agreements, and prepare a similar document concerning your project. Your design specification document has already been written, so you should have no trouble in preparing a license agreement, modeled after one or more of the samples, which covers the specific characteristics of your project.

You will need to type your license agreement in a format similar to the attached samples. It is your responsibility to arrange for you and your sponsor to sign the license agreement before turning it in to the instructor. This should provide you with one last opportunity to make sure that you and your sponsor understand clearly what expectations are associated with your project. Most sponsors will expect the student to explain clearly and distinctly what the various features of your license agreement mean; some sponsors may in fact refuse to sign the agreement until you clear up any ambiguities.

Attach a modified version of the Honor Code statement to your license agreement document that you submit to the instructor. (This modified statement states that you have done, by yourself, the work of preparing the document although it is modeled after one or more of the samples.) The Honor Code Statement should be on a separate sheet of paper.

Users' Manual

The purpose of this requirement is to encourage you to provide your sponsor and other users with clear instructions about how to install, use, and maintain the software associated with your project.

Your user manual should be well written and presented in a professional, attractive format. Clear explanations should be provided for naive and untrained users. Assumptions and restrictions associated with your program should be explained. Include a section in which you discuss further expansion of your program and suggestions for enhancement.

When evaluating your project, the instructor use your Users' Manual as the only reference to run your program. The viability of your project will be judged by how much difficulty there was in using your program with your user manual. Remember, no assumptions will be made about the machine or the program.

Attach a signed copy of the Honor Code statement to the user manual that you submit for grading.

Program Listing and Description

The purpose of this requirement is to encourage you to produce high quality, well-documented source code.

Documentation should include:

Program documentation can be presented in any appropriate format and style. Your goal should be to prepare a program listing that could be read, and understood, as easily as possible by some future consultant who might need to work on it.

The following are relevant criteria:

Attach a signed copy of the Honor Code statement to program listing you submit. This should be on a separate sheet.

Oral Presentation

The purpose of this assignment is to encourage you to be able to make short verbal presentations in professional situations.

Toward the end of the term, you will be assigned a time slot for the presentation of your project. Your presentation should be no longer than 20 to 25 minutes; you will be interrupted at the end of 25 minutes and asked to sit down. Practice your presentation so that you are sure that it will fit into the 20-to-25-minute limitation.

Each presentation will be followed by a brief question session.

In determining your grade for the oral presentation, the relevant factors include:

The presentations are open to the public. In general, your audience will include the other senior project students, your instructor, other faculty members and students from the Department, your sponsor (whom you should personally invite), and any other interested persons. The audience members will be asked to fill out an evaluation form for your presentation.

In consultation with your instructor and fellow students, you are responsible for making appropriate arrangements for and setting up any equipment and software you need for your presentation.

Sponsor Evaluation

The purpose of this requirement is to provide your sponsor with an opportunity to evaluate your performance in pursuing your project. Remember that your sponsor is your client or customer. Under the terms of the license agreement, you are to carry out the project and deliver the specified result to your sponsor before the end of classes for the semester.

See the attached sponsor evaluation form. It is your responsibility to present the form to your sponsor, and to make sure that your sponsor returns the form directly to your instructor on or before the deadline listed in the Schedule. The form should be mailed directly using campus mail or the U.S. Postal Service; the student should not deliver this to the instructor by hand. It would be courteous and convenient for the student to provide the sponsor with an addressed envelope, stamped if necessary.

You should mention to your sponsor that your instructor will probably call him or her, after the evaluation form has been received, for a brief conversation concerning your performance in the course.

Final Report

The purpose of this requirement is to provide an opportunity for you to bring all aspects of your project together into one complete, final document. Organize your materials in an attractive format and bind them in the following order:

  1. title page (name of project, your name, sponsor, class and semester identification, etc)
  2. signed Honor Code statement
  3. abstract (can be based on your earlier prospectus)
  4. report (write a narrative discussion of your project as a whole, in a research paper format)
  5. users' manual
  6. license agreement (a signed copy)
  7. original design specification (include addendum, if appropriate, describing variations/changes in the original design)
  8. bibliography
  9. program listing and description

Note that item (4) is the only thing that is really new about this assignment.

You are reminded that the Department of Computer and Information Science has available to ALL of its students the hardware and software that allows all documents to be completed in a very professional manner. As Seniors you are expected to use this equipment or similar equipment for all final documents.

In addition to delivery of the final report, you are required to demonstrate your project to your instructor.