Please read the file

1 answer below »
Please read the file


95712-Fall 2023 HW1 1 Problem Statement The Federal Trade Commission (FTC) is a government agency that is responsible for "protecting consumers and competition by preventing anticompetitive, deceptive, and unfair business practices through law enforcement, advocacy, and education without unduly burdening legitimate business activity."1 It conducts investigative cases against companies that engage in unlawful practices that harm consumers in any way. These cases are logged in FTC site and are available for public review. You need to build a tool that can help analyze these FTC cases. To start with, Table 1 shows a sample of cases from the dataset. The data is in a tab-separated file named FTC-cases-TSV.txt. Important things to note in data: 1. Each case has a date, a title, a case type, and a case number. However, case type and case number may be missing for some cases. 2. The date is in yyyy-mm-dd format 3. Case type is given at the end of the Title within parentheses. The current data has Federal and Administrative as two case types 4. Case number is a string of some characters. Table 1: FTC Case Data Case date Title (case type) Case number 2021-07-01 Kuuhuub, Inc., et al., U.S. v. (Recolor Oy) (Federal) 1823184 2021-06-22 Flo Health, Inc. (Administrative) 192 3133 2021-05-07 Everalbum, Inc., In the Matter of (Administrative) 192 3172 2021-05-03 Support King, LLC (SpyFone.com), In the Matter of (Administrative) 192 3003 2021-04-29 Vivint Smart Home, Inc. (Federal) 192 3060 2020-05-20 Tapplock, Inc., In the Matter of (Administrative) 192 3011 2020-04-28 Facebook, Inc., In the Matter of (Administrative) 092 3184; 182 3109; C-4365 The first version of our tool - which we will call as CyberCop 1.0 - will be based on Character User Interface (CUI) and needs to do the following: 1. Search for cases reported against a company 2. Search for cases reported in a year 3. Search for a case number 4. Print case type summary 5. Print year-wise summary Please refer to sample scenarios at the end of this document. 1 https://www.ftc.gov/about-ftc https://www.ftc.gov/ https://www.ftc.gov/about-ftc https://www.ftc.gov/about-ftc 95712-Fall 2023 HW1 2 Solution Design The solution design has four classes. CyberCop • main() method is the app's entry point • showMenu() is to get user inputs • print…() methods are to print the outputs as shown in the sample scenarios at the end of this document. CCModel: • loadData()reads data from CyberCop.DATAFILE and stores it in fileData • loadCases() reads data from fileData, parses each row to create Case objects and stores them in cases array SearchEngine: • searchTitle(): takes searchString and cases array. Returns an array of Cases whose title contain the searchString. The search is case-insensitive • searchYear(): takes year as a String and cases array. Returns an array of Cases that were data falls in the year • searchCaseNumner: takes Figure 1: Class diagram caseNumber and cases array and return an array of Cases that contain the caseNumber in their caseNumber property. Case: • The constructor takes all four parameters as Strings and initializes its instance variables • The getYear() method is optional and it returns the year of the caseDate. More specifics are given in code files as comments. Design Constraint: Use of Collection classes (ArrayLists, LinkedLists, Sets, Maps, etc.) is not allowed in HW1 Instructions: 95712-Fall 2023 HW1 3 • Download the files from Canvas and store them in a project and a package as shown in Fig. 2. • Complete your code. • It is expected that you follow the design provided and do not add new classes, methods, or member variables. Making any design changes may impact test-cases and may also need rework for you in HW2/HW3. • Write your name and Andrew id as comments at the top in all your Java files. • You will test your program in two ways: Console output (refer sample outputs at the end of this document) and TestCyberCop.java. These two tests will get you 80% of the points. Other criteria applied to evaluate your program are: 1. Documentation (5%): Your code should be well-commented, i.e., neither Figure 2: Folder structure too many comments, nor too few. Yes, this requires a little bit of your judgment! Name your variables in a self-explanatory way. Write your name and Andrew id at the top in the comments in each class. Indent your code properly. (In Eclipse, press Ctrl-A to select all your code and then Ctrl-I to indent) 2. Code quality (5%): coding conventions, no unused variables/libraries, etc. Use your judgment to assess these criteria. 3. Code robustness (5%): Your program should not throw any errors while processing. You can safely assume that the user will not enter any garbage input. 4. Submission instructions (5%): Zip all your java files except test-file into AndrewId-hw1.zip. Do not submit any other folders, class files, test file, text files, and rest of your kitchen sink! Only last submission will be graded. Wrong files, incorrect package name, etc. may take away some points. NO LATE SUBMISSIONS PLEASE! If you are unable to submit on time, you lose all the points. Please avoid last minute submission as Canvas may decide to quit on you! Learn to trust technology only to the extent you should! Do not take that risk! No late submission will be accepted. 95712-Fall 2023 HW1 4 Sample outputs Scenario 1: Menu option 1 - A company has multiple cases Scenario 2: Menu option 1 - A company with no reported case 95712-Fall 2023 HW1 5 Scenario 3: Menu option 2 - Several cases reported in a year 95712-Fall 2023 HW1 6 Scenario 4: Menu option 2 - No cases in a year Scenario 5: Menu option 3 - Case number found 95712-Fall 2023 HW1 7 Scenario 6: Menu option 3 - Case number not found Scenario 7: Menu option 4 95712-Fall 2023 HW1 8 Scenario 8: Menu option 5 Problem Statement CyberCop Sample outputs 95712-Fall 2023 HW1 1 Problem Statement The Federal Trade Commission (FTC) is a government agency that is responsible for "protecting consumers and competition by preventing anticompetitive, deceptive, and unfair business practices through law enforcement, advocacy, and education without unduly burdening legitimate business activity."1 It conducts investigative cases against companies that engage in unlawful practices that harm consumers in any way. These cases are logged in FTC site and are available for public review. You need to build a tool that can help analyze these FTC cases. To start with, Table 1 shows a sample of cases from the dataset. The data is in a tab-separated file named FTC-cases-TSV.txt. Important things to note in data: 1. Each case has a date, a title, a case type, and a case number. However, case type and case number may be missing for some cases. 2. The date is in yyyy-mm-dd format 3. Case type is given at the end of the Title within parentheses. The current data has Federal and Administrative as two case types 4. Case number is a string of some characters. Table 1: FTC Case Data Case date Title (case type) Case number 2021-07-01 Kuuhuub, Inc., et al., U.S. v. (Recolor Oy) (Federal) 1823184 2021-06-22 Flo Health, Inc. (Administrative) 192 3133 2021-05-07 Everalbum, Inc., In the Matter of (Administrative) 192 3172 2021-05-03 Support King, LLC (SpyFone.com), In the Matter of (Administrative) 192 3003 2021-04-29 Vivint Smart Home, Inc. (Federal) 192 3060 2020-05-20 Tapplock, Inc., In the Matter of (Administrative) 192 3011 2020-04-28 Facebook, Inc., In the Matter of (Administrative) 092 3184; 182 3109; C-4365 The first version of our tool - which we will call as CyberCop 1.0 - will be based on Character User Interface (CUI) and needs to do the following: 1. Search for cases reported against a company 2. Search for cases reported in a year 3. Search for a case number 4. Print case type summary 5. Print year-wise summary Please refer to sample scenarios at the end of this document. 1 https://www.ftc.gov/about-ftc https://www.ftc.gov/ https://www.ftc.gov/about-ftc https://www.ftc.gov/about-ftc 95712-Fall 2023 HW1 2 Solution Design The solution design has four classes. CyberCop • main() method is the app's entry point • showMenu() is to get user inputs • print…() methods are to print the outputs as shown in the sample scenarios at the end of this document. CCModel: • loadData()reads data from CyberCop.DATAFILE and stores it in fileData • loadCases() reads data from fileData, parses each row to create Case objects and stores them in cases array SearchEngine: • searchTitle(): takes searchString and cases array. Returns an array of Cases whose title contain the searchString. The search is case-insensitive • searchYear(): takes year as a String and cases array. Returns an array of Cases that were data falls in the year • searchCaseNumner: takes Figure 1: Class diagram caseNumber and cases array and return an array of Cases that contain the caseNumber in their caseNumber property. Case: • The constructor takes all four parameters as Strings and initializes its instance variables • The getYear() method is optional and it returns the year of the caseDate. More specifics are given in code files as comments. Design Constraint: Use of Collection classes (ArrayLists, LinkedLists, Sets, Maps, etc.) is not allowed in HW1 Instructions: 95712-Fall 2023 HW1 3 • Download the files from Canvas and store them in a project and a package as shown in Fig. 2. • Complete your code. • It is expected that you follow the design provided and do not add new classes, methods, or member variables. Making any design changes may impact test-cases and may also need rework for you in HW2/HW3. • Write your name and Andrew id as comments at the top in all your Java files. • You will test your program in two ways: Console output (refer sample outputs at the end of this document) and TestCyberCop.java. These two tests will get you 80% of the points. Other criteria applied to evaluate your program are: 1. Documentation (5%): Your code should be well-commented, i.e., neither Figure 2: Folder structure too many comments, nor too few. Yes, this requires a little bit of your judgment! Name your variables in a self-explanatory way. Write your name and Andrew id at the top in the comments in each class. Indent your code properly. (In Eclipse, press Ctrl-A to select all your code and then Ctrl-I to indent) 2. Code quality (5%): coding conventions, no unused variables/libraries, etc. Use your judgment to assess these criteria. 3. Code robustness (5%): Your program should not throw any errors while processing. You can safely assume that the user will not enter any garbage input. 4. Submission instructions (5%): Zip all your java files except test-file into AndrewId-hw1.zip. Do not submit any other folders, class files, test file, text files, and rest of your kitchen sink! Only last submission will be graded. Wrong files, incorrect package name, etc. may take away some points. NO LATE SUBMISSIONS PLEASE! If you are unable to submit on time, you lose all the points. Please avoid last minute submission as Canvas may decide to quit on you! Learn to trust technology only to the extent you should! Do not take that
Answered Same DayOct 01, 2023

