# ADS103 Data Structures and Algorithms

ADS103: Assessment 3 Brief ASSESSMENT 4 BRIEFSubject Code and Title ADS103 Data Structures and AlgorithmsAssessment Assessment 4: ProjectIndividual/Group Individual / PairLength Game Project + Post…

ASSESSMENT 4 BRIEFSubject Code and Title ADS103 Data Structures and AlgorithmsAssessment Assessment 4: ProjectIndividual/Group Individual / PairLength Game Project + Post Mortem(Individual)Learning Outcomes a) Utilise algorithms and data structures appropriately tosolve software engineering problemsb) Identify a collection of algorithms to solve commonsoftware engineering problemse) Design and develop recursive algorithmsf) Inspect and examine moderately complex solutions toascertain behaviour and problemsSubmission By 11:55 pm AEST/AEDT Sunday of Module 6.2 (week 12)Weighting 40%Total Marks 100 marks

Context:Create a simple game ‘Tic Tac Toe’, with options of two types of opponents: computer and human,that is, one player is computer and other is human OR both are human OR both are computer (the lastone being an extended feature and not part of MVP). This can be done individually or in pairs.Complete a post-mortem of the project at completion.The project must also use some form a version control (i.e git).Instructions:Game Design:Minimal Viable Product (MVP) features

 Text-based game where the grid is displayed as lines and dashes and, user useskeyboard to specify the position in the grid. The position can be labelled as follows:

A|B|CD|E|FG|H|I

  So if the user wants to put an X in top left position they will press A on keyboard.The game should generate error if user gives incorrect position (position that does notexist or is already occupied).The game is can be timed (the player needs to make the move is a given time elsethey lose)

    Game maintains history of computer wins and lossesGame has a defined start and end.Game can be restarted or aborted.In case where one opponent is computer, it has to play intelligently to make the bestmove possible to win the game or draw it.

Essential but non-MVP features

  Maintain history of all playersPlayers must identify themselves before playing. In case of new player, they cancreate their unique identity.Both opponents are computer

Potential extended features Graphical user interfaceProject Management: Source control: It is recommended that you use Git for your version control with acloud based service for hosting such as BitBucket or GitHub. Note: your lecturer mustbe given access to your project by the end of Module 6.1.Post Mortem:After implementation, write a reflective analysis detailing the experience of the developmentprocess.

  500(min) words in length.Include the following sections:

o Overview.o What went right.o What went wrong.o What I’m not sure about.o Conclusion.Remember, if you have worked with a partner, each of you must submit a separate PostMortem document detailing your individual experience & reflection.Technical Requirements:

   Appropriate, effective and correct usage of C or C++Effective use of data structuresGood selection of algorithms

Build Quality:The source code is required to display the following features: Free of:ADS103: Assessment 3 Briefo Build warnings at Warning Level 3 for all build targets.o Build errors for all build targets.o All intermediate files, (.obj, .pdb, .ilk, …, files etc). For C++ projects, an electronic copy of the source code (.cpp), solution file (.sln) andproject file (.vcxproj) is required.o Name the source code folder as: Source – Student Nameo Name the solution as: YourGameName.slnRuntime Quality:The build is required to display the following features:

 Free of:o Bugs.

o Crashes.Code structure & Commenting:

 Code should be structured to reflect the best practices where possible for object-orienteddesign.Code should be commented in your own words to demonstrate understanding whereapplicable.Any third-party code should be appropriately attributed to the source and any licensingshould be included in both the runtime & source. 

ADS103: Assessment 3 BriefSubmission Instructions:Zip files containing the following.Release Build Zip: A release build executable must be zipped and included with thesubmission. Ensure that project settings are set to Release when creating this build.Source Code Zip: All relevant source code files and project files must be zipped andincluded with the submission.Readme document: PDF and Word

Post Mortem Document: PDF or WordNaming & File structure for the zip file. ADS103_Assessment4_LastName_FirstName.zipo Assessment4_Build_LastName_FirstName.zipo Assessment4_Source_LastName_FirstName.zipo Assessment4_ReadMe_lastName_FirstName.txto Assessment4_PostMortem_LastName_Firstname.pdfo Assessment4_PostMortem_LastName_Firstname.docxADS103: Assessment 3 BriefAssessment 1: Mini Project

Marking Criteria F P C D HDSubject Learning Outcome:b) Identify a collection of algorithms to solve common software engineering problemse) Design and develop recursive algorithmsf) Inspect and examine moderately complex solutions to ascertain behaviour and problemsSolution / Project builds cleanly under warning level three in both Debug and Release modes. File structure ofthe solution matches the requirements exactly. All files required to execute the program are presentand no unnecessary files are submitted. Includes a ReadMe.txt with clear instructions.5%Subject Learning Outcome:b) Identify a collection of algorithms to solve common software engineering problemse) Design and develop recursive algorithmsf) Inspect and examine moderately complex solutions to ascertain behaviour and problemsAppropriate, effective and correct usage of C++/C# which demonstrates the following qualities : Appropriate OOP techniques and conventions have been used. Clear naming conventions and appropriate data types are used. Function and class design is efficient and manageable. Code is modular in nature and extensible in design.30%Subject Learning Outcome:b) Identify a collection of algorithms to solve common software engineering problemse) Design and develop recursive algorithmsf) Inspect and examine moderately complex solutions to ascertain behaviour and problems

The software project displays the following qualities. The game runs smoothly and without error or crashes. Where necessary, comments are used to clarify the purpose and use of data and functions. Commentsdemonstrate clear understanding of the related code. Code formatting is consistent, with good use of whitespace, tabbing and alignment. The game not only functions correctly but reflects testing and iteration.15%Subject Learning Outcome:a) Utilise algorithms and data structures appropriately to solve software engineering problemse) Design and develop recursive algorithmsDigital game has the following features implemented: All functionality required for minimal viability. Essential game elements as per original design specification. Advanced or extended functionality.35%Subject Learning Outcome:b) Utilise algorithms and data structures appropriately to solve software engineering problemse) Design and develop recursive algorithmsEffective project management & source control used. Project was scoped and planned according to resources. Project was managed according to agile principles and appropriate monitoring and review was used. Version control such as git or Unity Collaborate was used to manage source code.15%