INF4002 Introduction to Programming
Personal Protective Equipment (PPE) Assessment Non-invigilated Examination 2020-21
Introduction
You should spend 3 hours on this assessment. It is open book examination which means:
Your submissions must entirely be your own. However, you can refer to your notes, textbooks and online sources for information
You must not communicate with anyone else about this assessment online or face-to-face
This is worth 90% of the modules overall grade, the other 10% being the Weekly Tasks
Aim
To create a software applications written in Python to support the activities of a company which sells Personal Protective Equipment (PPE). This company needs an interactive, usable and maintainable application to allow administration staff to enter details about the products (PPE items) it sells, the price of each product (PPE item) and the amount of stock held. Furthermore, the administration staff need to view the data held and to know the value of all stock held.
Important
This is a prototype. There is no need to persistently store or save data added. It is only stored when the application is running when the application closes, all product and stock details are lost.
Assessment
The assessment is in three parts. Each part creates a different version of the PPE application
Part 1 (40 marks): written in Python using functions and adhering to the functional paradigm.
Part 2 (40 marks): written in Python and using adapted versions of the Object template class and ObjectList
template class. The additional class methods should be based on the Part 1 functions where possible.
Part 3 (20 marks): written in Python and using an adapted version of the Gui template class. The additional
methods and classes should be based on the Part 2 methods and classes. Testing
The application is interactive, but should allow an administrative staff to enter data like:
Product ID : 0001
Product Name: Bandana Balaclavas
Product Description: Face mask suitable for daily use Item Value: 8.99
Stock Level: 100
Product ID: 0002
Product Name: JB London Disposable Product Description: Disposable, easy to use Item Value: 8.44
Stock Level: 200
Product ID: 0003
Product Name: 3-Layer Protective Disposable Face Masks Product Description: Adjustable metal nose clip
Item Value: 8.00
Stock Level: 87
Product ID: 0004
Product Name: Weddingstar Washable Cloth Face Mask Product Description: 5 layers of superior protection Item Value: 7.99
Stock Level: 3
Total stock value = 3,306.97
Part 1 (40 marks)
Write and test an interactive Python application which contains a set of reusable and maintainable functions that enable a user to enter a new product (PPE item), display all products (PPE items) previously entered and display the total stock value. The total stock value is the sum of all product (PPE item) stock values. A product (PPE item) stock value is the amount of stock held for that product (PPE item) multiplied by its price.
Part 2 (40 marks)
Using some or most of the code produced in Part 1, write and test an interactive Python application which incorporates adapted versions of the Object template class and the ObjectList template class found in INF4002 Blackboard Exams folder and enables a user to enter a new product (PPE item), display all products (PPE items) previously entered and display the total stock value.
Part 3 (20 marks)
Using the classes produced in Part 2, write and test an interactive Python application which incorporates an adapted version of the GUI template class found in INF4002 Blackboard Exams folder and enables a user to enter a new PPE item, display all PPE items previously entered and display the total stock value.
The application GUI should look like this when the above data is added by a user:
Submission
1. Create a folder which has a name which is identical to your registration number
2. Inside the folder which has the same name as your registration number create three more folders entitled part_1, part_2 and part_3
3. Into the folders part_1, part_2 and part_3 place the code produced for tasks Part 1, Part 2 and Part 3 respectively.
4. The code in the folders part_1, part_2 and part_3 should work as specified above and independently from the code in the other folders.
5. Zip-up the folder with the same name as your University Registration number (and containing the folders part_1, part_2 and part_3) and save the zip file somewhere safe
6. Submit your zip file to the appropriate Turnitin link in INF4002 Blackboard
7. Create and save (anywhere) a MS Word document with the same file name as your registration number
8. Into this MS Word document copy the code for Part 1, Part 2 and Part 3. This must be identical code to the
code submitted to Turnitin as a zip file above *
9. Save a MS Word document (anywhere safe) with the same name as your University Registration number
10. Submit MS Word document to the appropriate Turnitin link in INF4002 Blackboard
11. You should receive two Turnitin email digital receipts one for each submission. Keep these safe.
* If the code is different, you may be referred to the Unfair Means Officer
Marking Scheme
Part 1 (40 marks)
10 marks: Code adheres to the coding standards and techniques promoted in INF4002 *
10 marks: Code adheres to the user interaction standards and techniques promoted in INF4002 **
10 marks: The application works as specified.
10 marks: Code adheres to the functional paradigm.
Part 2 (40 marks)
10 marks: Code adheres to the coding standards and techniques promoted in INF4002 *
10 marks: Code adheres to the user interaction standards and techniques promoted in INF4002 **
10 marks: Code adheres to the object-orientated paradigm including the appropriate use of the Object and
ObjectList template classes ***
5 marks: The application works as specified.
5 marks: Correctly uses the code written in Part 1.
Part 3 (20 marks)
5 marks: The application works and looks as specified.
5 marks: Correctly uses the code written and tested in Part 2 .
5 marks: Code adheres to the coding* and user interaction** standards and techniques promoted in
INF4002.
5 marks: Code adheres to the event-driven paradigm including the appropriate use of the Gui template class
***
* Coding standards and techniques include presentation, encapsulation, reuse and maintainability e.g. comments. ** User interaction standards and techniques include the presentation and spelling of text presented to users and supporting users e.g. error checking any input and providing helpful messages.
*** Failure to use the specified template class[es] may result in a grade of zero for this part of the assessment or the entire assessment
Reviews
There are no reviews yet.