| File Name | Description | Original size (bytes) | Size after compression (bytes) | Ratio |
|---|---|---|---|---|
| bible.txt | a large file with content from the bible | 4.53M | 3.37M | 74% |
| dna.txt | a file contains some DNA sequences containing only characters A, C, G, T | 1.09M | 0.47M | 43% |
| aas.txt | a file containing only a's | 0.98M | 45K | 5% |
Computer Science Final Year Projects...
In the third year of your study, you'll undertake a project in which you can carry out individually a substantial piece of work under the guidance of a member of staff. This is a great opportunity to apply and explore in more depth some of the things you have learnt elsewhere in the course, and to show initiative in expanding and applying your knowledge.
Projects are often a focus of discussion at job interviews since projects give future employers a detailed example of your achievement. We also offer Work Based Learning Projects for which you will carry out your project with a company, ranging from large multi-national companies (e.g., Jaguar) to specialist software development companies, manufacturing companies, botanic gardens, etc. The real life project experience gained is invaluable to future employment.
Projects typically involve the design and development of a software system to meet some practical needs. You can propose your own idea for projects or choose from a list offered by members of staff. All projects consist of four elements: research and background study, planning and design, realisation and implementation, and evaluation. At the end, you'll develop a variety of important skills in addition to technical skills: planning, surveying literature, finding information, time management, presentation, evaluation skills, etc.
What projects are available for you?
We have a wide range of projects available covering
different topics in computer science.
To mention a few,
artificial intelligence related including game strategies, genetic programming, neural networks;
hardware related including applications on mobile phone,
personal digital assistant (PDA);
algorithmic design including pattern matching, compression, various
graph algorithms visualisation, scheduling.
Here are some examples of previous projects
- Soccer Playing Agent Team for the Robocup Simulation --- by Chris Carter
- The Game of Hex --- by Hayley Tinkler
- Using Semantic Knowledge for Implementing Intelligent Web Search --- by Joseph McElroy
- Plagiarism Detector --- by Tarek Menacere
- Efficient Text Compression via LZW Method --- by Nikolaos Patras
- Other Projects
Soccer Playing Agent Team for the Robocup Simulation --- by Chris Carter
(back to project list)
This project creates a football team that competes in the Robocup
Simulation tournament.
Robocup is an international joint project to promote artificial intelligence, robotics,
and related fields.
The ultimate goal of the Robocup project is to develop a team
of fully autonomous humanoid robots that
can win against human world champion team in football.
At the end of the project, the student has produced a working team
of 11 agents, capable of performing in the Simulation,
carrying out functions including running around the pitch,
locating and chasing the ball, passing to fellow team-mates,
and shooting towards the goal.
The system is written in Java.
Some screenshots are shown here (click on the picture to see
a larger version).
The initial setup of 11 players in each team. |
|
As the game plays on |
The Game of Hex --- by Hayley Tinkler
(back to project list)
Hex is a board game played on a hexagonal grid.
Two players take it in turns to fill in the board
in their colour.
Player one is to form a path of their colour from
the top to the bottom
while player two is to form a path going from one
side to another.
This project implements this game for a user to
play against the computer.
Artificial intelligence algorithm has been incorporated to determine
the computer's moves.
Some screenshots are shown here.
Using Semantic Knowledge for Implementing Intelligent Web Search --- by Joseph McElroy
(back to project list)
Search engine technology on the internet is a multibillion dollar industry.
The next step in developing search engine technology is utilising semantic
knowledge to satisfy customers search requirements (semantics refers to
aspects of meaning).
This entails using experts' knowledge
to make search results more refined and ultimately
improve the result over conventional methods.
The enhanced search engine utilises a chosen Wikipedia's article raw data
and Yahoo's Keyword extraction engine
to extract important phrases / words which are closely related to the
user's search request. This hopefully presents the user with results
which are closely linked with the user's request.
For instance, searching "David Beckham metatarsal injury" would bring up
the date of injury, name of player who injured him (Aldo Duscher) and
their search results.
A conventional search request would only focus its search on
"David Beckham metatarsal injury".
Plagiarism Detector --- by Tarek Menacere
(back to project list)
What is plagiarism? Plagiarism occurs when a student misrepresents, as his/her own work, the work, written or otherwise, of any other person (including another student) or of any institution. A recent survey of UK university students found that about one quarter of them admitted to plagiarism and 16% said that they have done so more than once. The aim of this project is to implement a plagiarism detector to compare to what extent two documents overlap and to compare a document to sources available on the internet. Research shows that using a detector is not only useful for identifying plagiarism, but also being able to warn students that their work would be scrutinised electronically acts as a much stronger deterrent than simply issuing a warning not to plagiarise.
The detector produced in this project is able to compare both text files and MS Word documents. The system uses several pattern matching algorithms, such as the Longest Common Subsequence (LCS) and the Smith-Waterman algorithm, to calculate a verbatim score, a paraphrasing score, and word count matching score etc, in order to determine the similarity of two files or a file and web pages. These are some screenshots of the system.
Efficient Text Compression via LZW Method ---
by Nikolaos Patras
(back to project list)
Data compression is the process of encoding information using fewer bits. Some compression schemes are reversible so that the original data can be reconstructed (lossless data compression) while others accept some loss of data to achieve higher compression (lossy data compression). This project is mainly concerned with using the lossless data compression method, called LZW (Lempel-Ziv-Welch). This method is used in the UNIX program "compress" and GIF (Graphics Interchange Format) image format. In this project, the LZW method is implemented and experiments are carried out to evaluate the performance.
The design of the interface of the program is shown below:
|
The algorithm implemented is tested against several files and the results show that the compression ratio for text is promising. It is found that the compression ratio depends highly on the repetitions in the original file. The following table gives a rough idea of the results.
Other Projects
(back to project list)
(back to project list)
Searching the Searchers --- by Daniel Nicolson
There are many web searching tools available on the internet.
This project attempts to implement a web service client
which searches multiple search engines, and obtain and collate
results from them.
In particular, this project incorporates search results from
Google, Amazon, US Library of Congress and Resource Discovery Network.
The project provides a single platform for the users to
search multiple search engines and provides flexibility as of
which search engines to exclude if it is not expected to return
relevant results (e.g., user can specify excluding US Library of Congress
when searching the term "Merseyside").
Who Would be Interested in Me? --- by James Squires
It is a common practice that academic staff maintained webpages
describing their research work and provding a list of their papers
for other researchers to download.
It would be nice if every now and then one would receive an overview,
in adjustable detail, of all the users that have hit his page.
From which external page did they come to the page?
Which pages on his site where they actually looking at,
and did they download any paper?
how often have they visited his pages, recently?
who are they, what do their home pages tell him?
The project aims to tracking the access to the academic staff's website
and produce a number of statistics in relation to the web traffic
onto the website.
Mobile Phone Location --- by Neil Lindon
Location Based Services are a new concept to integrate the users' geographic location with the notion of a service, e.g., to find the nearest restaurant or taxi rank. This project aims to research and develop a method of locating a mobile device within a GSM network. A web application was developed using the mobile positioning system software development kit developed by Ericsson. The application was able to track the position of a mobile in the GSM network.











