As Head Coach of the Saint Joseph’s Catholic Prep School Knights basketball team, there is a constant need for developing players that have never played before and allowing experienced players the ability to compete to win. The dilemma that these two goals create is the balancing act that must be done in order to ensure both types of players are allowed to grow and develop but at the same time be able to compete for a championship. In order for either type of player to reach their goals they both need game playing experience and playing time. Figuring out a fair way to divvy out playing time so that both goals can be met is a tricky process and for the most part has been all decided upon by feel or opinion. Creating a program to solve this would justify playing time decisions by showing actual reasons for deserving more time per player with statistical facts to back those decisions up. First of all, in order to develop a program that will help to identify how playing time should be doled out, the problem must be analyzed to identify how much better players are getting and how well their playing translates into winning.
The information needed to determine this will be based upon raw basketball statistics such as points, field goals missed, three pointers made, free throws missed, assists, offensive rebounds, defensive rebounds, steals, blocks, turnovers, offensive play errors, defensive play errors, and also based on a plus/minus system which factors in point differential when player is on the court. The hardest part of the process would be data gathering and it should be done by a team of assistant coaches who can focus on specific statistics. Realistically, something of this complicated detail oriented nature is unachievable at the current level in which Saint Joseph’s operates but theoretically this is what is necessary in order to achieve the desired results. The actual process which would determine which player deserves more playing time would be to take all the data provided by the statistic gathering team and see the difference in statistical improvement the player has made while at the same time maintaining a good plus/minus standing.
After that point, it should be clear as to which players have not only been improving but at the same time have contributed to helping the Knights win games or at the very least helped the team to be more competitive. The actual math on the raw statistical side would be to treat each statistic as a separate category with each statistic having a given point system status. For example, every point score would equal to 0.5 calculation points, every assist made would equal out to 2.0 calculation points, or every turnover made would give off a –2.0 calculation points. After which a running total of all plus or minus calculation points would then be weighed against point differential with either adding or subtracting to the calculation point total depending on whether or not the point differential number is positive or negative. An example of this would be if a player totaled 20 calculation points but his point differential was a -5, his final point total would equal out to 15. This would justify giving that player more playing time than a player whose total was say a 10.
Converting this analysis into a modular programming solution would begin by identifying the input and output data while at the same time defining each item. Starting with the input data we have Points – The actual total amount of points the player scored in the game, Field Goals Missed – The amount of shots taken that did not go in the basket while playing not factoring in free throws, Three Pointers Made – Shots made from beyond the three point line, Free Throws Missed – Shots missed while shooting free throws, Assists – Passes that led to a teammate scoring because of that pass, Offensive Rebounds – Rebounds taken off of teammates missed shots, Defensive Rebounds – Rebounds taken off of opponents shots, Steals – Taking the ball away from the opposing team, Blocks – Stopping the opponents shots by hitting the ball away, Turnovers – Losing possession of the ball to the other team, Offensive Play Errors – Not doing the right thing or being in the right place on offense, and finally Defensive Play Errors – Not doing the right thing or being in the right place on defense.
The only output data from all of these categories would be Total Points – A complete point system total of all the pluses and minuses from each category. The reason it is beneficial to convert the programming development cycle into a more modular approach is that it gives a clearer view of all the parts of the program and a better understanding of what each piece of data is for or how it will be calculated to create the outcome. It will also allow the ability to work on select smaller sections which will limit major mistakes or if necessary get rid of that section all together if unrecoverable. It will even allow multiple programmers to work on the same project, for example one person can work on making each data input flow into a chart that lists every category, while another programmer can be fine tuning the section which takes the information and processes the calculations to get the final points earned. Modules have the ability to be reused if its functions can fit into another section of the program, this would allow time and effort to be focused on other areas leading to better efficiency.
Overall, using modules just makes everything easier, easier to read, easier to delegate, and easier to reuse code. Plain and simple the biggest benefit is the time you gain by it being easy to use. In conclusion, in order for there to be a more justified approach to giving out playing time a program needs to be created that can not only track and display game statistics, but be able to ultimately calculate how much positive impact the players have had in each game. The actual program will rely on a points system created by converting raw basketball statistics into a number value. There also needs to be additional computations based on point differentials earned while in the game, for example if the players team scores 0 and the opponents score 5 the point differential will be a negative 5. The whole programming process will be done with a modular approach which will allow for more efficiency. Ultimately, the Knights basketball program will benefit greatly by giving the players who are developing faster, playing better, the greater share of playing time.
Venet, S., & Drake, E. (2011). Prelude toPprogramming (5th ed.). : Pearson Education. NBA.com Stats Index. (n.d.). Retrieved from http://www.nba.com/statistics/ Modular Programming. (n.d.). Retrieved from http://linux.about.com/cs/linux101/g/modularprogramm.htm