You are on page 1of 26

MUNYARADZI THOMAS NYAHWO 010319318

CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

Final Project Report

Development of a Positional Chess Learning Aid


Application for Amateur Chess Players

Munyaradzi T Nyahwo
14 May 2015
Supervisor: None
(Self-Study)

Submitted as part of the requirements for the award of the Degree in


Computing and Information Systems of the University of London.

Page 1 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

Content Page

Contents
Content Page........................................................................................................................................... 2
Summary ................................................................................................................................................. 3
1. Introduction .................................................................................................................................... 4
1.1 Aims and Objectives ................................................................................................................ 4
1.2 Deliverables............................................................................................................................. 4
2. Literature Review ............................................................................................................................ 6
2.1 Chess ....................................................................................................................................... 6
2.2 Benefits of Chess ..................................................................................................................... 6
2.3 Learning Chess ........................................................................................................................ 6
2.4 Chess Strategy ......................................................................................................................... 7
2.4.1 Relative value of pieces................................................................................................... 7
2.4.2 Development................................................................................................................... 8
2.4.3 Pawn Structure................................................................................................................ 8
2.4.4 Control of the Centre ...................................................................................................... 8
2.4.5 Capability of the Pieces ................................................................................................... 8
2.4.6 Where the Kings are located ........................................................................................... 8
2.4.7 Space ............................................................................................................................... 8
3. Methods .......................................................................................................................................... 9
3.1 Application Development Overview ....................................................................................... 9
3.1.1 Programming Language and Technology ........................................................................ 9
3.1.2 Software Development Process ...................................................................................... 9
3.1.3 User Interface Design Approach ................................................................................... 10
3.1.4 Application Distribution ................................................................................................ 10
3.2 Application Development Process ........................................................................................ 10
3.2.1 Requirements Analysis .................................................................................................. 10
3.2.2 Application Design ........................................................................................................ 13
3.2.3 Implementation ............................................................................................................ 15
3.2.4 Integration and Testing ................................................................................................. 18
3.2.5 Deployment................................................................................................................... 18
3.2.6 Maintenance ................................................................................................................. 18
Page 2 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

3.3 Website Development .......................................................................................................... 18


3.4 Website 'Advertising' ............................................................................................................ 19
3.5 Questionnaire ....................................................................................................................... 19
4. Results ........................................................................................................................................... 21
5. Discussion...................................................................................................................................... 22
6. Conclusion ..................................................................................................................................... 23
7. Appendices .................................................................................................................................... 24
7.1 Appendix: Source Code ......................................................................................................... 24
8. Reference List................................................................................................................................ 25
9. Evaluation ..................................................................................................................................... 26

Summary
The game of chess has been played since the 6th century. It is undoubtedly one of the
most popular of board games to date. The last World Chess Championship matched was
played in 2014 between Magnus Carlsen and Viswanathan Anand in Sochi, Russia, was
followed real time by hundreds of thousands of enthusiasts worldwide.

The world of chess has benefited greatly from computers and the internet. Chess
playing programs have been used by the whole spectrum of players from learners to
grandmasters for learning and practicing. The internet has provided an affordable
platform allowing players in different geographical locations to compete or exchange
knowledge. The internet has also made it possible for chess match games to be
broadcast live to a vast audience on varied internet capable devices including
smartphones, tablet computers, laptops, desktops etc, in real time.

However, a lot of chess teaching software available to date focuses on the aspects of the
game such as the openings, tactics and the endgame. Whilst these are critical areas of
the game, the area of positional chess strategy is less supported. The default teaching
resource of this area remains largely to be chess literature and other media, but not
software itself. This project embarked on developing a working prototype that
endeavours to fill that gap. Whilst potential users of such piece of software would
probably the whole range of players i.e. from learners to grandmasters, for feasibility
sake, due to time constrains, this study was limited to providing an application aimed at
amateurs.

