1st Sit COURSEWORK Question Paper Summer Semester 2023
Module Code: CS4051NI/CC4059NI Module Title: Fundamentals of Computing Module Leader: Mr. Hrishav Tandukar (Islington College) |
Coursework Type: Individual Coursework Weight: This coursework accounts for 60% of your total module grades. Submission Date: 25th August 2023 When Coursework is 3rd July 2023 given out: Submission Submit the following to Islington College’s MST Portal Instructions: before the due date: ● Soft copy of the report ● Zip file with source code of the program Warning: London Metropolitan University and Islington College takes Plagiarism seriously. Offenders will be dealt with sternly. |
© London Metropolitan University
1
PLAGIARISM
You are reminded that there exist regulations concerning plagiarism. Extracts from these regulations are printed overleaf. Please sign below to say that you have read and understand these extracts:
Extracts from University Regulations on Cheating, Plagiarism and Collusion
Section 2.3: “The following broad types of offence can be identified and are provided as indicative examples ….
(i) Cheating: including taking unauthorised material into an examination; consulting unauthorised material outside the examination hall during the examination; obtaining an unseen examination paper in advance of the examination; copying from another examinee; using an unauthorised calculator during the examination or storing unauthorised material in the memory of a programmable calculator which is taken into the examination; copying coursework.
(ii) Falsifying data in experimental results.
(iii) Personation, where a substitute takes an examination or test on behalf of the candidate. Both candidate and substitute may be guilty of an offence under these Regulations.
(iv) Bribery or attempted bribery of a person thought to have some influence on the candidate’s assessment.
(v) Collusion to present joint work as the work solely of one individual.
(vi) Plagiarism, where the work or ideas of another are presented as the candidate’s own.
(vii) Other conduct calculated to secure an advantage on assessment. (viii) Assisting in any of the above.
Some notes on what this means for students:
1. Copying another student’s work is an offence, whether from a copy on paper or from a computer file, and in whatever form the intellectual property being copied takes, including text, mathematical notation, and computer programs.
2. Taking extracts from published sources without attribution is an offence. To quote ideas, sometimes using extracts, is generally to be encouraged. Quoting ideas is achieved by stating an author’s argument and attributing it, perhaps by quoting, immediately in the text, his or her name and year of publication, e.g. “e = mc2(Einstein 1905)”. A reference section at the end of your work should then list all such references in alphabetical order of authors’ surnames. (There are variations on this referencing system which your tutors may prefer you to use.) If you wish to quote a paragraph or so from published work then indent the quotation on both left and right margins, using an italic font where practicable, and introduce the quotation with an attribution.
School of Computing, FLSC
2
This module is assessed by coursework (60%). For the coursework, the students are required to develop an application based on detailed guidance on given specifications. Through the coursework students should be able to:
✔ Develop a system for event equipment rental
✔ Describe the program
✔ Test the program with some sample data to demonstrate its behavior ✔ Write a report to present the work
● Students must turn in any weekly tasks along with supporting research for said task when assigned.
● The guideline for the Documentation/Development part is given below:
o Components to be included in the report are: cover page, and table of contents, figures and tables, footer.
o The report must have an Introduction section with definite goals and objectives (approx. 400 words).
o The report must have a Discussion and Analysis section in which students need to explain how the program was developed.
3
1. Scenario
An Event Equipment Rental shop needs to maintain information about the available equipment. The shop rents out the equipment to the customers for a fee which is charged on a 5-day basis. If any party fails to return the rented equipment within 5 days, a fine is charged on a per-day basis.
The shop maintains information about the available equipment in a text file. An application needs to be developed which will read the text file and display all the equipment available. Then with each transaction, a note/invoice should be generated for the particular customer and should be written to a file along with the details of the equipment involved in the transaction. The stock of the equipment should also be updated after each transaction. For example, if the store had 14 table cloths, and if one table cloth is rented by a customer then the number (stock) should be changed to 13. In the case of returning said equipment, a note/invoice should again be generated for the customer returning the equipment. The stock should also be updated i.e. the quantity of the equipment returned should be increased by 1 as well.
A sample format of the text file containing the information about the equipments are as follows:
Velvet Table Cloth, Saathi, $8, 20
Microphone Set, Audio Technica, $189, 15
Disco Light Set, Sonoff, $322, 24
7.1 Surround Sound Speaker Set, Dolby, $489,4
Dinner Table 8×5, Panda Furnitures, $344, 8
*1st column contains the name of the equipment, 2nd column contains name of brand, 3rd column contains the price for rent (5 days), 4th column contains the quantity available
**You can use your own format and add other information too
A note/invoice should be generated for each transaction. When a customer rents equipment, a note/invoice should be generated which must contain the name of the equipment, name of brand, name of the customer, date and time of rental and the total amount to be paid for the equipment. If a customer decides to rent more than one piece of equipment, then the amount should be added up for all the equipment rented.
When a customer returns an equipment, a note/invoice should be generated again which should contain the name of the customer, name of the equipment, name of brand, date and time of return. The duration of the equipment rental should be set to 5 days, and if a customer is late for returning the equipment, a fine should be applied on a daily basis which should be written to the file again.
* The format of the notes/invoices is up to you. But each file should have a unique name.
4
2. Algorithm
● An algorithm should be developed for the application where all the functions of the program should be taken into account. The algorithm should be described in steps which are to be presented alongside pseudocode and flowchart of the program.
3. Data Structures
● The programming should be carried out using data structures and operations in Python, for input/output, character and string processing, and data storage. ● It can use any primitive or complex data structures which might be necessary for holding the data (pairs, lists, strings, dictionaries, etc.)
● The choice of data structures must be specified and elaborate upon in the report.
4. Program
● The program must work in a loop, displaying the available equipment and waiting for the administrator to enter details of the customers. The program should not quit unless the administrator decides to do so.
● The program must check the input data, displaying error messages whenever invalid data is entered, for example if some string value is entered where a numerical value is expected, the program should be able to handle the unexpected input properly without crashing.
● The program must be implemented in a modular way with separate functions for the different operations such as input/output, reading files, generating invoices/notes, etc.
5. Description
● The program must be described in terms of its structure and behavior. ● It can be presented using text and structural charts, flowcharts or other diagrams as needed.
o The report must have a Testing section with evidence (through appropriate screen dumps) that has been carried out for the program.
o The report must include a Conclusion section where they need to present their findings of the development and research (approx. 300 words).
● Demonstration of the project.
o If any individual student is not able to justify his/her project, then the project will be kept under plagiarism.
5
Marking Breakdown for Coursework |
Criteria Total Marks |
1. Introduction 5 |
2. Algorithm 5 |
3. Pseudocode 5 |
4. Flowchart 5 |
5. Data Structures 5 |
6. Program |
a. Correctness 10 |
b. Implementation (modularity, use of 10functions/classes) |
c. Programing Style 10 |
d. Exception Handling 10 |
e. User interface/program usability 10 |
7. Testing 5 |
8. Conclusion 5 |
9. VIVA 10 |
10. Report Structure and Formatting 5 |
Total: 100 |
NOTE: The technicality of the project will be judged during the demo and marked accordingly.
6