Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

UEEN1043 Object-Oriented Concept and Programming Techniques 2019 Assignment #2 In this assignment, you are asked to demonstrate a program which uses the concept of inheritance and polymorphism in OOP...

1 answer below »
UEEN1043 Object-Oriented Concept and Programming Techniques 2019
Assignment #2
In this assignment, you are asked to demonstrate a program which uses the concept of
inheritance and polymorphism in OOP to automatically find all the duplicated titles in the UTAR
li
ary collection.
The outcome will be one single CSV file named as duplication.csv. The format of the CSV file
is described in duplication_example.csv. Each row in the CSV file contains all the information
of the same TITLEs from different databases DBs; i.e. the information are the TITLE, DB,
ISSN, e-ISSN, ISBN, and e-ISBN numbers.
The input file is li
ary-titles.xlsx. Each row of the input file contains the related information of
one single title. An ISSN or e-ISSN can have 5 to 8 digits; some are separated by ‘-’ while some
are not. An ISBN or e-ISBN is either 10 digits or 13 digits; some are separated by ‘-’ while some
are not. Hence, you need to reset those which are not conforming to the aforementioned digit
formats to null, instead of not dropping, before comparison.
Conditions for a duplication:
1) Exact match of all ISSN, e-ISSN, ISBN, and e-ISBN as well as the TITLE name
2) Matches must come from different DB.
3) Only output one record for the duplicated titles in duplication.csv; see below:
All of the scenarios above are considered the same description of duplication and your
output should use scenario 3 where unqiue duplicates are sorted alphabetically by DB.
Marking scheme: (Total 30 marks)
1. Use a flow chart to explain how you plan to solve the problem. (3 marks)
2. Demonstrate modular programming technique. (3 marks)
3. Show effective use of list comprehension or dictionary comprehension. (2 marks)
4. Show improved code readability by using map() or apply() or applymap(). (3 marks)
5. Show effective use of pandas and numpy modules. (3 marks)
6. Able to apply masking technique to select the desired rows or columns. (3 marks)
7. Show effective use of the inheritance and polymorphism concepts in OOP to avoid
nested if-then-else statements if your solution can relax the condition 1) to accept a row
whose ISSN, e-ISSN, ISBN, and e-ISBN are all nulls but its TITLE matches that in the
duplication list produced using the condition XXXXXXXXXXmarks)
UNIVERSITI TUNKU ABDUL RAHMAN page 1
Scenario 1 TITLE DB ISSN ... TITLE DB ISSN ... TITLE DB ISSN ...
ttle1 A XXXXXXXXXX … ttle1 B XXXXXXXXXX … ttle1 A XXXXXXXXXX…
Scenario 2 TITLE DB ISSN ... TITLE DB ISSN ...
ttle1 B XXXXXXXXXX … ttle1 A XXXXXXXXXX …
Scenario 3 TITLE DB ISSN ... TITLE DB ISSN ...
ttle1 A XXXXXXXXXX … ttle1 B XXXXXXXXXX …
UEEN1043 Object-Oriented Concept and Programming Techniques 2019
8. The solution does not have any nested loops within the main or any functions. (2 marks)
9. The Solution can run to completion without e
or messages. (2 marks, not a dummy run)
10. Output filename and its contents must conform with the given formats. (2 marks)
11. With clear and sufficient comments in the program to explain your design. (2 mark)
You are not allowed to change the format of any inputs for your convenience as the
marking will feed different contents using the same input format to your solution. Also, you
should not assume any other inputs from the keyboard or files unless otherwise specified
later.
Submission
ï‚· The deadline is 6pm on 19th April 2019 (Friday)
ï‚· NO LATE submission is accepted.
ï‚· One submission for one group is sufficient.
ï‚· Do NOT submit input files.
ï‚· Only submit your solution in Python by emailing them to XXXXXXXXXX with email
subject equal to
â—¦ UEEN XXXXXXXXXXA2 G[group number]
â—¦ e.g. UEEN XXXXXXXXXXA2 G[13] for group #13.
ï‚· Your Python file should follow the naming format below:
â—¦ G[group number]_A2.py
â—¦ e.g. G[13]_A2.py for group #13.
ï‚· Failure to conform to the naming format above will result in 10% deduction of your
total mark.
UNIVERSITI TUNKU ABDUL RAHMAN page 2
mailto: XXXXXXXXXX