Thus, a working chess learning aid prototype application was developed and made a
available to chess players via the internet. Users provided feedback about their
experience of the application by way of a self-administered online questionnaire. The
application and application information was published to the internet using a dedicated
website address: http://www.poschess.com/
Page 3 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

The work carried out in this project did indicate that an application of this type has the
potential to help amateurs improve their understanding of positional chess play. Also,
some good features, which were not present in the prototype, were obtained from the
feedback. These are useful and could be incorporated in the development of the full
application.

The project also illustrates the risk of technology choice as the Silverlight plug-in
support in Chrome (a Google browser) was dropped in the latest version just before the
application was deployed. Important lessons of mitigating such risk were learned.

Keywords: web application development, chess application, positional chess, chess


learning aid, chess strategy, microsoft silverlight, chess analysis, web application
development risk

1. Introduction
1.1 Aims and Objectives
The overall aim of this project is to investigate whether a web-based working prototype
application can aid amateur chess players quickly grasp the basics of positional chess
play principles.

To achieve this aim, the following objectives must be met:

1. Understand advantages of computer-based learning via literature review.


2. Identify basic positional chess principles to be communicated to players/users
via literature review.
3. Design and develop a functioning prototype application that communicates the
principles.
4. The application must be user-friendly and present information in a format that
aids rapid understanding.
5. Test that the application is usable.
6. Design the website on which the application will be hosted.
7. Deploy the application on the internet website alongside with supporting
content and have chess amateurs use it.
8. Obtain traffic to the website using emails and Facebook.
9. Carry out a survey whose data will help to assess to what degree the overall aim
has been accomplished.

1.2 Deliverables
In meeting the above-stated objectives, the following deliverables will be produced:

Page 4 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

1. Literature review on the following topics:


a. Advantages of computer-based learning.
b. Basic principles of positional chess play.
2. List of functional and non-functional requirements for the application.
3. List of supporting web content for the application hosting website.
4. A functioning Prototype application and test scripts
5. Questionnaire and results to find out whether the project aim has been
accomplished.
6. Analysis of results and conclusion
7. The Final Project Report

Page 5 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

2. Literature Review
2.1 Chess
The game of chess is one of the oldest and most popular of board games. It was
invented in India in the 6th century and later spread other parts of the world (Murray,
2012).

Chess is a strategy, turn-based board game played by two opponents. One player
manoeuvres the White pieces whilst the other, the Black pieces. The ultimate objective
of the game is to trap the opposing King - a position termed "checkmate".

What keeps the game particularly interesting and 'unending' is that the very high
possibility a unique game being played each time. In 1950, Claude Shannon calculated
the number of possible chess games of 40 moves or less to be 1043 (Shannon, 1950).
This figure, known as the "Shannon Number", also hints at why to date the game has not
been exhaustively searched despite the vast computing resources available.

2.2 Benefits of Chess


Besides being an entertaining recreational game, chess has many other valuable
benefits. The game has been shown to improve cognitive skills such as focusing,
visualizing, thinking ahead, weighing options, analysing concretely, thinking abstractly,
planning, and juggling multiple considerations simultaneously (Ferguson, 1995).

2.3 Learning Chess


As with any game, players need to learn the rules of the game before they can play.
Whilst chess shares the same 8 by 8 checked board with other games like Draughts,
Lines of Action etc, it has more rules. Chess rules define:

 Which way the checkered board should be orientated


 The initial setup position of the pieces
 Which side plays first
 How each piece type piece moves
 How to castle
 When castling is legal
 When the game is drawn
 What a "check" position is
 What a "checkmate" position is
 What a "stalemate" position is

After learning the rules, players can play chess correctly. If any of the rules are broken
during game - it is not considered as a chess legitimate game, (Schiller, 2012)

One of the main ways players improve is by learning from their games. Whilst games
can be recalled from memory it is usually more reliable to record games using one of the

Page 6 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

chess notations. Game reviewing can make use of computer software which can point
out better moves or missed opportunities.

Whilst new players can improve their chess skills by self discovery as they play
successive games, they will also do well to learn from established chess strategies and
principles.

