Assessment Brief Pro Forma
- Module number SET08122
- Module title Algorithms and Data Structures
- Module leader Christos Chrysoulas
- Tutor with responsibility for this Christos Chrysoulas –
Assessment
Student’s first point of contact
1st point of contact - Assessment See Attached coursework descrip?on
- Weighting 100%
- Size and/or ?me limits for See A?ached coursework description
assessment - 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. - Arrangements for submission Submit via Moodle
- Assessment Regula?ons
All assessments are subject to the
University Regula?ons.
Normal regula?ons. - The requirements for the
assessment
See coursework specifica?on below. - Special instructions None
- Return of work Feedback will normally be supplied within 3
working weeks of a submission. Student work
will not be returned. - 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 - 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 - If you are unfamiliar with Sudoku, then some background about the game can be found here:
https://en.wikipedia.org/wiki...
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 initial game state.
Once an undo facility is working you game can be extended to support
redo of moves that have been undone.
Extra options to be considered. Options 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 imagination, and give your
creativity a free rein. Inven?on and originality will be rewarded by the marking
scheme. I hope you enjoy working on it. - Submission & Deliverables
Your coursework deliverables comprise the following: - Coursework Part 1
The first part of the coursework should be considered as an initial design
document, which should also include a detailed as possible literature review.
Study and critically 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. - 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 demonstration your submission will not be marked. - 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 summative 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 formative feedback. - 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 unjustified 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 sections. The
quality of your implementa?on and associated report(s) will dictate the
position 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 sections, and will reference the material you have used.
60-69% To achieve a mark in this band means that you have been a litile more
ambitious 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
implementation 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 sections effectively, be very well
writien, clearly presented, and well referenced.
70-100% A submission in this mark band will consist of a game that offers an
excellent level of functionality, 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 sections, be very well writen 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?fication for
why you have implemented your solution 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 suggestions for direction of development at this level were made above.