CSP1150D Programming Principles
Assignment: Individual Programming assignment (“Golf Club”)
Assignment Marks: Marked out of 20, (20% of unit result)
Due Date: 18th April 2018
This assignment tests your understanding of and ability to apply the programming concepts we have covered in the unit so far, including the usage of variables, input/output, data types, selection, iteration, functions and data structures.
As emphasised in the case study of Module 5, it is important to take the time to properly design a solution before starting to write code. Hence, this assignment requires you to write and submit pseudocode of your program design as well as the code for the program. Furthermore, while your tutors are happy to provide help and feedback on your assignment work throughout the semester, they will expect you to be able to show your pseudocode and explain the design of your code.
Write a separate section of pseudocode for each function in your program.
You are required to design and implement a “Golf Club” program that records information about golfers and tournaments. The program should have a menu system as shown below.
Implement all of the following requirements, and ask your tutor if you do not understand any of the requirements.
1. The program should welcome the user and display the menu.
2. Re-prompt the user until a valid response (1, 2, 3 or 4) is entered.
3. The Enter Scores option should ask the user how many golfers in the group and then ask to enter the following information about each golfer and put the information into some data structure(s) as appropriate:
b. Result (this is the number of stokes taken – it ranges between 18 to 108)
4. If a name matches a name already in the data structure, the user should be warned that the result will be altered and given the option to keep existing data.
5. The Find Golfer option should allow the user to enter a name and if the name is in the data structure should display their score, if the name is not found it should display an appropriate message.
6. The Display Scoreboard option should display ALL golfers entered and their score, in order of best (lowest score) to highest.
7. The Exit Program option should display an appropriate message and the program should exit.
Submission of Deliverables
Once your assignment is complete, submit both your pseudocode (PDF or DOC format – no .pages files) and source code (“.py” file) to the appropriate locations on moodle. An assignment cover sheet is not required, but be sure to include your name and student number at the top of both files.
Referencing, Plagiarism and Collusion
The entirety of your assignment must be your own work (unless otherwise referenced) and produced for the current instance of the unit. Any use of unreferenced content you did not create constitutes plagiarism, and is deemed an act of academic misconduct. All assignments will be submitted to plagiarism checking software which includes previous copies of the assignment. Remember that this is an individual assignment. Never give anyone any part of your assignment – even after the due date or after results have been released. Do not work together with other students on individual assignments – helping someone by explaining errors in their code/logic or directing them to the relevant resources is appropriate, but doing it for them or showing them how you did it is not. An unacceptable level of cooperation between students on an assignment is collusion, and is deemed an act of academic misconduct. If you are uncertain about plagiarism, collusion or referencing, simply email your tutor, lecturer or unit coordinator and ask.
Marks are allocated as follows for this assignment. Criteria Marks
These marks are awarded for submitting pseudocode/flowcharts which suitably represent the design of your source code. Pseudocode and flowcharts will be assessed on the basis of “does it help in understanding/describing the structure and flow of the program?” 5
These marks are awarded for submitting source code that implements the requirements specified in this brief. Code which is not functional or contains syntax errors will lose marks, as will failing to implement requirements as specified. 10
These marks are awarded for submitting well-written source code that is efficient, well-formatted and demonstrates a solid understanding of the concepts involved. This includes appropriate use of commenting and adhering to best practise. 5