ST1(4483)Mid Term Assignment
COLT3 2023
Submission due date: Week 8 Wednesday 15th November 23:59(AEST)
Please complete All the Projects
Submission and Assessment requirements:
This assignment will be marked out of 100 marks and weighs 20% mark of the overall mark for the unit. Please check the unit outline for late penalties and resubmissions. This assignment is an individual assignment and not a group assignment. It must be your original work, any copy from other students will be considered plagiarism. Besides.
Project 1: Landscping Cost Calculator(GUI Application) 12 Marks
● Learning Objective: Using Basic Python Input Output and Arithmetic Statements
Problem Description:
A Landscaping company has mentioned that for every 5 square meter of area, one roll of 2.5 meter of Artificial turf and six hours of labour will be required. The company charges $50.00 per hour for labour.
Write a GUI program that asks the user to enter the Landscaping area in sq meter and the price of the one Artificial turf roll.
The program should then display the following information on Landscaping job costs estimation:
- The number of Artificial Turf roll required.
- The hours of labor required.
- The cost of the Artificial Turf
- The labor charges.
- The total cost of the Landscaping job
The mathematical formulae for calculation of each of display items are:
- Number of Artificial Turf roll needed = Area/ 5
- total hours of labor = Number of Artificial Turf roll needed x 6
- labor costs = total hours of labor x 50.00
- Total Artificial Turf costs = Number of Artificial Turf roll needed x price of one Artificial turf roll
- total costs = Total Artificial Turf costs + labor costs
Sample Output:
· Learning Objective: Using Python Conditional and Branching Statements
Problem Description:
Jake wants to join a gym. But he is not sure which one is better, some of the gym is listed below with services they offer.
· Anytime Fitness: 24 hours Access: YES, Group Classes: NO, Strength Training: Yes , Personal Training: NO
· Club Lime: 24 hours Access: YES, Group Classes: NO, Strength Training: Yes, Personal Training: Yes
· Body Blitz Fitness: 24 hours Access: YES, Group Classes: YES, Strength Training: Yes , Personal Training: Yes
· Snap Fitness: 24 hours Access: NO, Group Classes: YES, Strength Training: Yes, Personal Training: NO
Write a Python Console or GUI program that Jake about the services he is looking for and then provide the list of the Gym with selected services.
Here is an example of the program’s:
Input
Hi Jack please provide your response to the below question.
Are you looking for 24 hours GYM? Yes
Output
Your Options are
· Club Lime: 24 hours Access
· Body Blitz Fitness
Here is another example of the program’s output:
Hi Jack please provide your response to the below question.
Are you looking for 24 hours GYM? NO
Do you want to join Group Classes? Yes
Do you want to do Strength Training? Yes
Do you want to do personal training sessions? NO
Output
Your Options are
· Body Blitz Fitness
· Snap Fitness
Project 3: Giraffe Height and Weight Calculator (GUI Application) 9 Marks
· Learning Objective: Using Python Repetition and Loop Statements
Problem Description
Write a Python GUI application program that Calculate the increase in height and weight of a baby giraffe after certain years (Maximum number of years can be 10)
The application should use text boxes to allow the user to enter the following information:
o Current height of a baby giraffe (in feet),
o Current weight of a baby giraffe (Kg),
o the average yearly height increase (as a percentage),
o the average yearly Weight increase (as a percentage)
o the number years
For example, assume the user enters the following values:
Input Should be in GUI
· Current height of a baby giraffe (in feet) : 6
· Current weight of a baby giraffe (Kg): 50
· the average yearly height increase (as a percentage): 25 %
· the average yearly Weight increase (as a percentage) : 37 %
· the number years : 4
Output Should be in GUI
Year Height Weight
1 6 feet 50 kg
3 9.37 feet 93.84 kg
3 11.713 feet 153.90 kg
Project 4: Unit Enrollment System (GUI Application) 17 Marks
● Learning Objective: Using Python List, File I/O and Exception Handling
Problem Description:
Write a Python GUI program for unit enrollment system and Display the final list of units enrolled at the end.
Units.txt file include the Unit code, Unit name and Unit Conveners
1. Read the available units from the file: Units.txt
2. Display the list of unit names in the List Box Widget.
3 Select more than one unit from the List Box Widget.
5 Display the final unit enrolled with the Unit code, Unit name and Unit Convener’s name in Text Widget.
Project 5: Telecommunication Provider Information System (17 Marks)
· Learning Objective: Using Python Classes and Objects
Problem Description:
In this problem, you will develop a Telecommunication Provider Information System using Python. Here are the brief requirements of the program:
1. Write a class named Phone, that holds information about each Phone in attributes such as Phone Make, Phone Model, Phone Capacity, Phone Color
2. Write appropriate accessors and mutators of the Phone class.
3. Draw the UML diagram and write a program that creates three objects of phone class, with following information and displays their details.
Phone Color | Phone Make | Phone Model | Phone Capacity |
White | Apple | iphone 14 Pro Max | 1 TB |
Phantom Black | Samsung | Galaxy S23 Ultra | 512 GB |
Green | Google | Google Pixel 7 Pro | 128 GB |
4. Create a new python GUI program that stores the phone details in a dictionary. Use phone model as a key. The program should present a menu that lets the user perform the following actions:
a. Display the phone dictionary.
b. Look up a phone in the dictionary using the Phone Model
c. Add a new phone to the dictionary.
d. Change an existing phone color and capacity.
e. Delete a phone from the dictionary.
f. Quit the program.
5. Create a new subclass Specification which is a subclass of Phone class with the following attributes
- Price
- Payment Plan (12 months, 24 months, 36 months)
6. Write appropriate accessors and mutators of Specification class.
7. Once you have written the classes, write a GUI program that creates an object of Specification class and prompts the user to enter data for each of the object’s data attributes. Store the data in the object, then use the object’s accessor and mutator methods to retrieve it and display it on the GUI screen. Demonstrate the Specification class by creating at least 2 Specification class objects.