CSci 487: Senior Project
Fall Semester 1999
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 
assignment. 
                                  
Signature:___________________________________ 

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


Important Note on Grading of Assignments

This is a senior-level class at an institution of higher learning, designed to be taken during the final regular semester of your undergraduate computer science program. This course is the culmination 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, must be at the highest level of quality and professionalism.

Your written work must reflect that you have a college degree; there must not be any misspelled words or grammatical errors in any document that you submit. The instructor will deduct 20 percent of the total 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 oral presentation must also reveal that you have a college degree; your final presentation must be free from grammatical errors. If there are more than five grammatical errors, then the presentation will have to be repeated and the grade for the course will be automatically dropped one letter grade.

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.


Prospectus

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, of course, have at least 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 it is possible and reasonable to be.

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 the actual work involved in your project. Your project has no official standing or status as a means for satisfying 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.


Bibliography

There are two purposes 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

Prepare a list of sources that are 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 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. Computer Science technical reports world-wide can be accessed through the World-Wide Web at http://www.cs.indiana.edu/cstr/search .

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, consisting of approximately 50 words, written by you, describing what that item is and why it is relevant to your project.

Even in this high tech age, simple 3 X 5 index cards can be useful information storage devices. It is convenient to use index cards when you are in the library; you can save yourself a lot of backtracking time by writing down all appropriate bibliographic information, and at least a rough draft of your annotation, at the time that you look at an item in the library. Also be sure to write appropriate bibliographic information on any article photocopies you make or on materials you print from the World Wide Web.

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 in the library.

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.
Implementation schedule:
Outline your expected schedule for the work during the implementation of your project. Give milestones.

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.)


License Agreement

CSci 487 is not a law school course, and there are (usually) no lawyers involved in the projects associated with this course. The purpose of this requirement, however, 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. Here is your instructor's opinion on this matter. In general, since your sponsor did go to some trouble to sponsor your work, he (or his organization) should have the right to use, modify, and extend the 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 an "open source" arrangement (see http://www.debian.org/social_contract.html).

The usual restrictions concerning plagiarism do not apply to this assignment. 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, of course, 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.


Status Reports

Periodic status reporting is a requirement on most computer-related projects in business and industry. This helps keep a project on track and management aware of the progress being made.

During the middle weeks of the semester you will be working intensely on the implementation of your project. The class will meet every two weeks for status reports. You are expected to provide a brief written report (one paragraph to one page) giving the status of your work and the progress you have made since the previous report. Relate your status to the schedule you set up in the design specification. You should also be prepared to discuss your work to that point.


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.

The instructor will, on the day that he evaluates your project, use your Users' Manual to run your program. He will judge the viability of your project by how much difficulty he has using your program with your set of instructions. Remember he will make no assumptions about the machine or the program. He will do just what this document tells him to do.

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.


UP to CSCI 487 root document?


Copyright © 1999, H. Conrad Cunningham
Last modified: Tue Aug 17 19:28:16 1999