Python design problem

Payroll
Introduction
This assignment is a design problem, not a coding problem. It is meant to provide you with practice in top-down design with step-wise refinement, that is, the decomposition of a problem into appropriate modules and high level functions definitions. We are looking for a design document, not a working Python 3 program, so do not submit any Python 3 code.

The problem
A company needs a program to generate on-screen reports from their employee database.

The company’s employee records are in files on their computer system. The format of these files (.csv, .json, whatever) is not important to your design. Here is a description of the data contained in the files that are relevant to your project:

A central employees file contains the following information for each employee:
name
employee ID
(other information not needed for reports)
Each employee has a file (with a name generated from the employee’s ID number) that contains up to twelve records of data (one per month) for the current year. Each record contains this information:
The employee’s (unique) ID
The month
The number of hours worked that month by the employee
The employee’s hourly rate of pay for that month.
This file gets updated monthly by an existing program (not yours) with new information.
Here is a list of report types the company wants and for which you’ve been asked to design a program:

A pay report for a user-specified month. The report will have one screen row of data for each employee showing the following:
The employee’s ID.
The employee’s name.
The number of hours worked that month by the employee.
The employee’s hourly rate of pay for that month.
The employee’s pay for that month.*
*Gross pay. Don’t concern yourself with tax, pension, and other deductions.
This report will also contain a summary of pay information, as follows:

Number of employees.
Total pay for all employees.
Average pay per employee.
A year-to-date pay report for a user-specified employee. The report will have one screen row of data for each month of the current year. (Fewer than twelve rows, obviously, if the report is generated before the end of December.) Each row of the report will contain:
A month.
The number of hours worked that month by the employee.
The employee’s hourly rate of pay for that month.
The employee’s pay for that month.
This report will also contain a summary of pay information for the employee, as follows:
Total pay to date for the employee.
Average monthly pay for the employee.
A year-to-date pay summary report for all employees. The report will have one screen row of data for each month of the current year. Each row of the report will contain:
The month.
The total pay for the month.
The average pay per employee for the month.
What you must do
You are to create a top-down design for the problem described above. Your end result should be a listing of modules, descriptions of each modules’ purpose, functions within those modules, and descriptions of each function. Here is a sample of what we expect to see (for a different problem, of course, and recognizing that a real solution that includes a controlling (main) module would be much longer).

Module: build_word_list

< A description of the module’s purpose goes here.>

Functions:

get_words(file_name): Read a file of words into a list.
Parameter:
file_name: The name of the file of words.
Return: A list of words extracted from file file_name.
filter_words(words_list, unwanted_words): Remove duplicate words and words in unwanted_words from words_list.
Parameters:
words_list: A list of words.
unwanted_words: A list of words to be removed from words_list.
Module: anagrams

< A description of the module’s purpose goes here.>

Function:

find_anagrams(all_words_file_name, words_list): Return a two dimensional list of anagrams of the words in words_list. Each anagram is a word found in file all_words_file_name.
Parameters:
all_words_file_name: The name of a file containing all valid words.
words_list: The list of words.
Return: A two-dimensional list of words, each row of which is a list of anagrams of words from the corresponding row of words_list.
Note: Your design should make clear which function in which module serves as the starting point for your program’s execution

Ethnic group observation

Collect qualitative data about the group, issue, or organization you have chosen for your final project focus. Specifically carry out an ethnographic observation of a context connected (even loosely if accessibility is an issue), to your potential fieldwork site. (For example, if you are hoping to research health care in an African setting, you could choose to observe a community-based neighborhood clinic that focuses on immigrants and refugees, for example, or even visit an African expat church, mosque, or community center.) During your observation time, find a way to make it participatory, at least for part of the time. You will very likely have an opportunity to do interviewing in the same context, so be ready with your recorder. For this statement though, be sure to focus on detailed observations of your chosen setting. Note: If an observation connected to your final project/fieldwork focus is not possible, consult with your instructor to see if an additional interview, or some other qualitative data gathering exercise, might substituted for the observation exercise.

            For the write up of this assignment, please provide detailed, richly descriptive observation notes. Please include an introductory paragraph stating the date, time and setting of the observation, the identity (if applicable), of the people being observed.

            Be sure to include your own emerging insights and interpretive notes to yourself in these documents, either through footnotes or parenthetical comments. In other words, show evidence that you are processing/interpreting the data even as you are collecting it, since that is essential to the processual nature of qualitative research. At the end of your notes, please conclude by describing themes, insights, or possible points of intrigue that you could follow up on if you were to do further research. Remember: The point of this exercise is to help you to find a research question or questions around which to organize your fieldwork proposal.     

Process Improvement Proposal

Instructions

In your proposal, use specific language and include evidence-based concepts from peer-reviewed literature, including a minimum of four outside peer-reviewed sources. Communicate information and ideas clearly, accurately, and concisely, including reference citations and using correct grammar. Include the following in your proposal:

Describe the selected organization, including its vision and mission.
Analyze the company using any adaptation of the Kaplan and Norton balanced scorecard framework that fits your selected organization. Refer to the materials in the Resources.
Communicate vision, strategy, objectives, measures, targets, and initiatives for each of the following four elements through a macro-level discussion:
Financial performance measures.
Internal business processes.
Learning and growth.
Customer satisfaction.
Convey the organization’s values through an ethical, organizational, and directional strategy.
Recommend evidence-based and best practices for monitoring and improving discussions.
Generate one recommendation for each of the following:
Process improvements.
Quality improvements.
Organizational efficiency.
Learning implementation.
Implementation and evaluation.
Additional Requirements

Written communication: Written communication should be free from errors that detract from the overall message.
APA formatting: Resources and citations should be formatted according to APA style and formatting guidelines. Use APA format for all of the following:
Cover page.
Abstract.
Table of contents, including a list of figures and tables.
Headings and subheadings.
Reference list.
Number of resources: A minimum of 6 resources. The following Norton and Kaplan articles will serve as two resources.
The Balanced Scorecard: Measures that Drive Performance.
Linking the Balanced Scorecard to Strategy.
Length of paper: 68 typed double-spaced pages.
Font and font size: Arial, 10-point.

Journal Entry Week 4

This week, lets turn for a moment to consider the importance of ethics in your future career in the Criminal Justice System. Watch the following videos and identify the ethical issues for each and then discuss how you would handle the situations and why.

Video 1: CJ in Practice: Ethics in Policing-gratuities
Video 2: CJ in Practice: Ethics in Policing – inappropriate relationships