Reference no: EM132396649
Introduction to Computing Science and Programming I- CMPT 120, Simon Fraser University Canada
Assignment
The objective of this assignment is to implement an automated help message response system for a company. Part B extends the functionality of robustness of the code you wrote in Part A.
1 PROBLEM DESCRIPTION
A company’s customer support team receives thousands of emails and help messages every day, but does not have the employee resources to reply to every request. Your job is to reduce customer support’s workload by automatically answering the most common messages the company receives.
Your supervisor noticed customers were asking the same 6 types of questions. The supervisor asks you to code a series of pre-composed replies based on the category the customer classifies their email by.
1.1 Assignment #1 part B: Problem Description
The additions and modifications to Assignment #1 part A are as follows:
• three files will be required: main.py, parta.py, & partb.py (the filenames must match these exactly)
• main.py will contain the code for the menu interface only (see Section 2) and call code from parta.py & partb.py
• parta.py will contain the code for Assignment #1 part A
• partb.py will contain the code for Assignment #1 part B
• the user can classify an email using either “1" or “Problem Saving File". You must extend your program from Assignment #1 part A to handle both cases.
• extend your program from Assignment #1 part A to handle any combination of upper & lower case menu selections (eg., both “Problem Saving File" & “problem SAVing file" are valid input)
• use a single function to handle the identical message categories “Where is My Program Installed?" and “How Do I Open My Program?"
• an addition to your part A program will compute how much money the company saves where each category has a different cost associated with it (see Section 1.2)
• unlike Assignment #1 part A, you will be required to match the formatting & sample out- put exactly! The test cases from repl.it must all pass to receive full marks!
• extend your program from Assignment #1 part A to handle the case where no Message
Subject is provided, which means the Message Body must be searched for various key- words to correctly classify the message (see Section 5)
• all the code in parta.py must be encapsulated in functions, with the main function named partA() called from main.py
• all the code in partb.py must be encapsulated in functions, with the main function named partB() called from main.py
1.2 Saving Money Through Automation
There is a cost-savings associated with each automated reply. Customer Support Techs respond to approximately 12 emails in one hour. Customer Support Techs earn $18/hour, which means replying to each message costs the company an average of $18/12 = $1.50. Conversely, the company saves $1.50 every customer support message if email support is automated.
2 MENU INTERFACE
Your code will begin by providing the following menu interface:
A. Send an Email to Company Support
B. Calculate Savings from Automating Replies
Select which option (A or B) you wish to execute:
3 AUTOMATED RESPONSE SOFTWARE
3.1 Emails to the Company
Typing option A from the menu interface sends an email to the company’s support team.
Your task is to process help messages sent by customers to the company’s online help website.
The help website contains dialogs similar to the following set of prompts:
3.2 Message Categories
The 6 categories customers use to classify their emails or messages sent to customer support are:
1. Problem Saving File
2. I Lost My License
3. Where is My Program Installed?
4. How Do I Open My Program?
5. How Do I Open My File In Microsoft Word?
6. Do You Offer Refunds?
4 COMPANY RESPONSES
The following responses are what you will display to customers (i.e., users). Do not deviate from the output message content and format. Your message reply will depend solely on the Message Subject (i.e., category) selected by the customer.
4.1 Problem Saving File
The following inputs & outputs are displayed when customers require assistance with saving files. Ignore the colors and syntax highlighting in the examples. You aren’t required to add color to your text output.
4.2 I Lost My License
The following inputs & outputs are displayed when customers require assistance when they misplace their license.
4.3 Where is My Program Installed?
The following inputs & outputs are displayed when customers require assistance finding their application.
4.4 How Do I Open My Program?
The following inputs & outputs are displayed when customers require assistance opening their program.
4.5 How Do I Open My File In Microsoft Word?
The following inputs & outputs are displayed when customers require assistance opening their files in MS Word.
4.6 Do You Offer Refunds?
The following inputs & outputs are displayed when customers request refunds.
5 NO MESSAGE SUBJECTS
This section describes the case where no Message Subject is provided. The Message Body must be searched for various keywords to correctly classify the message. The keywords are synonyms for the message subjects. Table 5.1 lists all the keywords and phrases that are treated as synonyms.
Attachment:- Programming Assignment.rar