Software Development and Databases

International Business Course
December 15, 2017
Book report on any book written in the 21 century
December 15, 2017

Soft62: Software Development and Databases
Software Development Coursework
There are two options for this coursework. Please choose only one, there are no
mark differences between either assignment.
Option 1
This option concerns statistical analyses on dataset of bank load data. The dataset
is composed of a number of fields, of which only 5 are of relevant to this
assignment. The whole data table is, with the fields of relevance shown in bold

1 Age in years Scale
2 Level of education Ordinal
3 Years with current employer Scale
4 Years at current address Scale
5 Household income in thousands Scale
6 Debt to income ratio (x100) Scale
7 Credit card debt in thousands Scale
8 Other debt in thousands Scale
9 Previously defaulted Nominal


1 Did not complete high school
2 High school degree
3 Some college
4 College degree
5 Post-undergraduate degree
0 No, previous default
1 Yes, has previous default

The entire dataset can be found in the file Bank Loan data.xlsx
In addition, a Visual Studio project is provided which will load the data set into a
series of one-dimensional arrays.
Please the ‘’
file. These are parallel arrays, where the same index number corresponds to one
data row. Thus for example age[0], education[0], employ[0] etc refers to the 1
st row
in the data set.
Please see next page ->
Soft62: Software Development and Databases
Code should be developed which will perform the following statistical analyses on
the data:
1. Linear regression: creddebt (dependent) vs income (independent).
2. T-test: debtinc (dependent) and default (factor).
3. One way ANOVA between k-independent populations: income (dependent)
and education (factor).
In addition, add appropriate controls and components so that the
1. Results of the statistical analyses can be displayed (e.g. a multiline text box,
or list box), together with descriptive statistics (e.g. mean, variance etc).
2. The user can switch between the tests, (e.g. radio buttons or standard
There is no requirement to determine the significance of the test, rather just display
the relevant test statistics (e.g. t-value, degrees of freedom).
Produce a short report, no more than 3 pages, describing:
The formula used and the methods used when applying the formula
Include a short section (300 600 words) reflecting on your solution to the
Please see next page ->
Soft62: Software Development and Databases
Option 2
This option is concerned with visualizing the output of a Kohonen Network, also
known as a Self-Organising Map (SOM).
Details of the SOM can be found here:
[2] For a concise overview see:
[4] Two videos are:
A Visual Studio project is provided which will cluster the Iris dataset and display a
text based output of the results of the clustering done by the SOM network.
For details of the Iris dataset please see:
Pease see ‘’, file. This Visual Studio project uses
libraries from the AForge.NET framework on Computer Vision and Artificial
Intelligence (see: ).
When the program is ran (click Load Data then Start Training], the results of the
training will be output will be displayed in the output window.
The output from the supplied program represents the 3 classes of Iris as the labels
1, 2 or 3. When an output node has no output a
default ‘.’ Is shown.
Please note: There is *no* requirement for code to be developed which trains the
SOM network, this has been provided. The requirement is to provide graphical
visualisation of the output of the SOM.
Please see next page ->
Soft62: Software Development and Databases
For the visualisation assume a rectangular grid, please see figure 2 of reference
[1], rather than the hexagonal grids typically shown.
The required visualisations are:
1. A 2-D labelled heat map of output of the SOM. An example of 4 x 4 map is
shown below

. . 3
3 3 3
3 3 3

2. A heat map U-Matrix, see figure 4 (left) of reference [1] as an example
3. Heat map, component planes showing the distribution of each of the 4 input
variables (for examples of component planes please see figures 3, 5 and 7
of reference [3] and figure 5 of reference [1].
In all the above, the visual must be graphical in nature, i.e. drawn on a C#
Panel. And not as a text based output
Provide appropriate controls so the user may switch between 1
3 above, and in
the case of 3 can choose which component plane to display
Produce a short report, no more than 3 pages, describing:
The techniques used to display the SOM output and details behind the
coding of the methods used.
Include a short section (300 600 words) reflecting on your solution to the

Soft62: Software Development and Databases
Deliverables: There are two deliverable for this assignment:
1. The short report as described.
2. The actual coded solution. This is the Visual Studio project containing all the C#
code needed to compile and run your solution. The code should be documented
(please see below for details).
The specific marking guide is given on the next page, but generally will be looking
for what can be termed as good programming practice:
As a minimum, an appropriate demonstration of modularity by use of
There is no specific requirement to develop a class based solution.
Code Complexity / readability
Limited use of ‘magic numbers’
Preference for high cohesive methods, (e.g. those which perform a single
conceptual task)
Appropriate variable names conforming to C sharp conventions
Appropriate descriptive comments for any classes used
Appropriate comments for all fields
Appropriate comments describing all methods (event handler methods can
usually be excluded as can getter / setter methods)
Inline commenting where appropriate.
All commenting should comply with C# convention.
Soft62: Software Development and Databases
Marking Guide:



This assignment will contribute 50% towards the overall module mark
Please note this is a core module for an MSc in Computer Science, thus if the
submitted application does NOT compile it will not be considered for a pass (the
mark for the software development part of the assignment will be capped at under
50%). If your application does not compile, then comment out whatever code is
causing the error.
Penalty for missing elements:
Unfortunately, each year a number of assignments are submitted, which either
have some parts missing or require some work / time on my part to work out (or fix
even!) what is being submitted. To prevent this, the following marks will be LOST
according to:


Soft62: Software Development and Databases
Submission deadline: 09:00 Monday January 15th, 2018
Please place your report in a folder within the Visual Studio project directory. Zip
that entire directory and submit
via DLE.
Please make sure all files and folders are present when submitting. You may
submit as many times as you wish prior to deadline if you find something was not
quite right with the submission so far. Anything re-submitted will automatically
overwrite anything uploaded so far.
Please be advised: If files are missing or the Visual Studio solution is corrupted in
some way so it is not possible to compile your solution then the mark for the
software assignment part of the SOFT562 coursework may be zero: It will NOT be
possible to email them after the submission date. Suggest you zip up the Visual
Studio solution folder and un-zip and try on a different machine

Return of marked work: Assignment will be marked by Monday 12th February

Soft62: Software Development and Databases
This is an
individual assignment. Thus, while you may discuss, in general terms, this
assignment with your colleagues, the assignment
MUST be your own work.
Do not: Share designs or code with anyone, OR Submit a program design or code
which is wholly or partially the work of someone else.
The University treats plagiarism very seriously. In all cases of suspected
plagiarism, formal action will be taken
The penalty for submitting work which is wholly or partially the work of someone
else is usually, at least, a mark of zero for the assignment. Also do not be tempted
to help a colleague out who is ‘stuck’, by giving them your code or design, as
BOTH parties will be guilty of an assessment offence and BOTH face the risk of a
zero mark. Please refer to your student handbook for guidance as to what
constitutes original / individual work.
The module leader may viva students on the contents of any part of their
submission of their assignment. Failure to attend a viva may result in a zero
mark for the assignment.
Ok so how much can you share with your colleagues? The following table gives
an indication as to what is allowed / not allowed:
Essentially if the level of collaboration is not covered by the allowed section, above,
you MUST assume that it is NOT allowed. If you have any doubt then email the
module leader to conform the level of collaboration BEFORE you do it!
1 Note an Algorithm in the table refers also to giving or sharing pseudo-code.


Order Now