2.4 Chess Strategy


Strategy is critical in chess. This involves formulation of a plan that takes into account
several elements including:

 the relative value of pieces


 development of pieces to effective positions
 pawn structure, i.e. how the pawns are positioned on the board
 control of the centre
 the capabilities of the pieces
 where the kings are located
 amount of space available to each side which determines mobility

The above mentioned are considered positional as opposed to tactical elements. This
study focuses on the former.

2.4.1 Relative value of pieces


The relative value of each piece in chess is shown in the table below:

Piece Value
Queen 9
Rook 5
Bishop 3
Knight 3
Pawn 1
Table 2-1: The relative value of the different pieces

The value of each piece indicates its fighting capabilities and is an important
consideration when deciding to engage in an exchange. For instance it would not be
wise to exchange a Queen for a Pawn. Of course, if such an exchange wins the game or
offers some decisive compensating advantage then it could be considered worthwhile.

The Table omits the King - this is because the value of the King is somewhat not
straight-forward. Firstly, a King cannot be captured thus cannot be involved in an
exchange where he is captured like the other pieces. Secondly, since the game outcome
depends on the which side first traps the opposing King in a checkmate position, the
King's value could be said to be worth the game. However, in the end game, the fighting
value of a King is considered to be 4, since in that phase of the game when he is less
likely to be checkmated, the king assumes an attacking role stronger than a knight or a
Bishop but weaker than a Rook.
Page 7 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

2.4.2 Development
The initial starting position of pieces means that they exert no threat for either side and
opportunity is equally balanced. However, as pieces are moved from their starting
positions to more influential squares, the battle for positional supremacy is underway.
This moving from the starting positions is termed "development". Generally, the more
developed side will sooner find themselves with more opportunities than the less
developed side - this being advantage.

2.4.3 Pawn Structure


In the middle-game, the pawn structure of a given position determines terrain on which
a game of chess is fought (Kmoch, 1990). The pawn structure of a side can have
strengths or weaknesses. Pawn structure also determines Space - another positional
strategy element.

2.4.4 Control of the Centre


In chess, the four middle squares of the board are referred to as the centre. Usually, the
more a side controls the centre the more advantageous. This is because when pieces
(Queen, Bishop, Knight, Rook and King) are placed in the centre of the board they can
assume both attack and defense roles at the same time thus their fighting force is
increased. It is therefore a good strategy to position one's pieces where they can
dominate the centre.

2.4.5 Capability of the Pieces


Whilst the relative value of the pieces is reliable indicator of the fighting strength of
each piece, how effective each piece will be depends on the position. For example,
Bishops have more opportunities when the position is open (i.e. uncluttered) and less
when it is closed (i.e. cluttered). Knights on the other hand can still do well even in a
closed position (because they can 'jump' over other pieces). Thus consideration of the
capability of pieces given the position is critical in chess strategy.

2.4.6 Where the Kings are located


Where the Kings are located determines how safe they be from attack. Pressure on a
given king increases as the number of enemy pieces are positioned to attack the squares
around his position. Usually 'Castling' the King locates him in a place less directly
attacked by enemy pieces. s used so that

2.4.7 Space
The space available to a given side is determined by how far into the enemy territory
the pawns have advanced. The notion of space in chess strategy is usually less
appreciated by amateurs (Silman, 2010). The side with more space will find themselves
with more freedom to move their pieces, thus more space equals a more active position.

Page 8 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

3. Methods

3.1 Application Development Overview


This project involved the development and deployment to the internet of a web-based
application. Deploying to the internet allowed the application to be easily distributed to
chess player users who are distributed across the world. The language of choice was C#
(Microsoft) and the output, a Silverlight (Microsoft) application hosted on an ASP.NET
website (Microsoft).

3.1.1 Programming Language and Technology


