diff_months: 13

FOP1005 – Fundamentals of Programming Assignment

Download Solution Now
Added on: 2023-04-03 06:10:28
Order Code: 488244
Question Task Id: 0
  • Subject Code :

    FOP1005

 

ContentsandPercentageDistribution:

The details of important components of assignment and their constriction for the marking ofthisassignment are as below.

Sr.

Content

Percentage Distribution(if any)

PageNo

1.

BasicDetails

NA

1

2.

Overview

NA

2

3.

Specifications

NA

2

4.

ReadingCSVFile

10 %

2

5.

DisplayingMenu

04%

2

6.

AddingFilters

20%

3

7.

PrintingNames

05%

3

8.

Graphing Results

20%

3

9

ResetFilters

01%

4

10.

CodingStandards

10%

4

11.

UserDocumentationandReport

30%

4

12.

SubmissionDetails

NA

5

13.

SubmissionInstructions

NA

5

14

UnitPassingRequirements

NA

5

15.

LateSubmission

NA

6

16.

Clarification and Amendments

NA

6

17

WhatshouldbeAvoided

NA

6

*AlltimedetailsmentionedareinUCT+8time zonestandard

*Readthecompletedocumentandsubmissionrequirementsbeforestartworkingonit.

*This is an open book open computer/internet assessment however, any direct code copying formunacceptable links/repositories willbe subjected asanacademic integrityissue.

1Overview

You are a freelance Data Analyst. You are required to analyse the dataset of video games saleand generate a detailed report on popularity and in market rating of the game. More details onthedatasetprovidedcanbefoundhere:https://www.kaggle.com

/datasets/gregorut/videogamesales.You should use the dataset provided on the unit Moodlepage. The assessment has two parts as (a) coding part and (b) documentation and report. Allpartshavemarksassignedanshouldbecompletedasperdescriptionprovidedforeachpart.

Note:usethecleaneddataprovideontheunitMoodlepage

2Specifications

Thecodingportionofthisassignmentisbrokenupintofourmaintasks.Thereisalsoareport.sectionof the assignment. The fourmain codingtasks are:

  1. Readinggamessaledatastoredinthecsvfile.
  2. Displayingamenuaskingtheuserwhatfiltersuserwanttoapplytothe
  3. Displayingthedatamatchedbythesetfiltersasagraphorbyprintingtothe
  4. Resetfilter by removing all thefiltersthat has been applied.

2.1ReadingCSVFile(10%)

The GamesSales.csv file contains all the details of the games and sales considered by thecompanyasacomma-separatedvalue(CSV)file.Beforegoingontothenexttasksyou’llneedto read this file and store this data in a list or an array. Discuss which option you chose andwhyintheUserDocumentation.

Thereare9attributesthatdescribeagivengameshownintheGamesSales.csvfile,theyare:

  • Name:Inmarket nameof the
  • Platform:Thegamingplatformforthegameisdesigned(e.g.,x360PS5)
  • Year: Yearof release.
  • Genre:Categorybasedonrecent games(e.g.,Sports)
  • Publisher:Agencyresponsibleforpublicationofthe
  • NA_Sales:SalesinNorthAmerica(inmillions).
  • EU_Sales:.SalesinEurope(inmillions).
  • JP_Sales:Salesin Japan(inmillions).
  • Other_Sales:Salesintherestoftheworld(inmillions)
  • Global_Score:Totalworldwide
  • Critic_Score:Criticscoregiventoeach
  • Critic_Count:Numbercriticcontributedforthe
  • User_Score:Userratingforeach
  • User_Count:Numberofuserscontributedtothe
  • Developer:Thenameof
  • Raring:Overallmarket

2.2DisplayingaMenu(04%)

Once you have read in the data from the file, your next task is to display a menu asking theuserwhichof the followingoptionstheywishtoperform:

  1. Addfilters:Userselectasmallerportion(basedonfilters)ofdatatoprintor
  2. Printnames:Printsthenamesanddescriptions(attributes)ofthefilteredgames(basedon the filter).
  3. Graphdata:Graphsthefiltereddata(basedonthefilters).
  4. Resetfilters:Removesall theapplied
  5. Exit:Exits the program.

2.3AddingFilters(20%)

