Python-Programming Coursework Assessment
ContentsandPercentageDistribution:
The details of important components of assignment and their constriction for the marking ofthisassignment are as below.
Sr. |
Content |
Percentage Distribution(if any) |
1. |
BasicDetails |
NA |
2. |
Overview |
NA |
3. |
Specifications |
NA |
4. |
ReadingCSVFile |
10 % |
5. |
DisplayingMenu |
04% |
6. |
AddingFilters |
20% |
7. |
PrintingNames |
05% |
8. |
Graphing Results |
20% |
9 |
ResetFilters |
01% |
10. |
CodingStandards |
10% |
11. |
UserDocumentationandReport |
30% |
*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:
- Readinggamessaledatastoredinthecsvfile.
- Displayingamenuaskingtheuserwhatfiltersuserwanttoapplytothe
- Displayingthedatamatchedbythesetfiltersasagraphorbyprintingtothe
- 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.Beforegoingontothenexttasksyoullneedto 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:
- Addfilters:Userselectasmallerportion(basedonfilters)ofdatatoprintor
- Printnames:Printsthenamesanddescriptions(attributes)ofthefilteredgames(basedon the filter).
- Graphdata:Graphsthefiltereddata(basedonthefilters).
- Resetfilters:Removesall theapplied
- 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 dataselectedshouldbeusedforanyfurtherfiltersapplication,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 wont 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 workplaceto 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:SummariseyourreportsExplainthepurposeoftheprogram,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:Presenttheresultsofyouranalysisincludetables,plotsand
- Conclusion and Future Work: Give conclusions and what further investigations couldbe done.
- References:seeunitoutlinesforstyling