UEEN1043:you are asked to demonstrate a program that uses the container class in Python :Object-Oriented Concept and Programming Techniques Assignment, UTAR, Malaysia
University | Universiti Tunku Abdul Rahman (UTAR) |
Subject | UEEN1043: Object-Oriented Concept and Programming Techniques |
In this assignment, you are asked to demonstrate a program that uses the container class in Python, i.e. list and dict, to automatically find all the duplicated book items in the UTAR library collection. You can only use the Python built-in functions to perform the task. Use of any advanced modules other than CSV, such as pandas and NumPy, will immediately lead to a zero
mark.
Your task in this assignment is to find out the total number of duplicated titles in the input file called library-titles.csv. Each row of the input file contains the related information of one single book item.
Are You Searching Answer of this Question? Request Malaysian Writers to Write a plagiarism Free Copy for You.
- Database keeping the book; DB
- Title of the book;
- Each of the books is given at least one of the two standard numbers; International Standard Serial Number (ISSN) or International Standard Book Number (ISBN):
◦ An ISSN or e-ISSN (the ISSN of the digital edition of the book) of the book, must be 8 digits, either with separators of ‘-’ or without any separator;
◦ An ISBN or e-ISBN (the ISBN of the digital edition of the book) of the book, must be either 10 digits or 13 digits, either with separators of ‘-’ or without any separator;
The input file contains all kinds of errors that require us to clean or tidy up and below are the few things you must do:
• It is possible that a book is given all four standard numbers, but some of them may not conform to the aforementioned digit formats. In these cases, you should ignore them by resetting these mistaken numbers to a null string, instead of dropping, them before comparison.
• Next, remove all the characters after the first slash symbol, ‘/’, together with the first slash symbol itself in all the standard numbers, before comparison.
• Next, a character ‘X’ of ‘x’ within the ISSN, e-ISSN, ISBN, or e-ISBN numbers is considered as a wildcard character that can match any (one) number during comparison.
If any pair of book items from two different DBs satisfy one of the conditions below, they are classified into the same duplication group:
1) if their titles are the same and all their ISSN, e-ISSN, ISBN, and e-ISBN are nulled; or
2) if the standard numbers of a book item are equal to or form a subset of the
corresponding standard numbers of the other book item; otherwise, they are considered
different; or
3) if a book item that has empty fields in all its standard numbers matches the other book item in the title.
In the end, you output all the duplication groups to a single CSV file called duplication.csv in which each row represents one distinct duplication group and contains the information, i.e. TITLE, DB, ISSN, e-ISSN, ISBN, and e-ISBN numbers, of all entries classified into the group. However, you need to remove duplication from the same DB and keep only one record. Lastly, you need to sort the listing within each row alphabetically by the names of DBs. The example below illustrates a few scenarios, but only scenario 3 is considered the correct one. The format of the CSV file is described in the sample output duplication_example.csv.
Next, based on the duplication you found, you need to create a network graph, with its structure similar to the figure below, as an output in png format, called relation.png.
In the figure, you need to
- use a node to represent a DB ;
- use an edge to indicate a relationship between two nodes, i.e. if there are the same titles in the two DBs;
- if a DB does not have any relationship with any other DBs, it should be depicted as an orphan node, i.e. no edges connecting to it;
- if there are a lot of duplicated titles between two nodes, the colour of the edge line should be relatively darker concerning other edges with fewer duplicated titles;
- the size of a node that has more total number of titles should look relatively bigger than the size of a node that has a less total number of titles, i.e. you need to find a way to define the relative colour intensity and size.
You are free to find suitable modules using Google but the rule of plagiarism applies if all the codes or the output graphs are very similar. There are many ways to present the graph. To award, those who put in a lot of effort in searching for an appropriate module and presentation methodology, a poorly presented graph will not be awarded a full mark.
Get Solution of this Assessment. Hire Experts to solve this assignment for you Before Deadline.
Get Help By Expert
Our programming assignment helpers at Malaysia Assignment Help offer valuable assistance on UEEN1043: Object-Oriented Concept and Programming Techniques. our experts know how to make perfect assignment solutions. our experts also offer CSC116 Introduction To Computers And Programming Assignment Sample, CSC402 Programming I Assignment Sample, DSC551 Programming For Data Science UITM Assignment, CSC238 Object Oriented Programming Assignment Sample, etc more topics related to programming homework.
Recent Solved Questions
- Discuss how can collaboration shape the country’s security dynamics during this pandemic: International Community Assignment, UMS, Malaysia
- Patient 67 years old man who had a total right knee replacement at the hospital: Law Assignment, TU, Malaysia
- At the product page clicking on the product will have a add outlet product, inside need to have a form that have a select option: Programming Ruby on Rails Assignment Malaysia
- PSP0101: The coronavirus disease 2019 hit Malaysia in early 2020 and has caused several lockdowns or partial lockdowns in the afford to contain the virus from spreading to the population: Problem Solving and Program Design Assignment, SU, Malaysia
- KAWAN FOOD BHD Identify any 4 sources of financing (e.g. ordinary share, bond, term loan, overdraft, trade credit, hire purchase, etc) used by the company and discuss the advantages and disadvantages of each source: Finance Assignment MSU, Malaysia
- Test Case Prioritization Using Swarm Intelligence Algorithm To Improve Fault Coverage And Time For Web Applications: Software Engineering Dissertation, UTM, Malaysia
- Explain the concepts of economic growth and economic development Discuss the evolution of growth theories and their relationship with the industrial revolution: Economics Development and Planning Assignment, UMS, Malaysia
- XBFS4103: Food safety is something that must not be taken lightly and Productivity can be increased through the production of safe and quality: Osh Issues In Workplace Assignment, OUM, Malaysia
- BMHR5103: Human resource management has a responsibility to ensure that the organization follows Occupational Safety and Health: Human Resource Management Assignment, OUM, Malaysia
- FIN4274: A brief description of what initial public offerings (IPOs) are, the process involved, and the main reasons behind a company: Advance Financial Decision Assignment, HWU, Malaysia