Writing the application as a Silverlight application instead of one that is purely in HTML
and JavaScript alone enabled the researcher to develop the prototype more quickly
since they have a greater wealth of experience in writing interactive desktop
applications than web-based ones. Silverlight is a tool provided by Microsoft for
creating and delivering rich internet application and experiences for the internet users.
(Microsoft)

Silverlight allowed the writing of desktop-like code that will run in a browser.

Also, if the application were to be written in HTML and JavaScript, there would be the
further hurdle of more extensive testing to ensure that it displays and functions the
same in the different major browsers - this being costly in terms of time and effort. On
the other hand, as long as a browser supports the Silverlight plug-in, the look and feel of
the application is usually guaranteed to be consistent across different browsers.

An Objected-oriented approach was used to write the software as an endeavour to


produce better understandable and maintainable code (Laszlo, 2001).

3.1.2 Software Development Process


The Software Development Lifecycle chosen for this project is the Classical Waterfall
model (Pressman, 2009). This was deemed suitable in this case because:

 The requirements are anticipated to be well known, clear and will not be
changing.
 The technology to be employed is well understood and is tried and tested.
 The target application is a functioning prototype as opposed to a full application
so the project is short as opposed to a long and on-going project.
 The risk is low because the application will be a prototype.
 Only one developer (the researcher) will carry out the work.

Testing by the researcher will help ensure that a usable application is produced. This
will involve specifying test cases that cover the different scenarios the application is
expected meet when in use.

Page 9 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

The process will involve the following phases:

1. Requirements Analysis - to specify what features the application should provide. This
will include both the functional and non-functional requirements and will be sourced
from the literature review and researchers chess playing experience.
2. System Design - to specify the application architecture and User Interface elements.
Algorithm design will be carried out at this phase too.
3. Implementation - to develop and code the application.
4. Integration and Testing - to integrate and test the application units. This will also
involve full application testing.
5. Deployment - to set up a website and deploy the application on the internet.
6. Maintenance - to ensure availability to users and to resolve issues they may raise. This
may involve making patches.

3.1.3 User Interface Design Approach


The application should present its instructional information visually and on the chess board
instead of just using text alone. This will aid learning and understanding which players can
more readily 'export' to their chess games. (Shneiderman, Plaisant, Cohen, & Jacobs, 2009)

3.1.4 Application Distribution


The application will be distributed to an audience via the internet. Users should be able to run
the application within typical browsers like Internet Explorer, Google Chrome, Safari provided
they have the Silverlight Plug-in installed. The application will be hosted on a small website
which users can access via an internet link provided by the researcher.

3.2 Application Development Process


3.2.1 Requirements Analysis
The goal was to create an app that compliments other positional chess learning resources, therefore
is assumed that the users are aware of positional elements of chess strategy, like development,
space, king safety etc.

The requirements where gathered mainly from the literature review and the researchers chess
knowledge and experience. The following functional and non-functional requirements where
defined for the application:

3.2.1.1 Functional Requirements


1. Must display chess board and pieces
2. Must allow board to be flipped (turned around)
3. Must allow pieces to be moved by drag and drop
4. Must allow user to make only valid moves
5. Must display move list of historical moves made on board
6. Must allow navigation to any point in the historical moves on board
6.1. Allow take back one move
6.2. Step forward one move
6.3. Take back all moves
Page 10 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

6.4. Step forward to last move in list


7. Must allow historical moves t be cleared and board reset to initial setup
8. Must allow loading of games from Portable Games Notation (PGN) file
8.1. Display screen for game load
8.2. Allow user to select file from their computer
8.3. Display game information
8.4. Display last game position of current game on mini chessboard
8.5. Allow user to navigate between multiple games on the file
8.5.1.Move to next game
8.5.2.Move to previous game
8.6. Allow user to select current game to be displayed on the main board
9. Allow pre-loaded sample games to be loaded for analysis
10. Display positional chess information in graphs showing how each side is faring for the following
positional elements:
10.1. Development
10.2. Possibilities
10.3. Space
10.4. King Safety
10.5. Material
11. Display list of positional issues which listing:
11.1. Doubled pawns
11.2. Trebled pawns
11.3. Isolated pawns
12. Allow positional issues to be highlighted on board

