Individual Programming assignment (“Number Test”)
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 “Number Test” program. The program will ask the user to enter a number and then respond stating if the number is prime (or not), is even or odd and is positive, negative or zero. Then the program will ask the user to enter a number that meets one of the criteria (randomly determined) and tell them if it is correct or not. Then the program will ask if they wish to try again and again it will again ask for a number and repeat. If they do not try again it will exit. Of course you will need to make sure all inputs are correct and the program must not crash. Use functions where appropriate and the code should be logical, readable and correct to all techniques we have covered in the unit.
The entirety of this program can be implemented in under 125 lines of code (although implementing CSP5110 requirements or optional additions may result in a program longer than this) – Ask your tutor for advice if you feel your program is unusually long or inefficient.
Program Output Example
To help illustrate the program, here is a screenshot of the program being run:
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 location on moodle. You will need to create a ZIP file (NOT RAR, ARJ or other archive) and submit the one file. 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?”
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.
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.