This menu option allows the user to add filters to the data read in from the CSV file to helpgain insights into the data. The user should have the ability to add filters on Platform, Genre,Year(range)Global_Score,andRating.Theusershouldbeabletoaddfiltersonmultipleoftheseattributes. This ishowadding afilter to eachattributeshouldwork:

  • Year(range):Theuserisshowntherange(minimumyearandmaximumyear)ofyearsthe data is analysed and select one. Once the year is selected then the data selectedshould be used for any further filters’ application, printing/showing graph. All filtersshould be applied as a code (should not be hardcoded). In other words, if the data ischanged (added a new attributes) in the file then program should display the updateddetailswithoutyou needing to change the code.
  • Platform: The user can choose a platform, only the game with platform (selected)should be used for any further filters or printing or showing graph. Different gamesshouldbe selected fromthe file (based ondata present), shouldnot be hard coded.
  • Global_Score:TheusercanchooseaGlobal_Score,onlythegameswithGlobal_Score(selected)shouldbeusedforanyfurtherfiltersorprintingorshowingDifferentgamesshouldbeselectedfromthefile(basedondatapresent),shouldnotbehardcoded.
  • Genre: The user can choose a Genre, only the games with Genre (selected) should beused for any further filters or printing or showing graph. Different games should beselectedfromthefile(basedondatapresent),shouldnotbe
  • Rating (range): The user is shown the range (minimum value and maximum value)of rating the data is analysed and select one. Once the rating is selected then the dataselectedshouldbeusedforanyfurtherfilters’application,printing/showingAllfiltersshouldbeappliedasacode(shouldnotbehardcoded).Inotherwords,ifthedataischanged(addedanewattributes)inthefilethenprogramshoulddisplaytheupdateddetailswithoutyou needing to change the code.

2.4PrintingNames(05%)

This option should print names and descriptions (name, platform, year, etc) of the gamesremainingafterthefiltersareset.Nootherinformationneedstobeprintedotherthanthenamefollowed by the associated description.

2.5GraphingtheResults(20%)

Thisoptionshouldgraphthedataremainingafterthefiltersareset.Whentheuserchoosesthisoptiontheyshouldbeaskedwhatdatatheywanttoplotonthex-axis.Theoptionsareplatform,year and genre. The y axis should always be the Global_Score and Rating for multiple salesdetailsforagame(byplatform,yearandgenre)onlyhighestshouldbeplotted/printed.Thex-axisandy-axisshouldbelabelled,andthegraphshouldhaveatitle.Itisuptoyouasto4whattype of graph you want to use to plot the data (bar, line, histogram, etc) but you should use atleast 2 different types. Bear in mind that some graph types are better suited for different typesofdata.Explain inyour UserDocumentation whatgraph typesyouusedandwhy.

2.6Resetfilters(01%)

This option should remove all the filters that has been applied so users can now select newfilterswithoutquitting your program.

2.7CodingStandard(10%)

Your code submission must conform to coding standards emphasised in the lectures andpracticals. Your code should also make use of multiple functions to reduce code duplication.Yourcodeshouldalsofollowtheprogramlayoutstructureonslide52oflecture4.Note,yourcode won’t look the same as the code on that slide but the order of the sections should be thesame.Remember, consistency is key!

2.8DocumentationandReport(30%)

You need to submit User Documentation as well as a Report, both of which should be in adoc/docx or pdf format.

2.8.1Documentation

YourUserDocumentationwillbeaminimumof2pageslongandshouldincludethefollowing:

  • Anoverview of each of your program's features.
  • Aguide on how to use your program.
  • Adiscussionofyourcode,explainingthefeaturesyouimplemented,howyouimplementedthem and whyyou implemented them the wayyou

The user documentation will be used and referred to by the programmers in the data analysisteamat your ‘workplace’to getan understandingofyourcode.

2.8.2Report

Your report will be a mini-paper that is 2-3 pages long and should follow the structure of astandard academic report. This is what will be used by the data analysis team at your work tomake decisions about the future of the company. As a result, this report should discuss theinsightsyoufoundinthedatausingyourprogram.Suchas,whatgameshavethemostentries?What is the distribution of games (by rating) on sales data? Which game has the most highestratingvaluesand/oranyotherinterestinginsightsyoudiscovered?Therequiredsectionsare:

  • Abstract:Summariseyourreport’sExplainthepurposeoftheprogram,the
  • questionsyouwantedittoanswerandyouroutcomes/recommendations.
  • Background:Discussthepurposeoftheprogramandyourchoiceofquestions(see
  • examples in the paragraph above).
  • Methodology:Discusshowyouwentaboutgainingtheseinsightsfromtheprogramtoanswer your questions and why you chose to do it that way. Include commands, inputfiles,and outputs– anythingneeded to reproduceyour
  • Results:Presenttheresultsofyouranalysis–includetables,plotsand
  • Conclusion and Future Work: Give conclusions and what further investigations couldbe done.
  • References:seeunitoutlinesforstyling

You can find examples on google but do not copy and paste. Just use the examples as areference.