3.2.1.2 Non-functional Requirements


1. Must be user friendly
2. Information must be displayed clearly
3. User interface must be responsive

Note that other requirements like providing application help and information is not included here
because they are to be implemented as content of the app hosting website.

Page 11 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

3.2.1.3 Use Case


The following use cases where identified:

Figure 3-1: Use cases identified in requirements

Page 12 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

3.2.2 Application Design

It was clear that a considerable amount of coding will need to be undertaken. Therefore the code
needed to be split up into modules that could be managed more easily. In .Net each module
translates to a project in the .Net solution. The project modules are as follows:

Module Description

PosChess.Logic Implements all the chess logic and data structures

PosChess.Silverlight Implements Silverlight application logic. This includes the user interface
components and the actual Silverlight frame that houses the app.

PosChess.Web.Mvc Implements the web page serving logic and content

Table 3-1: Modules separating application logic

3.2.2.1 Classes in the PosChess.Logic Module


This Module will contain logic that implements data structures that represent the chess board,
pieces and moves. This includes logic to enforce chess rules (i.e. legal moves) and to read game file
data.

This module would have the following classes:

Class Main Members Description

Board Setup() Sets up the board

MakeMove() Makes a move on the board

GetPieces() Returns collection of pieces on the board

TakeBack() Takes back last move

WhiteToMove() Returns True if it is white's turn, otherwise False

Piece Type King, Queen, Bishop, Knight, Rook, Pawn

Colour Colour of piece, White or Black

Value Value of the piece

Square The square piece is on

Move Piece Piece being moved

From Source square index

To Destination square index

Page 13 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

PromotionPiece Promotion piece number if any

MovesProvider ProvideMoves() Provides legal moves given a board position

PositionAnalyser GetEvaluation() Returns Positional evaluation values


(Development, Possibilities, King Safety, Space,
Material)

GetPositionIssues() Returns position issues for given board position


(Doubled, Trebled, Isolated, Passed pawns)

MoveListReader ReadGames() Parses PGN text to return collection of games

GameRecord Info Dictionary of game information

Moves List of sequential game moves

Table 3-2: Design of classes, their methods and descriptions

3.2.2.2 User Interface Design


As stated above, the user interface would be implemented in the PosChess.Silverlight Module.

This would be composed of a main frame which will be embedded/hosted in a webpage on the
website.

The initial design was as follows:

Figure 3-2: Sketch of Main Frame design

Page 14 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

The "Load Game" screen was designed as follows:

Figure 3-3: Sketch of the "Load Game" popup screen

The "Choose Promotion Piece" screen was designed as follows:

Figure 3-4: Sketch of the "Select a Promotion Piece" popup screen

3.2.3 Implementation

The application was implemented using and a free version of Microsoft Visual Studio Community
2013 - an Integrated Development Environment. As mentioned above, the coding language was C#.
For full source code listing see Appendix: Source Code.

The app was named "PosChess" and its website domain name registered was "www.poschess.com".

At implementation it was encountered that other additional minor classes and methods needed to
be included. Also, minor user interface modifications were made as seen fit.

The eventual user interface of the app is shown below:

Page 15 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

Figure 3-5: Screenshot of implemented "Main Frame"

Figure 3-6: Screenshot of implemented "Load Game" popup screen

Page 16 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

Figure 3-7: Screenshot of implemented "Promotion Piece" popup screen

3.2.3.1 Positional Information Calculations


The values for positional evaluations of how each side stands against the other e.g. for
Development, Material etc were implemented according to algorithms which output a percentage
value from White's standpoint. For instance, a value of 60 returned for Development means White's
versus Black's development stands at 60/40.

The general algorithm is as follows:

Let whiteValue = FunctionToCalculateEvaluationForSide(whiteSide=true)


Let blackValue = FunctionToCalculateEvaluationForSide(whiteSide=false)