All Campus
    DB    TITLE    ISSN    e-ISSN    ISBN    e-ISBN
    M    ACM Computing Surveys      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Journal of Computer Documentation      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Journal on Emerging Technologies in Computing Systems      XXXXXXXXXX     XXXXXXXXXX
    M    Journal of Data and Information Quality      XXXXXXXXXX     XXXXXXXXXX
    M    Journal of Experimental Algorithmics      XXXXXXXXXX     XXXXXXXXXX
    M    Journal of the ACM      XXXXXXXXXX    1557-735X
    M    Journal on Computing and Cultural Heritage      XXXXXXXXXX     XXXXXXXXXX
    M    Journal on Educational Resources in Computing      XXXXXXXXXX     XXXXXXXXXX
    M    Proceedings of the ACM on Computer Graphics and Interactive Techniques         XXXXXXXXXX
    M    Proceedings of the ACM on Human-Computer Interaction         XXXXXXXXXX
    M    Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies         XXXXXXXXXX
    M    Proceedings of the ACM on Measurement and Analysis of Computing Systems         XXXXXXXXXX
    M    Proceedings of the ACM on Programming Languages         XXXXXXXXXX
    M    ACM Letters on Programming Languages and Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Accessible Computing      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Algorithms      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Applied Perception      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Architecture and Code Optimization      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Asian Language Information Processing      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Asian and Low-Resource Language Information Processing      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Autonomous and Adaptive Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Computation Theory      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Computational Logic      XXXXXXXXXX    1557-945X
    M    ACM Transactions on Computer Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Computer-Human Interaction      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Computing Education          XXXXXXXXXX
    M    ACM Transactions on Cyber-Physical Systems    2378-962X     XXXXXXXXXX
    M    ACM Transactions on Database Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Design Automation of Electronic Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Economics and Computation      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Embedded Computing Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Graphics      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Human-Robot Interaction          XXXXXXXXXX
    M    ACM Transactions on Information Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Information and System Security      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Intelligent Systems and Technology      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Interactive Intelligent Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Internet Technology      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Knowledge Discovery from Data      XXXXXXXXXX    1556-472X
    M    ACM Transactions on Management Information Systems     2158-656X     XXXXXXXXXX
    M    ACM Transactions on Mathematical Software      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Modeling and Computer Simulation      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Modeling and Performance Evaluation of Computing Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Multimedia Computing, Communications, and Applications      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Parallel Computing      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Privacy and Security      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Programming Languages and Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Reconfigurable Technology and Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Sensor Networks      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Social Computing     XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Software Engineering and Methodology     1049-331X     XXXXXXXXXX
    M    ACM Transactions on Spatial Algorithms and Systems      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Speech and Language Processing      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on Storage      XXXXXXXXXX     XXXXXXXXXX
    M    ACM Transactions on the Web      XXXXXXXXXX    1559-114X
    M    IEEE/ACM Transactions on Audio, Speech and Language Processing      XXXXXXXXXX     XXXXXXXXXX
    M    IEEE/ACM Transactions on Computational Biology and Bioinformatics      XXXXXXXXXX
    M    IEEE/ACM Transactions on Networking      XXXXXXXXXX
    M    ACM Inroads     XXXXXXXXXX     XXXXXXXXXX
    M    Communications of the ACM     XXXXXXXXXX     XXXXXXXXXX
    M    Computers in Entertainment          XXXXXXXXXX
    M    Crossroads     XXXXXXXXXX     XXXXXXXXXX
    M    Interactions     XXXXXXXXXX     XXXXXXXXXX
    M    Queue     XXXXXXXXXX     XXXXXXXXXX
    M    StandardView     XXXXXXXXXX     XXXXXXXXXX
    M    Ubiquity         XXXXXXXXXX
    M    XRDS: Crossroads, The ACM Magazine for Students     XXXXXXXXXX     XXXXXXXXXX
    M    eLearn        1535-394X
    M    intelligence     XXXXXXXXXX     XXXXXXXXXX
    M    netWorker     XXXXXXXXXX     XXXXXXXXXX
    M    ALGOL Bulletin     XXXXXXXXXX
    M    Computational Linguistics     XXXXXXXXXX
    M    Evolutionary Computation     XXXXXXXXXX     XXXXXXXXXX
    M    Journal of Computing Sciences in Colleges     XXXXXXXXXX     XXXXXXXXXX
    M    Journal of Usability Studies     XXXXXXXXXX
    M    Linux Journal     XXXXXXXXXX
    M    Personal and Ubiquitous Computing     XXXXXXXXXX
    M    Proceedings of the VLDB Endowment     XXXXXXXXXX
    M    The Journal of Machine Learning Research     XXXXXXXXXX     XXXXXXXXXX
    M    The VLDB Journal — The International Journal on Very Large Data Bases     XXXXXXXXXX
    M    3C ON-LINE     XXXXXXXXXX
    M    ACM Communications in Computer Alge
