ITECH1400 Fundamentals of Programming-Assignment 2
ITECH1400 Fundamentals of Programming-Assignment 2
This is an individual assignment that requires you to design, develop and test a small text-based program
Timelines and Expectations
Percentage Value of Task: 20%
Due: 5 pm Friday Week 11
Minimum time expectation: 20 hours
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
K1. Identify and use the correct syntax of a common programming language.
K2. Recall and use typical programming constructs to design and implement simple software solutions.
K3. Reproduce and adapt commonly used basic algorithms
S1. Utilise pseudocode and/or algorithms as a major program design technique.
S2. Write and implement a solution algorithm using basic programming constructs.
S3. Demonstrate debugging and testing skills whilst writing code
Application of knowledge and skills:
A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.
A2. Design and write program solutions to identified problems using accepted design constructs.
You work for the Australian Tax Office (ATO) and it’s time to audit the Tooth Fairy. The Tooth Fairy has submitted a CSV file with the details of all the tooth pickups this year (see addresses.csv file in Moodle).
The assignment is broken up into three main components:
1) Design pseudocode to analyse the CSV file
2) Create an activity chart which illustrates the behavior of the pseudocode
3) Create a program based on the pseudocode and activity chart diagram
Your submission should consist of two files: a Word document containing the design pseudo-code and activity chart and a Python file (script) which is the final program.
The CSV File
You will need to download the addresses.csv file from Moodle. The file contains 500 records across seven columns. Here’s a sample of the file and the type of information that it stores.
Part 1: Design
This stage requires you to prepare documentation that describes the functionality of the pseudocode and how it is to be tested. There is no coding or code testing involved in this stage.
1) Read all of this assignment sheet first!!!
2) Write pseudocode that describes how the program will operate.
a. All program requirements must be included, even if you do not end up including all these requirements in your program code.
b. The algorithm must be structured logically so that it will function correctly.
3) Write five test cases that ensure your program operates correctly
Add everything to your Word document.
Part 2: Activity Flowchart
Using either the online website https://draw.io (preferred), or the applications Visio or PowerPoint – create an activity diagram of how the program should operate.
Make sure to use the correct symbols in your diagram for starting, processes, decisions/branches, and ending the process. Once you have completed your activity flowchart, add it to your Word document.
Part 3: Computer Program
You are free to design and implement the program however you see fit. Here are some requirements that must be incorporated into your program.
1. You must display a welcome message when the program starts. At a minimum, this message should contain the name of your program, the name of the program developer and your student ID.
2. Your program should have a text menu that allows the user to
a. Print the following statistics
i. Total number of children in the text file
ii. Average number of teeth claims over the years
iii. Number of children who have never lost a tooth
iv. Number of children who have lost all their baby teeth
v. Total expenditure for this year given the following:
b. Print to a new file, a list of children who haven’t lost any teeth. The user should be given the chance to enter a filename.
c. Display a graph showing the number of claims per State
d. Display a graph comparing the overall average number of teeth lost for two given States
3. To help with the readability of your code, you should use functions
A screenshot of a sample program is included in Appendix 1.
Finally, you should use your five test cases and demonstrate if they pass/fail and the reasons. Add your written response to the word document.
Your Word document and program code should be zipped into a single file (a .zip file) and loaded into the Assignment Box provided in Moodle by the due date and time. The naming conventions for the zip file are:
Obviously replace <YOUR-NAME> and <YOUR-STUDENT-ID) with your own personal details!
Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):
- Incomplete implementation(s)
- Incomplete submissions (e.g. missing files
- Poor spelling and grammar
The mark distribution for this assignment is explained on the next page–please look at it carefully and compare your submission to the marking guide.
Assignments will be marked within 2 weeks of submission. Marks will be loaded in fdlGrades, and a completed marking sheet will be available via Moodle.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.