3Submission Details

SubmitelectronicallyviaMoodle.Makesuretosubmitearly.Youcansubmitmultipletimes

– we will only mark the last attempt. Take care not to submit your last version late though.Readthe submissioninstructionsverycarefully.

3.1SubmissionInstructions

You should submit a single file, which should be zipped (.zip). The file must be namedFOP_Assignment1_wheretheisreplacedbyyourstudentidignoringtheanglebrackets.Thereshouldbenospacesinthefilename;useunderscoresasshown.Aftercreating the zip file, open it and make sure everything zipped correctly! The file must containthefollowing:

  • YourThismeansallthefilesneededtorunyourprogram.Thatincludesinputfilesused as partof the assignmentif that isrequired to runyourprogram.
  • READMEfile,includingshortdescriptionsofallfilesanddependencies,andinformationonhowto runthe
  • UserDocumentationandReport,asdescribed

A signed and dated Declaration of Originality. This is available on Moodle and asks you toconfirm that your work is your own. You can sign a hard copy and scan it in or you can fill inasoftcopyanddigitallysignit.Makesurethatyourzipfilecontainswhatisrequired.Anythingnot included in your submission may not be marked, even if you attempt to provide it later. Itisyour responsibilityto makesurethatyoursubmissioniscompleteandcorrect.

3.2UnitPassingRequirements

Please note, as specified in the unit outline, it is necessary to have reasonably attempted theassignment in order to pass the unit. A reasonable attempt is around 30%. Something tonote is that this assignment is worth 30% of the overall unit and you need to achieve atleast 50% overall to pass this unit. This means doing poorly in this assignment may makepassing difficult. Plagiarism is a serious offence. This assignment has many correct solutionsso plagiarism will be easy for us to detect (and we will). For information about plagiarism,please refer to http://academicintegrity.curtin.edu.au. In the case of doubt, you may be askedtoexplainyourcodeandthereasonforchoicesthatyouhavemadeaspartofcodingtotheunitcoordinator.Afailuretoadequatelydisplayknowledgerequiredtohaveproducedthecodewillmostlikely result in being formallyaccusedofcheating.

Finally, be sure to secure your code. If someone else gets access to your code for any reason(including because you left it on a lab machine, lost a USB drive containing the code or put itona publicrepository) youwill beheld partiallyresponsibleforany plagiarismthat results.

3.3LateSubmission

As specified in the unit outline, you must submit the assignment on the due date. Acceptanceof late submissions is not automatic and will require supporting documentation proving thatthelatesubmissionwasduetounexpectedfactorsoutsideyourcontrol.Seetheunitoutlinefordetails as to the procedure for requesting that an assessment be accepted after the due date.Also, note that IT-related issues are almost never a valid excuse. In the event that you submityour assignment late and are deemed to have a valid excuse, you will be penalised 10% (thatis, 10% out of 100%, not out of what you would have received) per calendar day that you arelate, up to a maximum of seven (7) calendar days. Any work submitted after this time will notbe marked and you will automatically fail the unit. Note that if you are granted an extensionyouwillbeabletosubmityourworkuptotheextendedtimewithoutpenalty–thisisdifferentfrom submitting late.

3.4ClarificationandAmendments

Thisassignmentspecificationmaybeclarifiedand/oramendedatanytime.Suchclarificationsand amendments will be announced on the unit’s Moodle page. These clarifications andamendmentsformpartoftheassignmentspecificationandmayincludethingsthataffectmarkallocations or specific tasks. It is your responsibility to be aware of these by monitoring theAssignmentsection of theunit’sMoodlepage.

3.5WhatShouldbeAvoided.

  • Anyunacceptable onlinesourceforcoding (e.g.,ChatGPT, GitHubcode,etc).
  • Uploaded By : Katthy Wills
  • Posted on : April 03rd, 2023
  • Downloads : 0
  • Views : 302

Download Solution Now

Can't find what you're looking for?

Whatsapp Tap to ChatGet instant assistance

Choose a Plan

Premium

80 USD
  • All in Gold, plus:
  • 30-minute live one-to-one session with an expert
    • Understanding Marking Rubric
    • Understanding task requirements
    • Structuring & Formatting
    • Referencing & Citing
Most
Popular

Gold

30 50 USD
  • Get the Full Used Solution
    (Solution is already submitted and 100% plagiarised.
    Can only be used for reference purposes)
Save 33%

Silver

20 USD
  • Journals
  • Peer-Reviewed Articles
  • Books
  • Various other Data Sources – ProQuest, Informit, Scopus, Academic Search Complete, EBSCO, Exerpta Medica Database, and more