Answer To: Please read the file

Gyanendra answered on Oct 02 2023
22 Votes
:Assignment supporting Document:
1. While creating any file to test, please mention atleast 4 space gap in between properties, Attaching
testCases below
E.g. 2012-04-29____Apple, Inc. (Federal)____1923060 -> 2012-04-29 Apple, Inc. (Federal)
1923060
2. All the cases, and ou
tput are like asked in Assignment:
textFile to test:
2022-07-01 Kuuhuub, Inc., et al., U.S. v. (Recolor Oy) (Federal) 1823184
2022-06-22 Flo Health, Inc. (Administrative) 1923133
2022-05-07 Apple, Inc., In the Matter of (Administrative) 1923172
2011-05-03 Apple, LLC (SpyFone.com), In the Matter of (Administrative) 1923003
2012-04-29 Apple, Inc. (Federal) 1923060
2013-05-20 Tapplock, Inc., In the Matter of (Administrative) 1923011
2015-04-28 Facebook, Inc., In the Matter of (Administrative) 0923184; 1823109; C-4365
2013-07-15 Facebook, et al., U.S. v. (Colorful Co) (Federal) 1823185
2014-06-30 Facebook, Inc. (Administrative) 1923134
2015-05-19 Facebook, In the Matter of (Administrative) 1923173
2016-04-11 MegaCorp LLC (Federal) 1923004
2017-03-27 Innovative Designs, In the Matter of (Administrative) 1923061
2027-02-14 BlueSky Industries, In the Matter of (Administrative) 1923012
2019-01-05 Acme Innovations, Inc., et al., U.S. v. (GreenTech Ltd) (Federal) 0923185; 1823108
2018-12-25 CyberGuardians, In the Matter of (Administrative) 0923186
2018-11-08 CyberGuardians, Inc., U.S. v. (DataBreach Co) (Federal) 1823186
2019-10-20 Apple 1923174
2022-07-01 Kuuhuub, Inc., et al., U.S. v. (Recolor Oy) (Federal) 1823184
2022-06-22 Flo Health, Inc. (Administrative) 1923133
2022-05-07 Apple, Inc., In the Matter of (Administrative) 1923172
2011-05-03 Apple, LLC (SpyFone.com), In the Matter of (Administrative) 1923003
2012-04-29 Apple, Inc. (Federal) 1923060
2013-05-20 Tapplock, Inc., In the Matter of (Administrative) 1923011
2015-04-28 Facebook, Inc., In the Matter of (Administrative) 0923184; 1823109; C-4365
2013-07-15 Facebook, et al., U.S. v. (Colorful Co) (Federal) 1823185
2014-06-30 Facebook, Inc. (Administrative) 1923134
2015-05-19 Facebook, In the Matter of (Administrative) 1923173
2016-04-11 MegaCorp LLC (Federal) 1923004
2017-03-27 Innovative Designs, In the Matter of (Administrative) 1923061
2027-02-14 BlueSky Industries, In the Matter of (Administrative) 1923012
2019-01-05 Acme Innovations, Inc., et al., U.S. v. (GreenTech Ltd) (Federal) 0923185; 1823108
2018-12-25 CyberGuardians, In the Matter of (Administrative) 0923186
2018-11-08 CyberGuardians, Inc., U.S. v. (DataBreach Co) (Federal) 1823186
2019-10-20 Apple 1923174
2022-07-01 Kuuhuub, Inc., et al., U.S. v. (Recolor Oy) (Federal) 1823184
2022-06-22 Flo Health, Inc. (Administrative) 1923133
2022-05-07 Apple, Inc., In the Matter of (Administrative) 1923172
2011-05-03 Apple, LLC...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here