University of Lincoln Assessment FrameworkAssessment Briefing Template 2021-2022 Module Code & Title: CMP9133M Advanced ProgrammingContribution to Final Module Mark: 100%Description of Assessment Task and Purpose:RequirementsThis component requires you to complete the following two tasks.(1) Develop a playable online 3D ten pin bowling game with rules similar to a physical ten pinbowling game that can be played by a good number of online players, with potential to scale upfor massive online players;(2) Write a formal report covering the development details of the game, and your insights on thechallenges, solutions, programming languages and skills regarding large-scale programmingissues.The purpose of this assignment is to evaluate your capability in evaluating, proposing andimplementing solutions for a large scale programming problem, and your deep understanding ofdifferent object-oriented programming languages and state-of-the-art tools for large scaleprogramming issues.Your development can recycle and extend the materials used in the module workshops. Pleasenote that it still needs significant modification to the provided system design and implementationto meet the requirements. Alternatively, you can opt for implementing your own GUI-based gamefrom scratch addressing the massive online challenges. To meet the minimum requirement, yourdeveloped online game should allow at least 100 online players to play at the same time.The detailed technical requirements are detailed below. Please note that you are expected tosubmit the report on your development addressing these requirements below, along with allsource code and project files of your system.The Playable Online GameSimilarly to the C++ classes Ball, Table, Cushion and Players — designed or restructured duringthe workshops – you are required to think carefully about the classes you will design andimplement to make a playable online ten pin bowling game suitable for large number of playerswith potential to scale up for massive online players. To complete a playable game, the followingclasses and effects must be implemented.1. LanesA lane shows the area for two players to play the game with certain layouts. The online gamewill have multiple tracks or courses allowing multiple players to pair with and play at thesame time. This means that a lane class should be designed and implemented, and your gameshould support large number of lanes, at least 5 lanes for demonstration.2. Balls and pinsAdd programmatic ball and pin classes to the lanes. This will require the design andimplementation of new classes to support the attributes and functionality of a ball/pin. Youwill then be able to add ball/pin objects to the lanes, implement a method for detecting aball/pin’s collisions and positions, and construct a system for managing balls/pins/scores.Typically, there are one object ball plus ten pins for a lane. Your game should allow 2players playing in each lane. 3. Players and ScoresYou should design and implement a ten pin bowling game to accommodate a few players atthe same time. This does not need to follow exactly standard ten pin bowling game rules, andmay be quite simple. However, it should be turn-based, and players should score points.Again, you should think carefully about a suitable class structure to represent the players andgame rules. You should also consider how your game logic code could be extended, andreflect this in your code design. For example, could your game be easily scaled up to support10,000 players to play at the same time rather than just 10 players?You should also design and implement functionality for displaying the current player(s),players’ score(s) and ranking. You can either display the text information in the gamewindow (ideal case), or print text to the console window as a basic/minimal solution.4. Multiple ComputersYou should also design and implement functionality allowing game play in multiplecomputers via a computer network. The scores and ranking of players, even in differentlocations/computers, should be displayed and updated as well.You should think about how to allow massive players to join the online game and implementthis to your game.The above tasks will be evaluated via a software demonstration, where both the functionalitiesand the source code will be evaluated by two markers during the demonstration.The ReportYou should submit a report (1) describing your online ten pin bowling game development indetail, (2) describing the key challenges and your solutions, if your game is re-designed formassive online players e.g. more than one million users at the same time. The report should bemaximum 8 pages with the font size of 11pt, excluding front cover, references and appendices.The report should clearly structured and include the following sections:About your developed artefact▪ The game. Please describe your game including the rules of your game, how to play thegame, and at least one snapshot of your game (approx. 0.5 page)▪ Design and implementation. Please describe briefly your game design and theimplementation of the classes and the key functions you have used in the game, usingdiagram if necessary (approx 1 page)▪ Implementation. Please include detailed descriptions of the new classes, functions andconcepts you have implemented for each of the above 4 requirements including lane/ballpin/players-scores and multiple computers, with diagram/plots/snapshots of source code ifnecessary (approx. 4 pages)▪ Memory and scalability. The method you use to cope with memory (e.g. too many detailedobjects to be loaded) and scalability (e.g. 1,000 or even more online players at the sametime) issues, with diagram/plots/snapshots of source code if necessary (approx. 0.5 page)▪ Strengths and weaknesses of programming languages in implementing the game. Yourown reflective thinking about the strengths and weaknesses of C++ programminglanguage, as compared to other development tool(s) such as Python/Java/C#, especiallyyour own experiences in the development of the game (approx. 1 page).Challenges and solutions if your game to be scaled up for massive online players▪ Please list key challenges if your game is scaled up for more than one million online usersplay at the same time, and propose your solutions to these challenges. Your solutions maynot be restricted to only one specific program language or specific platform (approx. 0.75pages). ▪ Please also provide a brief review/examples of similar large scale projects or online games(approx. 0.25 page)Appendix▪ You are expected to include your own code as an appendix to the report, or any other materialrelated to your solution such as detailed design diagrams or screenshots.Learning Outcomes Assessed:On successful completion of this component a student will have demonstrated competence in thefollowing areas:▪ [LO1] Evaluate the strengths and weaknesses of different object-oriented programminglanguages in comparison to alternative development tools▪ [LO2] Propose and implement solutions for a large-scale programming problem▪ [LO3] Critically evaluate different solutions for large-scale programming problemsKnowledge & Skills Assessed:Advanced Programming Knowledge, Skills and Understanding: e.g. Literature searching,Referencing, Project Planning, Techniques and Advanced Skills for large scale programming.Professional Graduate Skills: e.g. independence and personal responsibility, adaptability, verbalcommunication, written communication, creativity, critical thinking, self-reflection, problemsolving, group or team skills, effective time management, working under pressure to meetdeadlines.Assessment Submission Instructions:The deadline for submission of this work is included in the school submission dates onBlackboard.You must make an electronic submission of your work by using the assessment link onBlackboard for this component. Your report should be submitted in PDF format. At the sametime, you should also submit a .zip file containing all code and project files necessary to run yourgame. It is important that you check that your .zip file decompresses to a Visual C++ 2019, 2017,2015, 2010 or 2008 or Visual Studio Community 2017, 2015, 2010 or 2008 project which can bebuilt and executed on another PC.DO NOT include this briefing document with your submission.Date for Return of Feedback: Within three weeks after submissionFormat for Assessment:Assessment will include (1) demonstration of the code via online meeting tools such as MicrosoftTeams to shown the functionalities of the developed artefacts and explain the key code segmentsto the markers; (2) submit a report describing the development of the artefacts and also theinvestigations as detailed in the above sections.Feedback Format:Feedback will be in a written format with scores against each Criteria, e.g. CR1, CR2, and CR3.Final weighted score for this assignment will be given in the feedback.Additional Information for Completion of Assessment:Effective Modern C++, Meyers, Scott, 2015 Support Information:This assessment is an individually assessed component. Your work must be presented accordingto the School of Computer Science guidelines for the presentation of assessed written work.Please make sure you have a clear understanding of the grading principles for this component asdetailed in the accompanying Criterion Reference Grid (CRG).If you are unsure about any aspect of this assessment component, please seek the advice of amember of the delivery team.Important Information on Dishonesty & Plagiarism:University of Lincoln Regulations define plagiarism as ‘the passing off of another person’sthoughts, ideas, writings or images as one’s own…Examples of plagiarism include theunacknowledged use of another person’s material whether in original or summary form.Plagiarism also includes the copying of another student’s work’.Plagiarism is a serious offence and is treated by the University as a form of academic dishonesty.Students are directed to the University Regulations for details of the procedures and penaltiesinvolved.For further information, see

Manner Wilfrid dreamt smartly endure beaming security cell