CSci 487: Senior Project
Spring 2018 Assignments

Instructor: H. Conrad Cunningham

10 May 2018

H. Conrad Cunningham
Professor of Computer and Information Science
University of Mississippi
211 Weir Hall
P.O. Box 1848
University, MS 38677
(662) 915-5358

Assignments

Professional Conduct

As a student in CSci 487, you are obligated to conduct yourself in a professional, ethical, and legal manner according to the applicable policies, procedures, and expectations of the Department of Computer and Information Science, your School or College (Engineering or Liberal Arts), The University of Mississippi, and discipline of computer science (e.g., ACM Code of Ethics) and to the applicable Federal and State laws.

It is your responsibility to carry out the work on your senior project and all of its component assignments with academic integrity. The project is an individual project that you must complete yourself, without assistance from other individuals.

You will expected to sign a Professional Conduct Affirmation statement acknowledging these expectations.

Selecting a Project

The basic idea of this course is to simulate a computer consulting job, where your instructor is the manager of your consulting organization and your project’s sponsor is a client who needs a project done. You are the computer consultant who is assigned to complete the project. Your duty is to meet the needs of your client (sponsor) as well as the requirements of your manager (instructor). The only way you can succeed is by actually completing the project by the end of the semester.

The following rules, or restrictions, apply to your project:

  1. Your project must have one non-student person who agrees to serve as the sponsor of the project.

  2. Your sponsor cannot be related to you.

  3. Except in special circumstances approved in advance by the instructor, your sponsor should be located in northern Mississippi (preferably on campus or in the local community).

  4. Even if your sponsor is someone with whom you have, have had, will have, or would like to have, paid employment, your project should involve unpaid labor on your part.

  5. This is an individual project. You are responsible for all aspects of the project.

  6. You are expected to find a sponsor and develop a project topic on your own. The project should involve nontrivial work requiring the knowledge, understanding, and skills you have attained in the undergraduate computer science program. The total amount of work should be roughly equivalent to a typical three-credit course.

  7. You must make sure that your project is approved by the instructor and the sponsor and that the work you undertake satisfies the expectations of both instructor and sponsor.

  8. You should identify the hardware, software, data, and reference materials you need to complete your project. Make sure that these are available–or will be available soon enough for you to finish your project by the last day of classes for the current semester.

  9. You must carry out your project with academic integrity. You are expected to complete the project yourself, without assistance from other students, tutors, computer consultants, and other individuals.

  10. You must ensure that your project conforms to the law and principles of professional ethics. In particular, no aspect of your project may involve any form of software piracy, copying, or plagiarism.

During the first few days of the semester, please discuss any questions concerning your proposed topic with the instructor (or teaching assistant).

Status Reports

Most computing projects in work settings require periodic status reports. These help keep a project on track and the management aware of the progress being made and any problems encountered. Some of these reports are written, others are one-on-one oral reports to the manager or client, and others are reports to a work group. Some reports are informal; others are formal presentations or documents.

This course will use two mechanisms for status reporting:

Status reports are not separately graded documents, but the status reports will be examined by the instructor during assessment of the various assignments.

Prospectus

The purpose of the Prospectus assignment is to encourage you to define your topic quickly and begin work during the first few days of the term. You should choose an interesting and challenging project that you can complete during the semester and that demonstrates your abilities to the faculty, your fellow students, and potential employers.

Before writing the prospectus, you should have one or more discussions of the project with your sponsor.

Write a brief description of your project’s topic. It may be difficult to include much detail at this point, but try to be as realistic and specific as possible. In particular, the prospectus should include:

Prepare your prospectus in a double-spaced format with a 12-point font using a word processor or text formatter. The maximum length is two pages. The prospectus should also include the following information:

Submit your prospectus to your instructor by the due date. Submit both a paper copy to your instructor and a PDF file to Blackboard. The instructor will review your prospectus and suggest changes that may be necessary prior to approval. Your prospectus must be approved by your instructor before you begin the actual work involved in your project. Your prospectus will also be reviewed by your sponsor.

Design Specification

The purpose of the Design Specification assignment is for you to describe your project in more detail than in your prospectus. You should approach your project in an orderly manner by defining the overall requirements and your implementation strategies before you undertake the programming work. This assignment has two parts: a written report and an oral presentation.

