Grading rubric for Scheme project: 4/5/2016 revised ---------------------------------- Total points: 150 All problems are worth 20 correctness points except #1 is worth 14, #4 is worth 16. 1. teamRatio 2. sortedTeamRatio 3. topThree 4. totalPoints(id) 5. averageScorePerPlayer() 6. averageScoreTeam(id) 7. maxScore() 8. topThreeScorers() Things to consdier on grading each question: 1. For each of the functions working with floating point numbers: penalty for not rounding up to two decimal points correctly; -10 off the correctness score for the entire project, since the students will probably do this consistently on each question 2. penalty for only printing the player names or only printing the max score, rather than printing out a list of pairs (player-name max-score) will be -5 points off the correctness score for each function where this happens 3. for error checking data: error checking inputs are run for those functions having them — mostly the TopThree functions; Out of of all the correctness points, a max of 15 correctness points (out of 75 points) will be sacrificed to not working on error inputs, (8 for #3 and 7 for #8). In addition, as stated in the website: the 150 total points for this assignment will be divided thusly - 75 points or 50% for correctness (i.e., works on final test data) - 60 points or 40% for use of higher order functions: there are three cases (i) no higher order functions are written -- student receives 0 out of 60 points (ii) at least 2 higher order functions are written -- student receives 15 out of 60 points of 10% of total 150 points (iii) all higher order functions --- student receives 60 out of 60 points - 15 points (10% of 150 total points) for good comments (i.e., function signature with types for each expected parameter, 1-2 sentence explanation of purpose of the function) followed by the code, followed by tests of the function (i.e., function appications with expected answers). total points 150 ******************************************** What do we consider a higher order function? There are many ways to obtain the specified functionality in this project. There are 8 functions to be defined; let's call them the special-8 functions. If the body of a special-8 function is an application of a higher order function, then we will consider that special-8 function to be higher order. (For an example, look at the posted answer for reverse in Scheme.) If a special-8 function takes a function argument or returns a function value, then that special-8 function is higher order. Note: it's fine to use built-in functions to build your special-8 functions.