Program documentation

profileLiam0r
Deliverable.pdf

COMP 3004 – cuACS Deliverable #2

Due: Tuesday, March 5, 2019 at 8:30 AM (morning)

Algorithm Design Document

You will design your Animal-Client Matching (ACM) algorithm, as specified in the project description posted in cuLearn, and you will provide a PDF document that describes it. Your document will define, explain, and justify the following:

• a minimum of twelve (12) separate and original non-physical attributes to be used by your algorithm for matching animals available for adoption with the clients who wish to adopt them

NOTE: a large proportion of binary attributes, such as those with yes/no values, will result in an algorithm that is insufficiently original and complex, and will likely earn a failing grade

• the valid range of values for each attribute

• a unique set of rules for matching together animal and client profiles, based on the attributes contained in those profiles; the rules must use all the attributes that you define, including a client’s own attributes and their matching preferences

• a description of the algorithm detailing how the rules are used to compute the optimal set of matches

Your algorithm will be evaluated based on the variety, originality, complexity, and appropriateness of its matching rules and attributes.

Algorithm Design Presentation

Presentations discussing each team’s ACM algorithm will take place in class on March 5, 7, 12, 14, and possibly into March 19. The projected date each team’s presentation will be decided a few days in advance, but the exact time will be random. All teams are expected to be in the classroom at the start of their presentation day. Each team will be given five (5) minutes to explain and justify their algorithm, including their choice of attributes and matching rules.

Each team will submit their presentation slides in cuLearn before the Deliverable #2 due date. Modifications to the presentation slides after the due date and time will be disallowed.

Feature Implementation

You will implement the following cuACS features, as specified in the project description posted in cuLearn:

• Staff/client feature: View all animals (listing and detailed information)

• Staff feature: Add animal, with all the animal profile information required by the ACM algorithm

• Staff feature: View all clients (listing and detailed information)

• Staff feature: Add client, with the basic contact information

Your submission must contain a minimum of 25 different animal profiles and 5 client profiles in persistent storage. These profiles must be loaded into memory when the program launches. The animal profiles must include values for all physical attributes, as well as all the attributes defined for the ACM algorithm. The client profiles must include the basic contact information.

COMP 3004 -- Winter 2019 cuACS -- Deliverable #2 1/2

Grading

Grading breakdown:

• Algorithm design document: 40%

• Algorithm design presentation: 20%

• Feature implementation: 40%

View all animals (staff/client) 10%

Add animal 10%

View all clients 10%

Add client 10%

Format

Documentation deliverables must be submitted as a PDF document. They must be typed and legible, and they must be professional documents, including a cover page, page numbers, table of contents, table of figures, section numbers and names, etc. All diagrams and tables must be introduced and explained in the text. All the text must be in your own words. Copying or pasting from any sources, even cited ones, is strictly disallowed. Documents that do not conform to these specifications will not be graded.

Coding deliverables must be delivered as a single tar file consisting of all source code, data files, and configuration scripts, as well as installation, build, and launch instructions in a readme file. Do not provide object files and project executables as part of your submission. Coding submissions that cannot be downloaded into a fresh directory and un-tar’ed, then successfully built with a single command in the course VM, and successfully launched with a single command in the course VM, will not be graded. Submissions without a readme file to explain installation, build, and launch instructions will not be graded.

COMP 3004 -- Winter 2019 cuACS -- Deliverable #2 2/2