a     XXXXXXXXXX
    M    ACM Lisp Bulletin
    M    ACM SIGACCESS Accessibility and Computing     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGACT News     XXXXXXXXXX
    M    ACM SIGAPL APL Quote Quad     XXXXXXXXXX
    M    ACM SIGAPP Applied Computing Review     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGARCH Computer Architecture News     XXXXXXXXXX
    M    ACM SIGART Bulletin     XXXXXXXXXX
    M    ACM SIGAda Ada Letters     XXXXXXXXXX
    M    ACM SIGBED Review         XXXXXXXXXX
    M    ACM SIGBIO Newsletter     XXXXXXXXXX
    M    ACM SIGBioinformatics Record     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGCAPH Computers and the Physically Handicapped     XXXXXXXXXX
    M    ACM SIGCAS Computers and Society     XXXXXXXXXX
    M    ACM SIGCHI Bulletin     XXXXXXXXXX
    M    ACM SIGCHI Bulletin - a supplement to interactions
i>         XXXXXXXXXX
    M    ACM SIGCOMM Computer Communication Review     XXXXXXXXXX
    M    ACM SIGCPR Computer Personnel     XXXXXXXXXX
    M    ACM SIGCSE Bulletin     XXXXXXXXXX
    M    ACM SIGCSIM Installation Management Review     XXXXXXXXXX
    M    ACM SIGCUE Outlook     XXXXXXXXXX
    M    ACM SIGDA Newsletter     XXXXXXXXXX
    M    ACM SIGDOC Asterisk Journal of Computer Documentation     XXXXXXXXXX
    M    ACM SIGEVOlution         XXXXXXXXXX
    M    ACM SIGFORTH Newsletter     XXXXXXXXXX
    M    ACM SIGGRAPH Computer Graphics     XXXXXXXXXX
    M    ACM SIGGROUP Bulletin     XXXXXXXXXX    2372-739X
    M    ACM SIGHIT Record         XXXXXXXXXX
    M    ACM SIGHPC Connect        2168-135X
    M    ACM SIGICE Bulletin     XXXXXXXXXX
    M    ACM SIGIR Forum     XXXXXXXXXX
    M    ACM SIGITE Newsletter     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGITE Research in IT         XXXXXXXXXX
    M    ACM SIGKDD Explorations Newsletter     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGLASH Newsletter    0036-147X     XXXXXXXXXX
    M    ACM SIGLOG News         XXXXXXXXXX
    M    ACM SIGMAP Bulletin     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGMETRICS Performance Evaluation Review     XXXXXXXXXX
    M    ACM SIGMICRO Newsletter    1050-916X
    M    ACM SIGMINI Newsletter    0163-576X
    M    ACM SIGMIS Database: the DATABASE for Advances in Information Systems     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGMOBILE Mobile Computing and Communications Review     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGMOD Record     XXXXXXXXXX
    M    ACM SIGMultimedia Records         XXXXXXXXXX
    M    ACM SIGNUM Newsletter     XXXXXXXXXX
    M    ACM SIGOA Newsletter    0737-819X
    M    ACM SIGOIS Bulletin     XXXXXXXXXX
    M    ACM SIGOPS Operating Systems Review     XXXXXXXXXX
    M    ACM SIGPC Notes     XXXXXXXXXX
    M    ACM SIGPLAN Fortran Forum     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGPLAN Lisp Pointers     XXXXXXXXXX
    M    ACM SIGPLAN Notices     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGPLAN OOPS Messenger     XXXXXXXXXX
    M    ACM SIGSAC Review    0277-920X
    M    ACM SIGSAM Bulletin     XXXXXXXXXX
    M    ACM SIGSIM Simulation Digest     XXXXXXXXXX
    M    ACM SIGSMALL Newsletter    0272-720X
    M    ACM SIGSMALL/PC Notes     XXXXXXXXXX
    M    ACM SIGSOC Bulletin     XXXXXXXXXX
    M    ACM SIGSOFT Software Engineering Notes     XXXXXXXXXX
    M    ACM SIGUCCS Newsletter     XXXXXXXXXX
    M    ACM SIGUCCS plugged in         XXXXXXXXXX
    M    ACM SIGWEB Newsletter     XXXXXXXXXX     XXXXXXXXXX
    M    ACM SIGecom Exchanges         XXXXXXXXXX
    M    AI Matters         XXXXXXXXXX
    M    Communication Design Quarterly Review     XXXXXXXXXX     XXXXXXXXXX
    M    GetMobile: Mobile Computing and Communications     XXXXXXXXXX     XXXXXXXXXX
    M    SIGSPATIAL Special         XXXXXXXXXX
    M    3DOR: 3D Object Retrieval
    M    3DVP: 3D Video Processing
    M    A-MOST: Advances in Model-Based Testing
    M    A2CWiC: Amrita ACM-W Cele
