Assessment Brief Pro Forma 1. Module number SET08122 2. Module �tle Algorithms and Data Structures 3. Module leader Christos Chrysoulas 4. Tutor with responsibility for this Christos Chrysoulas – Assessment Student’s first point of contact 1st point of contact Moderator: Emma Hart 5. Assessment See Attached coursework descrip�on 6. Weighting 100% 7. Size and/or �me limits for See A�ached coursework description assessment 8. Deadline of submission CW Part 1 (30%) CW Part 2 (70%) Your a�en�on is drawn to the penal�es for late submission For CW Part 1: 3pm on Friday 4th March For CW Part 2: 3pm on Friday 29th April Your a�en�on is drawn to the penal�es for late submissions. 9. Arrangements for submission Submit via Moodle 10. Assessment Regula�ons All assessments are subject to the University Regula�ons. Normal regula�ons. 11. The requirements for the assessment See coursework specifica�on below. 12. Special instructions None 13. Return of work Feedback will normally be supplied within 3 working weeks of a submission. Student work will not be returned. 14. Assessment criteria See coursework specifica�on a�ached. You are advised to follow normal academic conven�ons for acknowledging sources. Algorithms & Data Structures SET08122 Coursework Specifica�on 1 Task The objec�ve of this coursework is to demonstrate your understanding of both theory and prac�se in rela�on to the content of the Algorithms and Data Structures module. Your specific task is to implement a simple, command-line only (no GUI or graphics) version of the “Sudoku”1 game using the programming language of your choice. The core goal of your implementa�on should focus on your choice of data structures and algorithms needed to implement the game. You must think carefully about which data structures and algorithms are appropriate to your solution and apply them effec�vely in your implementa�on. The minimum requirement is that you will, using your knowledge both from taught interac�ons and self-directed learning, iden�fy and implement appropriate data structures and associated algorithms to represent and manipulate at least the Game board - the space in which the game is played and be in posi�on to play a round of the game in full. Meaning that there should be at least some checking that the number is valid and to recognise a completed game. There should be an ini�al menu from where the player can choose one the following difficulty levels: a) Easy, b) Medium and c) Hard. For every data structure and algorithm that you use in your solu�on, you must have evaluated and jus�fied your choice. Ideally you will have considered alterna�ve approaches for each aspect of the program, for example, there are mul�ple methods for implemen�ng a game board, each of which has advantages and disadvantages. You should also consider how your choices of data structures and algorithms will perform as the amount of data that they manipulate varies. All these aspects should be considered within your wri�en report. To earn a better grade there are some addi�onal requirements: • Your game should record the history of play and allow earlier games to be automa�cally re-played from this record, i.e. the sequence of moves that the player(s) make during a game, so that each game that is played 1 If you are unfamiliar with Sudoku, then some background about the game can be found here: https://en.wikipedia.org/wiki/Sudoku can be recorded and re-played. Subsequent automa�c replaying a record of an earlier game from the record is a part of this requirement. • Your game should support undo, i.e. once a move is made you should be able to un-apply it, returning the game state to the immediate previous state. Your players should be able to undo moves right back to the ini�al game state. • Once an undo facility is working you game can be extended to support redo of moves that have been undone. • Extra op�ons to be considered. Op�ons like playing against time. For example, 7 minutes to finish the game. If you are aiming for a grade at the upper end of the grading scale (for example 80+) and have completed the requirements then you should consider extending the core requirements to demonstrate your self-directed learning, for example, directions that you might consider could be game boards of various sizes. Whilst the default is tradi�onally 9 rows x 9 columns, larger, or differently shaped boards can lead to interes�ng consequences in terms of how a game is played and this might require an adjustment to how you implement your game rules. Another goal might be to provide insight for the remaining places. For example, the game can also keep track and let the player know how many of each number are le� for the board to be solved. More advanced functions will support for example a game against a clock. This coursework should be fun, so use your imagina�on, and give your crea�vity a free rein. Inven�on and originality will be rewarded by the marking scheme. I hope you enjoy working on it. 2 Submission & Deliverables Your coursework deliverables comprise the following: 1. Coursework Part 1 The first part of the coursework should be considered as an ini�al design document, which should also include a detailed as possible literature review. Study and cri�cally evaluate what others have done on the field and what are their prons and cons. Eventually you should be in posi�on to propose possible ways to go on with your own implementa�on. In detail explain the features that you plan to include in your delivery. Of course, these can change as you proceed with the actual implementa�on during the phase 2 of the Coursework. All the above should be well documented in a report that you will have to deliver by the (hard) deadline placed by the Teaching Team and can be also found on the first page of the coursework descriptor. The style of wri�ng, the coherence, and the detail on which you have delved will be assessed and marked. Your report must be no longer than 3 pages in length (excluding appendices). Appendices may be used to include supplemental data, screenshots, or documenta�on, but these must be referenced from within the main body of your report. The format of the submitted report must be PDF and should include the following sec�ons: Title of your report. Introduction Describing the problem & giving an overview of features. Design Explaining how you plan to design & architect your software paying par�cular a�en�on to the algorithms and data structures to be used. In this sec�on you must iden�fy and jus�fy the inclusion of each data structure u�lised by your game based on the research you have done. In detail explain the features that you plan to include in your delivery. References (Op�onal) If you have used additional resources then these should be cited. Otherwise, this sec�on may be omi�ed. All work must be your own work. If you have been inspired by work from elsewhere then it is worth playing safe and explicitly recording the source of any code, design ideas, or approaches that you may have adopted. Properly referencing, quo�ng, and ci�ng the work of others is generally a good and safe way to do this. 2. Coursework Part 2 For the Second part of the coursework the following should be delivered: • Source code (60%) • Report (30%) • Demonstra�on/Video upload (10%) If you are in any doubt about any of the requirements for the coursework or any aspect of the submission procedure, then please contact the module coordinator for further guidance. If, due to your circumstances, you are unable to complete your assignment on time and require an extension or something similar, then please adhere to the “Fit to sit” regula�ons which are available from, and detailed on, MyNapier. 2.1 Source-code (60%) You must use the any programming language of your choice and your program must compile at the command prompt on a JKCC machine into a single executable. Your submission must contain all of the source-code required to rebuild your executable. You should also contain clear and detailed instruc�ons in a readme.txt file for performing that process. It is in your interests to ensure that the build process is as straigh�orward as possible. Your submission must contain only the files required for this submission and not your en�re SET09417 folder of workbook and lab content. It is your responsibility to ensure that you have placed all the source code necessary to build your so�ware into your submitted folder. Your source-code and a final executable must be submitted on Moodle. Please do not forget that there should also be a Readme.txt file available explaining how to compile – execute the provided code. 2.2 Report (30%) Your report must be no longer than 2 pages in length (excluding appendices). Appendices may be used to include supplemental data, for example test data, screenshots, or documentation, but these must be referenced from within the main body of your report. The format of the submitted report must be PDF and should include the following sec�ons: Title of your report. Introduction Short descrip�on of the problem & an overview of features. Cri�cal Evaluation Explaining the features that you feel work well, or work poorly, and why you think this. Reflect on what you have proposed for the first part of the CW. Clearly present/list what features/op�ons you managed to add to the ini�al, basic implementa�on. You should, where possible, support your evalua�on with experimental results. References (Op�onal) If you have used additional resources then these should be cited. Otherwise, this sec�on may be omi�ed. All work must be your own work. If you have been inspired by work from elsewhere then it is worth playing safe and explicitly recording the source of any code, design ideas, or approaches that you may have adopted. Properly referencing, quo�ng, and ci�ng the work of others is generally a good and safe way to do this. 2.3 Demonstration (10%) All coursework must be demonstrated. You should prepare a five (5) minutes long video to demonstrate your work. No need to go through the code you wrote. You can send the link to your video, so no need to upload it onMoodle. Please make sure to give the proper rights to the Module Leader to access the video. Without a demonstra�on your submission will not be marked. 3 Important Dates & Deadlines Submission deadline: Coursework Part 1: 3PM on Friday 4th March and for Coursework Part 2: 3PM on Friday 29th April Return of work: you will be emailed written summa�ve feedback within three working weeks of the submission deadline. Note that you will also have likely engaged with teaching staff about your assignment on many occasions during the trimester and these are all opportuni�es for forma�ve feedback. 4 Assessment Criteria & Marking Scheme This coursework is worth 100% of your overall grade for this module. The following marking guide indicates what is expected for each major grade band for this coursework assignment: 0-40% There is a number of ways to achieve a mark in this band, but generally you will either have failed to create a working Sudoku game, omi�ed major func�onality such as a minimum requirement, have used a wholly inappropriate and unjus�fied approach, failed to include report(s), or the report(s) will be wholly inadequate in justifying the decisions that you’ve made in your code. 40-49% To achieve a mark in this band you must have developed your own working Sudoku game. This means you will have designed and implemented a playable game that meets the minimum requirements. It may be based directly on an extension of the prac�cal work covered in class and your report(s) must adequately describe your work but might omit sec�ons. The quality of your implementa�on and associated report(s) will dictate the posi�on of your grade within this grade band. 50-59% A submission in this mark band indicates work of a good standard. You will have met the requirements of the previous grade band and also implemented the recording of play and replay of earlier games. You will have considered the algorithms and data structures used in your solu�on and recorded this within your report(s). Your report(s) will be well written, include all sec�ons, and will reference the material you have used. 60-69% To achieve a mark in this band means that you have been a li�le more ambi�ous and are achieving at a level that indicates very good work. You will have met the requirements of the previous grade band and also implemented the undo and redo features, underpinned by an appropriate choice of, and implementa�on of, data structures and algorithms. You will have considered how to evaluate your work and may have included some results. Your reports(s) will address all the necessary sec�ons effec�vely, be very well wri�en, clearly presented, and well referenced. 70-100% A submission in this mark band will consist of a game that offers an excellent level of func�onality, both in terms of the number of features and their quality of implementa�on. You will have met the requirements of the previous grade band and also implemented all requirements to an excellent standard. Your choices of data structures and algorithms will be both appropriate and jus�fied in your reports(s), taking performance and complexity into account. Your game will be playable, robust, and well designed with appropriate, and jus�fied selec�ons of data structures and associated algorithms. Your report(s) will be comprehensive, include all mandated sec�ons, be very well wri�en and presented and will correctly reference all the material you have used. This is likely to include textbooks, online forums, and tutorials and some of the suggested reading for the module. Furthermore, your report(s) will provide an excellent jus�fica�on for why you have implemented your solu�on in the manner that you have chosen. The quality of your implementation and associated report(s) will dictate the posi�on of your grade within this grade band. To achieve a grade more than 80% you must go beyond the taught material formally covered in the module and incorporate your own self-directed reading and research. Some sugges�ons for direc�on of development at this level were made above.
欢迎咨询51作业君