In your design specification, clearly define what is needed for the Minimum Viable Product (MVP) to complete the project successfully. Your MVP must be approved by the instructor. The instructor will use the MVP to evaluate your project at the end of the semester.

You may also define other product features that you plan or desire to deliver beyond the MVP.

Written report

If your project consists primarily of the development of a software system, the design specification should describe the following aspects. (If your project has a different nature, please discuss the content of your design specification with your instructor.) Use citations as appropriate.

Prepare your design specification in a double-spaced format with a 12-point font using a word processor or text formatter. In general, the document should be five-to-seven pages long. (If you give several screen shots or diagrams, you may need a longer document.) Include your name and project title in the heading of the document.

Submit your initial design specification to your instructor by the due date. Submit both a paper copy to the instructor and a PDF copy to Blackboard.

Your MVP must be approved by the instructor.

Submit a revised design description at mid-semester that reflects the state of your project resulting from feedback and additional weeks of work.

Oral presentation

The purpose of the design presentation is to help you discover 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.)

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 no more than 10 minutes. Use audiovisual aids as appropriate.

For large classes, the design presentations will be distributed over more than one day according to the schedule set by your instructor.

Undergraduate Capstone Project Survey

The University’s Director of Technology Management within the Office of Research and Sponsored Programs (ORSP) has requested that CSci 487 students, their sponsors, and their instructors fill out the University of Mississippi Undergraduate Capstone Senior Project form.

The purpose of this form is “to help communicate expectations among the Student(s), Client(s), and UM faculty” concerning a project’s use of the client’s “confidential information” and the status of “intellectual property” developed by the project.

To expedite completion of the form, the Department of Computer and Information Science suggests that you attached appropriately revised and updated versions of your Prospectus and Design Specification to the form.

The survey form include the contact information for the Director of Technology Management if your sponsor wishes to discuss any issues directly with that office.

Submit a copy of the Survey form to your instructor in class on the due date. Please retain a copy for inclusion in your final report.

Users’ Manual

The purpose of the Users’ Manual assignment is to encourage you to provide your sponsor and other users with clear and complete instructions on how to install, use, and administer your project’s product.

This section assumes that your product consists primarily of standalone software. If your project is of a different nature, then you will need to restructure the users’ manual appropriately. However, keep in mind that the purpose of this assignment is to explain how to use the product effectively.

Installation

The users’ manual should explain how to install and configure your project’s product on a computer system. As appropriate for your project, consider the following issues:

Use

The users’ manual should clearly describe the user interface structure and functionality. As appropriate for your project, consider the following issues:

Some of these features can, of course, be partially handled within the user interface itself – by providing an intuitive user interface design, informative error messages and warnings, builtin help facilities, etc. But separate documentation may be needed for some aspects.

Administration and Maintenance

If your product requires routine maintenance or administrative tasks not covered above under Use, you may need to describe those in a separate section.

Similarly, you may also want to include a section that discusses how to enhance and extend the product and suggests possible enhancements.

Assignment Submission and Assessment

Prepare your users’ manual in an appropriate format for the users of your product.

Submit the users’ manual to your instructor for evaluation by the due date. Submit both a paper copy to the instructor and a PDF or HTML file to Blackboard.

During evaluation of your product, the instructor and other evaluators will examine your users’ manual to run your program. They will determine the viability of your project by how much difficulty they have using your program with your set of instructions. Remember the instructor will make no assumptions about the machine or the program. The will do just what this document tells him to do.

Product Implementation

The purpose of the Product Implementation and Documentation assignment is to encourage you to produce a high quality, well-structured, and well-documented program implementation. Your goal is to prepare program source code and documentation that enables some future consultant to maintain and enhance your product readily.

Use a consistent programming style that follows the best practices taught in your academic program and learned in internship or job experiences. Good programming style includes:

Because you may be asked to print program listings, make sure the format of the source code both displays on the monitor and prints on paper in a pleasing fashion.

Good practices for program documentation include providing the following as either block comments in the source code or as supplemental documentation:

Use appropriate tools and notations in your documentation. For example, consider using an Entity-Relationship (ER) diagram to describe your database design, a Unified Modeling Language (UML) class diagram to describe your program’s class structure, a Backus-Naur Form (BNF) grammar to describe your command language, a documentation markup language (e.g., JavaDoc) to generate documentation from your source code, a transition diagram to describe transitions between program states, etc.