ation on Women in Computing in India
    M    AAA-IDEA: Advanced Architectures and Algorithms for Internet Delivery and Applications
    M    AADEBUG: Automated analysis-driven debugging
    M    AAMAS: Autonomous Agents and Multiagent Systems
    M    ACDC: Automated Control for Datacenters and Clouds
    M    ACET: Advances in Computer Entertainment Technology
    M    ACISNR: Applications of Computer and Information Sciences to Nature Research
    M    ACL2: ACL2 Theorem Prover and its Applications
    M    ACM DEV: Computing for Development
    M    ACM POLICY: ACM POLICY
    M    ACM SE: Annual Southeast Regional Conference
    M    ACM-BCS: ACM-BCS
    M    ACM: ACM Annual Conference/Annual Meeting
    M    ACPIS: Aspects, Components, and Patterns for Infrastructure Software
    M    ACSAC: Annual Computer Security Applications Conference
    M    ACoM: Assessment of Contemporary Modularization Techniques
    M    ADAMUS: Adaptive and Dependable Mobile Ubiquitous Systems
    M    ADKDD: Data Mining and Audience Intelligence for Advertising
    M    ADPUC: Advanced Data Processing in Ubiquitous Computing
    M    AFFINE: Affective-Aware Virtual Agents and Social Robots
    M    AFIPS: AFIPS
    M    AFM: Automated Formal Methods
    M    AFRIGRAPH: Computer Graphics, Virtual Reality, Visualisation and Interaction in Africa
    M    AGENTS: Autonomous Agents
    M    AH: Augmented Human
    M    AIEE-IRE: AIEE-IRE
    M    AIEMPro: Automated Information Extraction in Media Production
    M    AIGC: Artificial Intelligence in Grid Computing
    M    AINTEC: Asian Conference on Internet Engineering
    M    AIPACa: Applications of Private and Anonymous Communications
    M    AIRS: Asia Information Retrieval Symposium
    M    AIRWeb: Adversarial Information Retrieval on the We
    M    AISC/MKM/Calculemus: AISC/MKM/Calculemus Conference on Intelligent Computer Mathematics
    M    AISec: Artificial Intelligence and Security
    M    ALICE: Alice Symposium
    M    AM: Audio Mostly
    M    AMC: Ambient Media Computing
    M    AMCMM: Audio and Music Computing Multimedia
    M    ANCS: Architectures for Networking and Communications Systems
    M    AND: Analytics for Noisy Unstructured Text Data
    M    ANNA: Analysis of Neural Network Applications
    M    ANSS: Annual Simulation Symposium
    M    AOM: Aspect-Oriented Modeling
    M    AOMD: Aspect Oriented Middleware Development
    M    APGV: Applied Perception in Graphics and Visualization
    M    APL: APL
    M    APLWACA: Analysis and Programming Languages for Web Applications and Cloud Applications
    M    APOS: Scrutinizing Agile Practices
    M    APS: Adaptive, Personalization & the Semantic We
    M    APSys: Asia-Pacific Workshop on Systems
    M    AREA: Analysis and Retrieval of Events
    M    ARM: Adaptive and Reflective MIddleware
    M    ARTEMIS: Analysis and Retrieval of Tracked Events and Motion in Imagery Streams
    M    ASE: Automated Software Engineering
    M    ASIA CCS: Information, Computer and Communications Security
    M    ASIA-PEPM: Partial Evaluation and Semantics-Based Program Manipulation
    M    ASID: Architectural and System Support for Improving Software Dependability
    M    ASPDAC: Asia and South Pacific Design Automation Conference
    M    ASPLOS: Architectural Support for Programming Languages and Operating Systems
    M    AST: Automation of Software Test
    M    AUIC: User Interface
    M    AUPC: Agent-Oriented Software Engineering Challenges for Ubiquitous and Pervasive Computing
    M    AUS-CE: Australasian Conference on Computing Education
    M    AVI: Advanced Visual Interfaces
    M    AVSTP2P: Advanced video streaming techniques for peer-to-peer
Answered Same Day Apr 03, 2021 UEEN1043

Solution

Pritam answered on Apr 11 2021
143 Votes
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here