You are on page 1of 3

UNIVERSITY OF CHESTER - Undergraduate Programmes Assignment Specification

Faculty of Science and Engineering


Department of Computer Science
Module No Module Title Academic Year Assessment No
CO5625 Further Programming and Algorithms 2017-18 1

Submission date Feedback Due Date


11/01/2018 (Part 1.1) 08/02/2018 (1.1)
16/04/2018 (Part 1.2) 14/05/2018 (1.2)

Assignment Title
Programming Challenges

Learning Outcomes Assessed

1. Recognise and explain common data structures and algorithms and their appropriate use in
program design

2. Analyse complex problems, and design suitable solutions to them, using real-world scenarios

3. Employ a variety of techniques for code reuse and implement software using industry
standard APIs

4. Demonstrate and explain their own programming work and answer questions on how it was
designed and implemented.
Submission Information
The TurnItIn submission box will have multiple parts. You must submit to the appropriate part
 A PDF file with all programming code from your project (in a monospace font), followed by a reference list in
APA format.
 A ZIP file containing the project
Both files must be named with your assessment (J number), e.g. J123456.pdf and J123456.zip.
The name for each entry on TurnItIn must also be your assessment number.
Files submitted in an incorrect format will usually be marked as zero.
All components must be submitted to avoid receiving a mark of zero.
Any late work penalties for assignments will be calculated using the latest submission date/time.

Extensions and Plagiarism


Extensions
Extensions can only be granted by Dr Linda Rayner, Head of Department at least 48 hours in advance of the deadline
(by appointment through the Departmental Administrator), and written evidence will be required. Late work is penalised
at the rate of 5% per day.

Plagiarism
The material you submit must be your own work. The penalties for plagiarism are severe. The minimum penalty is
usually zero for that piece of work.
Further information is available at Portal > Support Departments > Academic Quality Support Services > Academic
Integrity
Referencing code
Code adapted from third parties must be clearly referenced using comments to denote the start and end of the adapted
code. You must also include an APA format reference in the PDF file.
Example of referenced code
//code adapted from Thomson, 2012
if (someCharacter == 'z' || someCharacter == 'Z') {
someCharacter -= 25;
} else {
someCharacter += 1;
}
//end of adapted code
Example of reference entry in PDF file
Thomson, C. (2012). Rot-13 function in Java? Retrieved from http://stackoverflow.com/questions/8981296/rot-13-
function-in-java

Assignment Brief

You are required to implement a word game featuring elements in the periodic table. The first
player names an element. After this, players take turns, with each player naming an element
beginning with the last letter of previous one. This continues until one of the players runs out of
ideas. Elements may not be repeated at any point.

For example:
Player 1: Sodium
Player 2: Mercury
Player 1: Ytterbium
Player 2: Manganese
Player 1: Erbium
Player 2: Molybdenum
Player 1: Mendelevium
Player 2: Magnesium
Player 1: etc.

Note that it should be possible to create similar games using different sets of words (premier
league football teams, species of fish, Muppets etc.) just by changing the list of allowed words for
the game.

Part 1:

Implement the game in its basic form (player vs player only). You will be provided with a file
with a list of elements in it, which should read at the start of program execution. A basic program
structure will also be provided for you, although you may change or adapt both this and the file
structure for parts 2 and 3.

Part 2:

Write a player versus computer version of the game. Think about ways and means by
which the computer may play effectively against the player. The methods used by the computer
should be generic and capable of adapting to new versions of the game (i.e. with different
dictionaries). The more sophisticated your computer’s strategy is, the higher the potential grade for
this part of the assignment. Think about what data structures you might use to help you. Bear in
mind that it is possible to produce a perfect strategy for this game – that is, one which will win
whenever it is possible to do so. Difficulty levels would be a nice touch here too.

Part 3:

Finally, write a networked version of the game using boost::asio. This should be a simple
player vs player version with one player as a client and the other as a server.
During the week beginning 19th March you will be asked to demonstrate your work so far on parts
2 and 3. You are not required to have finished at this stage but you will need to answer questions
on the work demonstrated and on potential future improvements.

Assessment Criteria:

70% All functionality implemented accurately and with some ingenuity and imagination where
and appropriate. Competent use of advanced techniques in all exercises. Demonstrations are
above confident and clear progress has been made for both challenges. Answers to questions
are informative.

60-70% Most of the required functionality is implemented successfully but some solutions are
perhaps not as precise or efficient as they could be. Demonstrations are confident and
some progress has been made for all challenges. Answers to questions may reveal small,
non-serious gaps in understanding.

50-60% A good attempt but perhaps with some oversights here and there. Programs may not
always handle exceptional cases correctly but the functionality is generally adequate and
demonstrates an understanding of most key principles. Demonstrations cover the
functionality reasonably well and progress has been made for both challenges, although
some ideas may be vague or confused.

40-50% A reasonable attempt has been made with knowledge demonstrated but perhaps with
some elements of the implementation missing or incorrect. Demonstrations may be
lacking in progress at the early stage, with some confusion over design decisions.

Less Little meaningful code written or problems addressed incorrectly on the whole. A lack of
than understanding of the basic requirements may also be present. Demonstrations and
40% responses to questions may be very poor or incoherent.

You might also like