Question: Python Programing Create a Top-Down Design Document I want you to eventually create a program that parses through a very large CSV file full of

Python Programing

Create a Top-Down Design Document

I want you to eventually create a program that parses through a very large CSV file full of real NBA player information and prints out a number of statistics. However, for this assignment, I just want you to create a heirarchical solution tree to be reviewed by your Program Manager (namely, me.) draw or graph on a sheet of paper.

This assignment looks simple, but can actually be very hard. I don't want you to stop making modules in your tree until you have changed all your abstract steps into concrete steps. Remember, concrete steps can be translated directly into Python code, where abstract steps need to be broken down and thought about. For example, the step determine top 10 players is still an abstract step, because we still don't know how to do that in Python. However, the step read input file into list of lines is a concrete step, because we can implement that step directly with the method fileObject.readLines().

The Program Problem Statement

Specifically, I'll want your program to print out the top 10 NBA player names based on the following:

Top 10 players based on total points scored

Top 10 players based on total rebounds

Top 10 players based on total minutes played

Top 10 players based on efficiency

The efficiency measurement is a calculation that tries to assign a number to how "well" a player played the game. Higher numbers mean a better performance from that player. NBA.com evaluates all players based on the efficiency formula indicated below (and shown on the aboutstats.htm page). In this project, we will follow this efficiency formula. Since we are not evaluating a player based on one game, we need to divide the total efficiency by the number of games the player played. So the formula is:

The abbreviations on the right hand side of the equation correspond to the fields in the statistics file. Again, you can check out the the meanings of each of the abbreviations at: http://www.databasebasketball.com/about/aboutstats.htm

Input File

To see what kind of input file you'll be dealing with, please do the following:

Go to http://www.databasebasketball.com/stats_download.htm

Download databaseBasketball_2009_v1.zip

Unpack the zip file (most machines will do this when you double-click the file)

We will only do statistics based on player_career.csv. So copy this file into the same directory where you will be writing your python program for this assignment

The format of this file is easy to understand. Open the file by right clicking on the file and selecting "Open With" and selecting a text editor of some kind like Notepad++ or Wordpad. The first line tells you the names of all the columns (To understand the meanings of each of the abbreviations, look at the page: http://www.databasebasketball.com/about/aboutstats.htm). After that, each lines data corresponds to one players career statistics. Each field is separated by a comma.

Notice that, in addition to the very first line, which is the header information, there appears to be a blank line followed by a line of "garbage" at the bottom of the file. This will become an issue later in the assignment.

Efficiency (pts reb+ casts stl blk)- fga fgm) t Cfta ftm) turnover) gp Efficiency (pts reb+ casts stl blk)- fga fgm) t Cfta ftm) turnover) gp

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!