ITECH1400-Fundamentals of Programming-Assignment 1
ITECH1400-Fundamentals of Programming-Assignment 1
This is an individual assignment that requires you to design, develop and test a small text-based program
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.
K4. Explain the importance of programming style concepts (documentation, mnemonic names, indentation).
S1. Utilise pseudocode and/or algorithms as a major program design technique.
S2. Write and implement a solution algorithm using basic programming constructs.
S4. Describe program functionality based on analysis of given program 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.
The Federation University Australia Robot Wars are about to commence! The competitors are busy training and now it’s time to prepare to sell spectator tickets. Your task is to design, develop and test a small application for purchasing and recording ticket sales to this event
The assignment is broken up into three main components:
1) Design and model two classes: Ticket and Checkout
2) Create an activity chart which describes the behavior of the ticket sales system
3) Create a computer program that allows a user to interactively purchase a number of tickets, then provides an opportunity to enter some (fake) credit card information to pay for the tickets, and finally, prints out a receipt for the user (to the screen, not on paper). Finally, the program should backup all the transactions into a text file
Your submission should consist of a Word document containing the first two parts of the assignment, and three Python scripts that implement the computer program (ticket.py, checkout.py and main.py).
The main.py script runs the main logic of the program and will use instances of Ticket and Checkout classes to simulate purchasing a spectator ticket.
Part 1: Design and Model Two Classes
This stage requires you to prepare documentation that describes the function of the program 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 an algorithm that describes how the program will operate.
- All program requirements must be included, even if you do not end up including all these requirements in your program code.
- The algorithm must be structured logically so that the program would function correctly.
3) Create class diagrams for the Ticket and Checkout classes
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 to successfully purchase one or more tickets, accept payment, print a receipt for the user and backup the transaction to a text file. Make sure to use the correct symbols in your diagram for starting, processes, decisions/branches, and ending the process.
Remember to do some (fake) checks when the user enters their credit card details e.g. that enough numbers have been entered.
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 software 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. The welcome message should also have a row of asterisks at the top and the bottom, just long enough to extend over the text. Hint: Use a For loop for this.
3. When the user goes to purchase tickets, they should be able to purchase a child, adult, senior or concession ticket(s). Each ticket category should cost a different amount; it’s up to you to choose how much each ticket costs. They should be able to purchase as many tickets (across all categories) as they like
4. When the user goes to finalise their order, the total cost should display on screen. Your program should then ask the user to enter their (fake) credit card details, check the credit card details and, if ‘valid’, display a final receipt
5. Finally, the program should backup the transaction into a text file
Your Word document and program code 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.