Let result = whiteValue * 100.0/(whiteValue + blackValue)


Output result

For example, the EvaluatePossibilities method is implemented as follows:

Page 17 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

3.2.4 Integration and Testing


The PosChess.Logic and PosChess.Silverlight modules were integrated and tested. Tests checked the
following:

1. The app should allow only valid moves to be made on the board.
2. Interaction with the move list works correctly
3. Loading of games from file works correctly
4. Loading of sample game works correctly
5. Positional information graphs work correctly
6. Issue lists work correctly

Where tests failed, the faulty code was identified, fixed and tests re-run. All tests were passing
before the application was deployed.

For a full listing of tests carried out please see Appendix

3.2.5 Deployment
The application was deployed to the internet as follows:

1. The domain name "www.poschess.com" was purchased from GoDaddy.com and


registered in the researcher's name. SEE APPENDIX
2. A Windows Server 2008 server instance rented from Amazon Web Services was launched.
3. The website was installed onto the server instance so that it is served by Internet
Information Services (IIS) version 7.5.
4. Checks were made to ensure the website is working as expected. These were performed
on the server itself.
5. The domain name "www.poschess.com" was configured to point to the server's IP
address.
6. Checks were made to ensure the website is working as expected from the public website
address.

3.2.6 Maintenance
Minor bug fixes to the application were made to the application after it had been deployed. Also, the
button "Go to Questionnaire" was added to the "Actions" panel to encourage users to answer the
questionnaire.

3.3 Website Development


The website was developed so as to host the Silverlight application. Also, accompanying information
for the app needed to be made available to users such Help, Contact information and a link to the
questionnaire. The questionnaire itself though was not implemented on the website as detailed in
Section 3.5 Questionnaire.

An additional requirement for the website was that it should log its traffic with Google Analytics - a
free traffic recording and reporting service provided by Google. (Google)

The website as the following structure:

Page 18 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

Figure 3-8: Structure of website hosting the application

Please see APPENDIX For full website content screenshots

The purpose of each page is detailed in the tab

Page Description

Home/PosChess Default webpage - hosts the application embedded as Silverlight object.

About Provides information about application and project and researcher name.

Questionnaire Information to encourage the user to answer the questionnaire. Provides


link to the questionnaire which is external to the website - this opens in a
new tab/window.

Help Provides the help content on how to use the application and link to install
required Silverlight plugin.

Contact Provides email contact to reach researcher.

Table 3-3: Names and descriptions of pages provided via the website

3.4 Website 'Advertising'


After the website was published on the internet and 'live', the next challenge was to get users to
evaluate it and to answer the questionnaire. The main channels used were social media and emails.

3.4.1 Social Media


The social networking website Facebook.com was used. The researcher already was already a
registered user and connected to chess playing friends and chess interest pages. These were sent a
message via Facebook. See Appendix

3.5 Questionnaire
A self-administered online questionnaire will be used to obtain feedback on the application
from users. This will be appropriate for this project since the application itself will be
distributed to a chess playing audience scattered across the world via the internet. A much
more considerable effort would be required to carry out a survey using other methods that are

Page 19 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

none self-administered and online. The self-administered nature of the questionnaire will afford
convenience to participators since they can go through the survey at times of their own
choosing - it was hoped that this will encourage more participation. Because of the digital
information that is captured in the online survey the data will be in a format readily compatible
with analysis programs as opposed to non-digital information.

The target was to have at least 20 users answer the questionnaire.

Page 20 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

4. Results
sllslsls

Page 21 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

5. Discussion
dff

Page 22 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

6. Conclusion
Tkslsl

Page 23 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

7. Appendices
7.1 Appendix: Source Code
source code here

Page 24 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

8. Reference List

Page 25 of 26
MUNYARADZI THOMAS NYAHWO 010319318
CO320 PROJECT FINAL REPORT: 2015 - BSC COMPUTING AND INFORMATION SYSTEMS

9. Evaluation

Page 26 of 26

You might also like