https://player.mediaamp.io/p/U8-EDC/Z10ANGjRH9T0/embed/select/media/3i4saNg3XBTt?form=htmlCopyright 2018, Arizona Board of Regents, Arizona State University, Luque E Page 1 of 3 Class Name: CIS 325 – Programming for Business Data Analytics Assignment Name: Class Project Due Date: Check the syllabus in our course site for this assignment’s submission deadline PURPOSE The Class Project will enable students to demonstrate a comprehensive understanding of Python programming techniques. Students will need to understand the class project problem, devise a solution, use functions, while loops, formulas and store simulation results in a list for further analysis. This assignment aligns with our W.P. Carey School of Business learning goals, where items in bold have significant coverage, as follows: 1. Critical Thinking 2. Communication 3. Discipline Specific Knowledge 4. Ethical Awareness and Reasoning 5. Global Awareness Skills: The purpose of this assignment is to help you practice the following skills that are essential to your success in business data analysis projects beyond school: 1. Understand a simulation business problem and define a Python solution 2. Create and execute Python functions 3. Use lists, print, while loops, and if statements in Python Knowledge: This assignment will also help you to become familiar with the following important content knowledge: 1. Use and save script solutions you created in Python using Anaconda and Spyder in console applications TASK 1. All the work for this assignment is individual effort only. 2. The full grading points for this assignment are 20 per the class syllabus. 3. Check the syllabus in our course site for this assignment’s submission deadline 4. Submit your code via our course site only. As mentioned in the syllabus, any submission not delivered via our course site (i.e., via email, thumb drive, Dropbox files share, Google drive files or share, pictures via email and/or text message, etc.) will receive zero credit for this assignment. CRITERIA FOR SUCCESS 1. The lectures and in-class exercises posted in our course site, are annotated examples of effective Python script submissions. Students should take the time to study these in-class exercises to see examples of successful Python scripts in practice for this assignment. 2. A successful assignment submission has Python code that is ready to run in Anaconda Spyder by hitting the Run function button (or pressing F5 in Windows). Be advised that the Instructor will not be debugging nor modifying your code to run correctly for review and/or grading purposes. 3. I would encourage students to follow, in your Python script submissions, the Python Style Guidelines, as outlined in the ‘Zen of Python’ style guide. Following these guidelines in your submissions will be an essential consideration in your grades for this assignment. 4. I recommend students to be proactive and not wait until the last minute to do this assignment. I can guarantee that you may run into technical issues if you fail to be proactive. This is a great opportunity to practice your professional skills, having contingency plans to manage technical issues. It may take 24 hours for the instructor to respond to your emails, so plan accordingly and be proactive when requiring assistance from the instructor given the deadline for this assignment. Copyright 2018, Arizona Board of Regents, Arizona State University, Luque E Page 2 of 3 SCENARIO OVERVIEW Your customer, an auditing firm, needs to create a software program that will facilitate the random assignment of employee records to specific auditors. On your kickoff meeting with your customer, you are asked to write a simple Python program with the following requirements being discussed: 1) Ability to select a file containing employee records 2) Specify the number of auditors and names of auditors that will be reviewing records 3) Specify the number of records that will be assigned to each auditor 4) Randomly assign records to auditors (without assigning a record to more than one auditor) 5) Print auditor names 6) Print the names of employees assigned to each auditor 7) Export the assigned records to a file 8) Quit the program The following Python console screen is drafted in your requirements analysis meeting: During your kickoff meeting, you wrote some notes as follows: 1) Command 1 - The user selects an employee file using a file dialog 2) Command 2 – The user chooses the number of auditors performing an audit and specifies the names of each auditor. Once the names are entered, they are output to the screen. If the number is entered incorrectly (for example a character is entered instead of a number) an error will be displayed and the user will be asked for the number again. The auditor names can be single names or first and last names. 3) Command 3 - The user will specify the number of records that will be assigned to each auditor. Records will be randomly assigned to each auditor. If the number is entered incorrectly, an error message will be displayed and the user will be prompted for the number agian. A record can only be assigned one time. Each auditor will have 10 unique records assigned to them. Once the records are assigned, they will be output to the screen. 4) Command 4 – The names of the auditors will be output to the screen 5) Command 5 - The names of the employees assigned to each auditor will be output to the screen 6) Command 6 - The names of the employees assigned to each auditor will be saved to a csv file. The CSV file should contain the last name of the employee, the employee's date of birth, and 3 additional fields that you will yourself choose. 7) Command 7 - The user quits the program If commands are not valid (not numbers between 1 and 7) an error will be displayed on the screen and the user will be asked to enter a command again. Copyright 2018, Arizona Board of Regents, Arizona State University, Luque E Page 3 of 3