COMP10082 - Programming Strand_20241 (2)
COMP10082 - Programming Strand_20241 (2)
Work handed in up to five working days late will be given a maximum Grade of Low Third
whilst work that arrives more than five working days will be given a mark of zero. Work
will only be accepted beyond the five working day deadline if satisfactory evidence, for
example, an NEC is provided. https://www.ntu.ac.uk/studenthub/my-
course/studenthandbook/submit-a-notification-of-extenuating-circumstances
The University views plagiarism and collusion as serious academic irregularities and there
are a number of different penalties which may be applied to such offences. The Student
Handbook has a section on Academic Irregularities, which outlines the penalties and
states that plagiarism includes:
'The incorporation of material (including text, graph, diagrams, videos etc.) derived from
the work (published or unpublished) of another, by unacknowledged quotation,
paraphrased imitation or other device in any work submitted for progression towards or
for the completion of an award, which in any way suggests that it is the student's own
original work. Such work may include printed material in textbooks, journals and material
accessible electronically for example from web pages.'
If copied with the agreement of the other candidate both parties are considered guilty of
Academic Irregularity.
Please remember submitting portions of work already assessed is Self-Plagiarism and is
also a serious academic irregularity.
Penalties for Academic irregularities range from capped or zero grades for elements of
modules, to dismissal from the course and termination of studies.
"To ensure that you are not accused of plagiarism, look at the NOW page Plagiarism and
Academic Integrity at NTU. for guidance."
By presenting such material as your own words you are violating Academic Integrity
policy, a matter that NTU takes very seriously.
5
The skills you develop during your time with us allow you to interrogate material and
evaluate it, important skills in all careers. Chat GPT does not allow you to develop these.
The assessment process for this strand is via a software development project:
You will produce a program to fulfil the design requirements below. The
design of the program will be given in a plan that will also describe how your
program meets the design brief. The plan will also detail a set of tests that have
been carried out while implementing the software.
The program should show evidence of at least the basic use of loops, branching,
data structures, classes and file handling and any further advanced features that
might be needed to achieve the goal of the program.
The grade for this project, provides 100% of the programming strand assessment
will also be derived from a demonstration of the project which will include a
question and answer session where your tutor will ask you about the design and
structure of your project. Documentation will be used to help in this process. If
you do not attend your demonstration, or, the project shows inadequate ownership
of the presented code, your tutor may award a failing grade.
Your implementation may use existing libraries or other code, provided they are
fully attributed. A lack of attribution will be considered as plagiarism and the usual
action will be taken for these cases. Please ensure that you read the student
handbook regarding how to cite and reference, as well as look at the materials
available on the library web page. In addition, the work needs to be done by you
and you must not work with others on any code. The contribution of the student
relative to the amount of code they have sourced from elsewhere will be assessed
when awarding the mark.
The documentation you will need to submit in addition to all source code, should
be as follows:
• Critique – what worked, what didn’t and what if anything could have been
improved. This will also be included on your READ.ME on your repository.
As well as storing your software and documentation on the repository you will be
required to submit a .zip file of the project including code and documentation on a
Dropbox on the NOW pages for the module by the submission deadline.
Project requirements:
The system will provide users with a set of options presented to them as a menu.
They should be able to use the system to enquire about:
• Candidate party
• Candidate name
• Parliamentary Seat (name)
• Total registered voters in the seat
• Total of votes cast
• Votes cast for the candidate
• Votes for a given party received as a percentage of total votes cast
You are at liberty to add extra options that may improve the understanding of the
data.
You should develop an MP Class, a Party Class and a Constituency class. These
classes should enable the program to encapsulate the data needed to process each
of these components. The main program will use data structures that will contain
objects of the corresponding class types.
To achieve a passing grade the program will make use of at least one class. The
class will make use of appropriate container types to make efficient coding of the
responses.
The program should read the data about individual constituencies (seats) from the
file which is provided. The totals for a party and percentages for a constituency
should be calculated by the program. When the user chooses to terminate the
program the statistics should be saved in an appropriately structured file.
The program will make use of loops and conditions and try except blocks designed to
make sure the program does not crash if a user makes an erroneous entry or if a file
read or write do not work correctly. Once a statistic set has been calculated the data
from those calculations should be saved to a file. Examples of statistics would be
7
such things as the average number of votes and average percentage of votes
needed for a candidate to be elected. Alternatives include such things as total
number of MPs who are female and the percentage of male and female MPs elected
for each party. The data in the .csv file provided has been adjusted so that MPs not
affiliated to the main parties are listed as Independent and described as Ind in the
party column of the file.
Additional options could be made that plot the statistics in graphical form (for
example as bar charts for the different parties performance). The United Kingdom is
divided into areas called constituencies for the general election to the House of
Commons. These constituencies are meant to be of approximately the same size but
population changes can lead to differences in the size of constituencies. There is no
legal requirement in the UK for a registered voter to vote. The data in the file
contains columns for aspects of this. The nations of the United Kingdom are,
Scotland, England, Wales and Northern Ireland. The table also contains information
on which of these countries the constituencies are in. Any of these facts could lead
to options in your menu system.
8
III. Assessment Criteria
Class/grade Upper second Lower Second
First (Excellent) Third (Sufficient) Fail (Insufficient)
(Very Good) (Good)
Assessment
Exceptional High Mid Low High Mid Low High Mid Low High Mid Low Mar Mid Low
Criteria 1st 1st 1st 1st 2.1 2.1 2.1 2.2 2.2 2.2 3rd 3rd 3rd Fail Fail Fail