Prepare your supplemental documentation with a word processor, text formatter, or other appropriate tools so that it can be presented as a PDF or HTML document.

Submit your source code and documentation to Blackboard as a zip-format file.

Assessment Exam

As a part of the Department’s evaluation of the undergraduate computer science programs, the faculty administers a summative assessment examination in the Senior Project course. The instructor will schedule this exam near the end of the semester.

Final Oral Presentation

The purpose of the Final Oral Presentation assignment is to encourage you to be able to make short oral presentations in professional situations.

Toward the end of the semester, you will be assigned a time slot for the presentation of your project. Your presentation should be 15 minutes long. There will be a question and answer session after each presentation.

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

The presentations are open to the public. In general, your audience includes the other Senior Project students, your instructor, other computer science faculty members and students, your sponsor (whom you should personally invite), and any other interested persons.

In consultation with your instructor, your fellow students, and the systems staff, you are responsible for arranging to obtain and set up any needed equipment and software for your presentation.

Normally the presentations will be scheduled at 20-minute intervals during the last two regular class periods of the semester. When there are too many students to fit in the class periods, the presentations will be spread over more days and more times. For example, a 42-student class might use the 3:00-7:40 p.m. periods on Monday, Wednesday, and Friday of the last week or perhaps use times on Tuesday and Thursday or the previous Friday afternoon.

All students are expected to attend all the presentations. Any student who cannot attend a presentation should obtain the prior approval of the instructor.

After the presentation, submit a copy of your presentation materials to Blackboard. Use a zip file if your materials include more than one file.

The purpose of the Sponsor Evaluation 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 your agreement, you are to carry out the project and deliver the specified result to your sponsor before the end of the semester.

It is your responsibility to ensure the instructor has complete and correct contact information (email address, telephone number, postal address) for your sponsor so that the sponsor can be contacted by the instructor to obtain the evaluation.

You should mention to your sponsor that your instructor will contact him or her to evaluate your performance in the course.

Final Report

The purpose of the Final Report assignment is to provide you an opportunity to bring all aspects of your project together into one complete, final document. Be sure to include corrections to each document, as indicated by the instructor.

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. abstract (an overview of the project based on your earlier prospectus)
  3. report (write a narrative discussion of your project as a whole, in a research paper format)
  4. users’ manual
  5. NOT REQUIRED SPRING 2018 signed copy of the Undergraduate Capstone Design Survey form
  6. revised design specification submitted at mid-semester (include an addendum, if appropriate, describing variations/changes in the design after submission)
  7. bibliography
  8. a copy of the final oral presentation slides or other materials
  9. program source code and documentation (normally include an electronic copy of your project materials on an appropriate medium such as a flash drive, CD, DVD, etc.)

Documents submitted in double-spaced format earlier should, in general, be changed to single-spaced format (which is more attractive and less wasteful of paper).

You should bind the materials in a soft-cover binding that is only as thick as needed. To make the report easier to use and evaluate, Insert tab separator pages between the sections. By using the Department’s facilities such as the binding machine, you should be able to produce materials that are attractive and professional. Discuss the use of the binding machine with the Department’s administrative support staff.

Item 3, the report, is likely only item that is totally new in this assignment. This component is a narrative document that reports your experiences in carrying out your project. In writing this report, consider such questions as: How well were the project’s goals realized? What “went right” and what “went wrong” in your design and implementation or in your interactions with your sponsor? What would you do differently if you were to do the project again? What did you learn from the project? What are possible extensions, enhancements, or alternative approaches to the project that can be considered? Etc. If you keep good notes of your work, it will help in writing this report.

Once complete, submit a bound copy of your final report to your instructor.

You are also required to deliver all your project materials to your sponsor.

Finals Week

Final interview

In addition to submission of the final report, you are required to schedule an interview with your instructor to demonstrate and discuss your project. At this time, your instructor may ask detailed technical questions concerning your product, its design, and its usage. The instructor may invite another faculty member or expert to assist with the evaluation of the final projects.

Exit survey

You are also required to complete the Department’s Exit Survey. This survey is an opportunity for the faculty and staff to find out what you think about your program, the skills you obtained, and your future plans.