0% found this document useful (0 votes)
183 views

Introduction To Computing Projects

This document provides information about final year undergraduate projects for computing degree programs. It outlines the goals of the projects, which are to provide an individual supervised work experience and produce a scholarly dissertation. The project contributes significantly to the final year assessment, representing one quarter of the total marks. Acceptable project types include constructive or development projects involving software or system creation, and evaluative projects assessing technologies or processes.

Uploaded by

sharlz001
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
183 views

Introduction To Computing Projects

This document provides information about final year undergraduate projects for computing degree programs. It outlines the goals of the projects, which are to provide an individual supervised work experience and produce a scholarly dissertation. The project contributes significantly to the final year assessment, representing one quarter of the total marks. Acceptable project types include constructive or development projects involving software or system creation, and evaluative projects assessing technologies or processes.

Uploaded by

sharlz001
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 15

School of Computing & Mathematical Sciences

Introduction to Final-Year, Undergraduate Projects in


Computing and Computing Science

Aims

The aims of this lecture are to:

1. Introduce the project components of the BSc (Hons) Computing and BSc (Hons)
Computing Science programmes offered in the School of Computing
Mathematical Sciences. These components are specified in the course definitions
for COMP1161 and COMP1169 respectively.
2. Provide an overview of what is required from any student taking these courses.

Learning Outcomes

At the end of the lecture, students should:

• Be able to give reasons why a project is considered to be an essential component


of an honours degree in the field of computing.
• Be able to assess the actual mark contribution of the project to the overall degree
total.
• Be able to specify types and characteristics of academic computing projects.
• Be able to list the particular requirements for a project undertaken for the BSc
(Hons) Computing and BSc (Hons) Computing Science programmes.
• Be able to list particular skills needed to undertake and complete successfully, an
academic project.
• Be able to formulate ideas for a project and assess whether they are appropriate.
• Be able to describe the roles of the student and the supervisor in the process of
project supervision.
• Be able to list sources of support for their project, both within their institution of
learning and external to it.

Undergraduate Computing Projects

The BSc (Hons) Computing and the BSc (Hons) Computing Science both have a core
project course at Stage 3, Project (Computing) and Project (Computing Science)
respectively. A recent survey of computing degrees in Universities in the United
Kingdom shows that the majority of computing degree programmes incorporate a
project component, mostly compulsory, and usually in the final year of the degree.
This could be viewed as simply a matter of ‘custom and practice’ amongst institutions
offering degrees in computing. There are however, some very good reasons why a
project should be considered as a core part of a computing degree. It’s worth noting
that degrees in other disciplines, civil engineering, law, education, fine art, and so on,
also have compulsory projects. We can surmise therefore that educationalists in

COMP1161 and COMP1169 1 PNM/2002


School of Computing & Mathematical Sciences

general agree on the benefits to be gained from undertaking a project. The benefits are
generally acknowledged to include:

• It provides students with the opportunity to plan, organise and carry out a
sustained, individual piece of supervised work, relevant to their degree
• It provides students with the opportunity to produce a scholarly piece of work,
that is, work that has been researched, carried out according to sound principles
and critically reviewed before being presented in a dissertation that conveys
clearly and concisely, the work and its conclusions.
• An academic project, carried through to a successful completion, demonstrates to
interested parties such as prospective employers and admissions tutors for
postgraduate degrees, that the student will have practised and gained skills that
will be relevant in employment and further study alike.

So, with these key aspects in mind, you should realise that completing your
undergraduate project will be one of the most important things that you will achieve
during your degree. It is the opportunity for you to bring together the knowledge
acquired from some or all of the courses that you studied, together with the technical
and professional skills learnt, to create a significant piece of work that you can be
proud of.

The project should also be considered important for the following reasons:

• The final year project represents one quarter of your final year assessment (see
below).
• It is the only major individual piece of work carried out during the degree
course.
• It provides evidence to prospective employers and admissions tutors for
postgraduate courses, of your ability to tackle a non-standard problem.

The project is an indicator of your ability to carry through, chiefly


unaided, and with the application of proper methods, a major piece of
work.

Contribution to the Overall Degree Total

Students normally take 120 credits at level 3 during the final year of the BSc Hons.
Computing. This can be made up from single 15-credit courses and/or double 30-
credit courses (make sure that you are familiar with the structure of the final year).
Courses carry equal weighting into the end-of-year total; a weighting for a double
course is consequently twice that for a single course. The project is a double 30-credit
course and therefore contributes 30 out of 120 credits or one-quarter of the total
marks for the final year1.
1
Students who study the BSc Hons. Computing in part-time mode of attendance will normally take
more than one calendar year to complete the 120 credits.

COMP1161 and COMP1169 2 PNM/2002


School of Computing & Mathematical Sciences

The inevitable questions that this simple calculation raise are “if I do badly in my
other courses, will a good project mark pull me up?” and “if I do well in my other
courses but get a poor project mark, will this drag my overall mark down”. In other
words, can the project mark significantly affect the classification of degree awarded?
The answer must be that in certain cases, where for example, a student’s overall mark
is on or around the borderline between classifications, then the weighting for the
project course could make a difference. It must also be pointed out that where a
student’s marks are not conclusive in indicating a particular degree classification, then
the Progressions and Awards Board (PAB) will look for evidence of academic
achievement. The project is seen as an indicator of academic achievement.

Generally speaking, a student’s project mark is not normally far outside the range of
marks for their other courses. Some students score slightly better in their project than
in their examinable courses (perhaps because they do not perform so well in
examinations), and some slightly worse, again perhaps because they normally do well
in examinations. The important point to take on board is that you should try to
apportion your time fairly equally between all your courses. That notwithstanding, a
student might reasonably be expected to give a little more time to a course that they
have particular difficulty with. A consistent set of marks is usually better than having
a set of marks that appears to show an erratic performance.

Remember, although the project represents one-quarter of the final


year, you should not concentrate on it to the exclusion of the other
courses that you take. It is vitally important that you pass the exams
as well!

Types of Academic Computing Project

Undergraduate computing projects should, naturally enough, be concerned with both


the academic and practical aspects of computing. This provides a fairly broad
spectrum for a computing project. Before looking at the specific project requirements
for the BSc Hons. Computing, it is worth attempting to categorise the different types
of computing project that could be carried out. It is often easier to know what
something is by knowing what it is not!

1. Constructive (Development)

This type of project will normally involve design and implementation, for example:

• a software system or subsystem


• software routines that perform a specific function
• a library of software components.

COMP1161 and COMP1169 3 PNM/2002


School of Computing & Mathematical Sciences

This type of project is primarily concerned with development. The actual product
arising from the development may vary quite considerably in practice. For example, a
project might be concerned with the development of either a software system or a
hardware system, or with the development of new methods, techniques or algorithms.
The common factor in all of these projects however, is the application of a
development process that consists of recognisable development stages, from
feasibility or evaluation through to a fully tested and documented product, complete
with user manuals and guides.

Development projects may vary also with the degree programme studied. Computing
science degrees with a strong element of software engineering tend to emphasise
projects that concentrate on the development of software, using a well-defined and
documented software development life-cycle (SDLC). In contrast, degrees in
information systems may emphasise the use of alternative development approaches
such as the soft systems approach, DSDM, and prototyping, as well as systems
development tools such as CASE tools, 4GLs and visual development products like
Microsoft Access and Visual Basic.

2. Evaluative

This type of project is concerned primarily with evaluation; this could include for
example (the list is not exhaustive):

• the evaluation of a particular computer-based system according to certain well-


defined criteria e.g. performance, usability etc.
• the evaluation of several approaches to a particular problem
• an evaluation of two or more programming languages applied in different contexts
or to different problems
• an evaluation of a software or systems development process within a particular
industry or organisation
• an evaluation of different user interfaces

The evaluation is carried out using scientific methods2.

3. Investigative (Problem-Solving)

This type of project involves investigation into particular systems or their aspects such
as implementation methods, technical installation, acceptance within the user
community, etc. It may require that an experiment be carefully constructed so as to
generate appropriate data for subsequent analysis. A particularly relevant type of
investigate project is one that is primarily concerned with problem-solving. In this
case, the investigation could be focused on:

• the development of a new technique


• how to improve the efficiency of existing software
• the application of an existing problem-solving technique to a new area

2
Taking a scientific approach will be discussed more fully in a later lecture.

COMP1161 and COMP1169 4 PNM/2002


School of Computing & Mathematical Sciences

As with evaluative-type projects, it is essential that scientific methods are followed


when investigating how well new techniques can be applied, or existing techniques
applied in new situations. There must be sound criteria for judgement established
reasoning and sound reasoning regarding the results obtained.

The types of projects described above are the commonest types of undergraduate
computing project. We have not included pure research projects because these are
more fitting to be carried out on a postgraduate programme ( research is defined as a
considered activity which aims to make an original contribution to knowledge).
Research projects are more conceptually demanding and require a significant amount
of time to carry them out properly. We will discuss research-based projects below.

Projects for the Computing and Computing Science Degrees

Both the Computing Science and the Computing degrees are accredited by the British
Computer Society. The Computing Science degree with honours provides exemption
from the BCS Part II Examinations and the Professional Project, whilst the
Computing degree with honours carries exemptions form the BCS Part I
Examinations and the Professional Project (subject to passes in certain 'core' courses).
For further details refer to the later section 'Exemption from the Professional Project'.

The project courses COMP1161 and COMP1169 are designed to meet the
requirements for the BCS Professional Project at Level II. Stated briefly, these are:

• 'it involves at least 150 hours of individual student effort';


• 'the task should be to develop an IT solution to a practical problem';
• 'it exhibits a structured approach to information systems practice';
• 'the product exhibits the attributes of quality, reliability, timeliness and
maintainability';
• 'it must involve the production of a professional report';
• 'it must lead to a description of the process and of the product'.

(The required contents of the report are given in the later section 'Exemption from the
Professional Project').

In order to meet the above requirements, projects undertaken for both the Computing
and the Computing Science degrees must be constructive in nature. The
characteristics of this type of project require that the project:

• is a sustained piece of work of between 150 and 200 hours of effort, e.g. an
average of 6 hours per week for 30 weeks!
• is carried out individually without a significant contribution by others;
• must relate to the programme;
• include a practical, problem-solving element;
• include a relevant literature review;
• include the production of a piece of software;
• employs well-defined principles of software engineering;

COMP1161 and COMP1169 5 PNM/2002


School of Computing & Mathematical Sciences

• include the production of a dissertation.

In some cases, it may be feasible for a student to carry out a project that includes a
significant element of evaluation or problem-solving. In such cases, it is important to
the eventual success of the project that the student understands how to apply scientific
thinking and reasoning in carrying out their project, and that the completed project
meets all the requirements for the project course (COMP1161 or COMP1169).

Do not undertake an evaluative or problem-solving project unless


both you and your supervisor are fully aware of what is expected
from this type of project.

The characteristics of a constructive computing project emphasise the practical design


and building of a piece of software. It should be remembered however, that the project
is first and foremost an academic project, one that is submitted as an assessed piece of
work that contributes to the overall degree mark. In addition to fulfilling the
requirements for a particular type of project, an academic project must also include:

• An analysis of the problem area


• An analysis and review and of literature relevant to the problem area
• A written evaluation of the product, the development process and your own
performance in planning, organising and carrying out the project

You would normally include a section or chapter on each of these aspects, in your
project report. For this reason, the final document is rather more than a normal
technical project report and because it is produced as part of an academic project, it is
usually referred to as a dissertation.

An academic project is different to a development project carried for


an employer. The emphasis on the work and the way in which your
work is presented in your report must be academic. A project report
that might be given to a manager is not acceptable.

Industry-Based Project

An industry-based project is one that you will probably carry out for an organisation
with whom you are employed on a full-time or part-time basis (if you are a full-time
student working more than one day a week then it will be difficult to find enough time
to carry out your project as completely as you might like). You may even have the
agreement of the organisation with whom you completed an industrial placement to
carry out a project on their behalf, possibly using their resources. You should take
care that your project is not forced in a direction that is not suitable for the academic
requirements of your project.

COMP1161 and COMP1169 6 PNM/2002


School of Computing & Mathematical Sciences

Research-Based Project

We said earlier that pure research projects are more fitting to be carried out on a
postgraduate programme largely because the research activity should aim to make an
original contribution to knowledge. Undergraduate projects may still contain an
element of research nonetheless, or be based upon research that is being carried out by
a particular research group.

A project with a considerable research element would necessarily require a more


substantial literature search and review. The design and implementation element
would be of a smaller scale though and more complex conceptually perhaps, arising
from the investigative work carried out.

Most research groups are able to specify work products that will contribute to their
overall research effort, and these can be packaged to form suitable final-year
undergraduate projects. The benefits of this include:

• supervision by knowledgeable academics in the field who have already carried out
substantial investigation, literature searches and reviews;
• project requirements already identified and already formulated (either wholly or
partly);
• good grounding in postgraduate and research activities.

Skills Required for an Academic Project

We have already made much of the fact that the project is probably the largest,
individual assessment that you will carry out during your degree. This together with
the aims for an academic project and the characteristics of a constructive project
should suggest that it is important for you to identify and develop certain skills that
will help you throughout your project. The skills that a student is expected to acquire
for an undergraduate computing project include:

• be able to draw together and apply the knowledge and skills gained from studying
other courses on your degree programme;
• be able to identify and use the various sources of information available in order to
obtain background and specific references for the project topic;
• be able to identify and clearly define problems and to organise solutions, where
feasible, to problems;
• be able to select and apply methods and techniques in a rigorous manner;
• demonstrate the willingness and capacity to pursue a task or activity to a
conclusion;
• apply at a level appropriate to an undergraduate degree, critical analysis to
knowledge gained, critical evaluation to work carried out, and logical reasoning to
determining any conclusions given;
• develop the capacity to plan, organise and carry out an extended, independent
work;

COMP1161 and COMP1169 7 PNM/2002


School of Computing & Mathematical Sciences

• develop the communication skills required to discuss meaningfully, all aspects of


the project with their supervisor, with peers, and with computing professionals;
• develop skills needed to produce a dissertation that is well-written, well-presented
and scholarly in style.

This may seem rather a lot to achieve, but bear in mind that your previous years of
study will not have been in vain. Many of these skills will have been evident in the
course and course assignments that you completed. Your task is to make an honest
assessment of those skill areas that you are not yet confident in, and then to decide
how to go about making improvements. In many cases, learning can take place
through examples of good practice. Find examples that show how practised academics
and professionals do things. For example, find a published paper on some aspect of
computing, (preferably close to your project topic if possible but this is not essential),
and study it to see how it is structured and presented. Many texts now have fully-
worked case studies showing the design and implementation of a software system or
subsystem using standard methods and techniques. Look at previous projects and find
examples of both good and poor practice. Think about how you, with hindsight,
might have done it better.

Programming in Computing Projects

We stated in the previous section that the majority of computing projects for the BSc
(Hons) Computing tend to belong to the constructive category. You might therefore
reasonably think that you will be expected to write a computer program. In most
cases, this is true, but the type of program and the tools used to develop it can vary
considerably. The commonest occurrences of programming in projects include:

• a large software system consisting of several thousand lines of code written in a


third-generation programming language such as Java, C++, C or Pascal;
• a program written as a vehicle for testing and demonstrating ideas that you have
developed such as in a problem-solving type of project e.g. a customised sorting
algorithm, or network traversal algorithm;
• a small-sized database application consisting typically of a database built using
Microsoft Access or Oracle, together with some procedural code using SQL or
Visual Basic;
• web pages developed and written in HTML or DHTML;
• use of scripting languages such as Javascript, ASP, Perl or CGI script to enable
distributed applications to work together.

Any code that you produce should be implemented, tested and of an acceptable
quality. This will depend upon the nature of your project and on what is considered
acceptable for such a project. Your supervisor should be able to advise you on the
breadth and depth of any software that you produce as part of your project.

Whatever the case, as a computing student you will naturally be expected to produce
code. In selecting and specifying a suitable project, you should be clear from the start
how much code you intend to write yourself and how much you will generate using
software packages. By far the most common student project today consists of a

COMP1161 and COMP1169 8 PNM/2002


School of Computing & Mathematical Sciences

relatively simple database of records, and a front end developed using Microsoft
Access or Microsoft Front Page for developing web pages for linking to the database.
Over 90% of such an application can be generated by the software packages used.
Whilst this may be of benefit to a hard-pressed software developer, it could be argued
that in an academic project, it demonstrates little more than the ability to use packages
(this is of course an important skill but not a major one that the project is intended to
assess).

Assessment of the Project

The project will be assessed by your supervisor and by a second marker both of whom
are academic staff in the CMS School. At the time of writing, the marking scheme is:

Development work 30% supervisor


Product 30% supervisor (15%), second marker (15%)
Project report 40% supervisor (20%), second marker (20%)

A detailed description of the assessment of each project course can be found in their
respective course definitions.

Managing the Project

Any good text written on the subject of projects and their management identify five
main stages through which all projects, whether commercial and industrial or
academic, progress during their lifetime. These are:

• Definition
• Planning
• Initiation
• Control
• Closure

Experience shows that students approach the problem of managing their own projects
with strategies that range from no clearly defined project management strategy to
finely detailed activity analysis. One of the assessment criteria for all of the project
courses requires that your supervisor awards a mark that reflects your ability to
manage a project throughout its duration. You will need to demonstrate your progress
to your supervisor throughout your project. Formal project planning and management
methods and techniques are discussed in a later lecture, but for now you should think
about arranging regular project meetings with your supervisor. Through these and
intermediate deliverables, you will be able to assure your supervisor of your progress
at all times.

There are of course other attributes that you are required to show such as the ability to
work without constant supervision (this does not mean without regular meetings with
your supervisor), the ability to clearly define a problem and to set about finding and
organising a solution to the problem and so on. For a more detailed list of attributes,

COMP1161 and COMP1169 9 PNM/2002


School of Computing & Mathematical Sciences

you should read the course definition for the appropriate project course and reread the
previous section Skills Required for an Academic Project.

Remember – you alone must bear the final responsibility for your
project, i.e. the work carried out, the final product, and the project
report.

The Role of the Project Supervisor

It is important to understand the distinction between work that is unsupervised and


work that is supervised. With an assignment, such as a coursework for example,
which is unsupervised, you will normally carry out this work with the minimum help
from your tutors. If there is something about the assignment that you don't understand,
whether it occurs in the specification or when you are formulating a solution, you can
ask your tutor to explain a problem statement more fully, or to help you with a step in
your answer that you are having particular trouble with. Often however, you will
complete an unsupervised assignment completely unaided (or at least with a little help
from your friends!). Indeed, your tutor may have no idea of how much time and effort
you actually expended in completing your assignment, other than by judging the final
product.

A supervised piece of work allows a supervisor to have regular contact with you
throughout the duration of the work. This enables them to build up a picture of you as
someone who is able to carry out a sustained piece of work, and who is able to
investigate, query and solve problems that may arise. This in turn forms part of the
project assessment. You are judged on your ability to organise and manage a project
as well as on the quality of your final product. This face-to-face tuition is an important
aspect of a project. It allows someone with more experience that yourself, to guide
you throughout the project and to help you to achieve what you are capable of.
Remember that there are academic requirements that must be met as well as practical
ones. Too often, a capable student can lose direction during their project, or even start
off with a poorly specified project proposal.

We can summarise the role of the supervisor by dividing the project lifecycle into
three stages and looking at the supervisor's role during these three stages: initial role,
continuous role, and final role.

Initial Role

• Assess whether the project is an appropriate one for the programme studied.
• Act as a 'sounding board' for you to bounce ideas off, and to help you to clarify
your own thoughts.
• Discuss the possible directions that your project might take.
• Provide feedback on your project proposal.

COMP1161 and COMP1169 10 PNM/2002


School of Computing & Mathematical Sciences

Continuous Role

• Provide general feedback on your progress throughout the project.


• Give specific help in areas where you are stuck or when you are not certain how to
proceed.
• Advise on how to carry out your project documentation during project
development.
• Comment on your initial and interim reports.

Final Role

• Review early drafts of parts of your project write-up, and provide comments on
correctness and completeness of content and also on the standard of English used.
• Make suggestions regarding possible improvements to analysis and presentation
of results.
• Make suggestions regarding logical structure of final report, and on the formatting
of the content within.

You can help to make the most of the opportunity to carry out work that is supervised
if you follow these simple guidelines:

 Arrange to meet regularly with your supervisor.


 Ensure that each meeting has an agenda of topics to be
discussed.
 Send the agenda to your supervisor before the meeting.
 Make notes at the meeting and record the suggestions made
by your supervisor. You may wish to revisit these at a later
stage.

Remember – your supervisor will not normally be prepared to award


marks to work in cases where they are unable to state that they have
had regular discussions with you concerning the work that you have
carried out, and the way in which you have managed your project.

Project Support: Agencies to Consider

Supervisors provide the first-line support for all academic matters pertaining to
projects, and may even be able to help in certain specialised technical areas. A
significant part of your project however, is concerned with your ability to seek out
sources of technical support when necessary. It is vitally important that you be able to
understand the nature technical problems that occur and be able to formulate solutions
where possible. This will require you to make a list of candidate sources of

COMP1161 and COMP1169 11 PNM/2002


School of Computing & Mathematical Sciences

information, and to assess whether they will be able to provide any help in practice,
e.g. holding on to an engaged telephone line to the technical help desk of a well-
known computing vendor may not turn out to be very practical. Some suggested
sources of information and help include:

• the computing services centre of your local college


• professional bodies e.g. the British Computer Society (BCS), The Association for
Computing Machinery (ACM), The Institute for the Management of Information
Systems (IMIS), and the Institute of Electrical and Electronic Engineers (IEEE).
• course lecture notes
• web sites and newsgroups
• text books, journals and software manuals
• libraries
• fellow students

Computing Projects and Maintaining Professionalism

The British Computer Society (BCS) is the professional representative body for
computer scientists and information systems practitioners within the UK. As a student
registered on a computing degree in the CMS School, you are given student
membership for the duration of your degree. Under its Royal Charter the BCS is
required to 'establish and maintain standards of professional competence, conduct and
ethical practice for Information Systems Practitioners' (BCS 1998: 4).

As a graduate from a degree in a computing discipline, you are expected to maintain a


professional approach to the project that you undertake. This includes:

• employing and maintaining professional standards of analysis, design and


documentation;
• attention to testing, reliability and quality assurance;
• awareness of the legal obligations of the computer professional;
• acceptance of responsibility for work which affects the public well-
being;
• understanding of the social and ethical implications of Information Systems
Engineering, and of appropriate professional codes of conduct.

British Computer Society and Exemption from the Professional Project

To become a professional member of the Society, you must complete a Professional


Project. The Professional Project, like the BCS examination, must also be completed
at one of two levels, depending on the type of membership to which you are applying.
Thus, the Professional Project must be completed at either Level I or Level II.
Students who complete an acceptable project for COMP1161 or COMP1169 are
exempt from the Professional Project at Level II.

COMP1161 and COMP1169 12 PNM/2002


School of Computing & Mathematical Sciences

The Society requires that in order for projects to meet the requirements for exemption
they 'must be passed at the first attempt to gain the award, with no condonement and
no referral'. The Society also identifies what your project's report (dissertation) should
include. The following list is taken directly from the BCS guidelines (1998: 10):

• 'elucidation of the problem and the objectives of the project';


• 'an in-depth investigation of the context/literature/other similar products';
• 'a clear description of the stages of the life cycle undertaken';
• 'a description of the use of appropriate tools to support the development process';
• 'a description of how verification and validation were applied at all stages';
• 'a critical appraisal of the project, indicating the rationale for
design/implementation decisions, lessons learnt … and evaluation (with hindsight)
of the product and the process of its production';
• 'in the case of group projects, a clear indication of the part played by the author in
achieving the goals of the project';
• 'references';
• 'appendices - technical documentation'.

Summary

You should now be in a position to get started with the preparations for setting up
your project. These will include:

• Come up with an idea for a project.


• Submit a Project Registration Form to obtain a supervisor.
• Prepare a draft document to discuss your project idea with your supervisor.
• If your supervisor tells you to go ahead, then start preparing a formal project
proposal.

Where the project is already known, for example, one that derives from an
organisation, then the draft document should be more detailed, and should be
presented to the supervisor for their approval. The supervisor may require additional
information before being able to allow or disallow the project.

COMP1161 and COMP1169 13 PNM/2002


School of Computing & Mathematical Sciences

Appendix

Formulating and Assessing Ideas for a Project

We now turn to the problem for most students, encapsulated succinctly in the question
‘what project shall I do?’ It may be that you already have a good idea of what you
want to do. If so, the follow-up question should be asked ‘does what I want to do
satisfy the requirements for an academic and constructive project?’ We shall address
this question later. For the moment, we need to give some suggestions to help those
students who don’t know where to turn to (apart from their own creative thinking
powers!) for an appropriate idea for a project. The following are some suggested
guidelines to follow:

• It’s a useful principle that projects should draw upon previous experience; this
might include knowledge concerning a particular computer system or knowledge
drawn from previous courses studied. For example, anyone who has taken courses
in databases might want to develop a complete database application. A course in
knowledge-based or expert systems might lead someone to undertake to build a
knowledge-based system or an expert system in a particular application area e.g.
‘An Expert System for Fault Diagnosis in Automobile Petrol Engines.’
• Many institutions keep a selection of past projects for students to browse. It is
quite often possible to take an existing project, or the idea that it is based upon,
and to create a new project from it.
• There are certain standard software problems that are discussed in the literature
that present the opportunity for recurrent analysis, design and implementation.
That is to say, designing and programming new solutions to old problems. Data
communications and computer games are just two areas that involve the design
and programming of fairly complicated algorithms.
• It is often easier to engineer practical software developments if they are based on
real requirements. Projects that are developed from a hypothetical set of
requirements can often result in unrealistic applications because there are no real
users involved. If you are working for a company, or have retained links with one
that you used to work for, or someone you know works for or better still owns a
company, then there may be the opportunity for you to carry out a realistic
software development project. But as we point out below, such an arrangement
should be entered into with all parties clear about what the project will be about,
and how it will be carried out. It is after all, your academic project that is at stake.

Further techniques and information sources are presented in Dawson [Dawson, 2000].
These include:

• techniques for mapping out subject areas in terms of their related topics
• brainstorming ideas
• breaking down a project idea into likely chapters for the project report

COMP1161 and COMP1169 14 PNM/2002


School of Computing & Mathematical Sciences

Having presented some guidelines on how to arrive at a suitable topic for a project, it
seems appropriate to mention cases in which projects would not normally be
considered acceptable. Firstly, we make the point that although, in general, it makes
good sense for a project to draw on and consolidate material from subject areas other
than computing, all projects for the BSc (Hons) Computing must have a clear
computing focus. They should, ideally, be constructive in nature although this latter
requirement may sometimes be relaxed. A student having taken a module in
Information Systems Security for example, might wish to design and implement a
computer-based information system that supports some of the functions associated
with information systems security. A project that draws on the material from a course
on information systems security and results in the development of a software product,
would have every chance of receiving high marks if it were competently carried out to
a high standard. By way of contrast, a project on the implications of information
technology for information systems security, although a valid topic in its own right,
would not constitute an acceptable project for the BSc (Hons) Computing. (It might
well be an acceptable project on a different degree programme).

A second and equally important point is that projects that are too general, or that just
constitute a survey of basic textbooks or the rewriting of lecture notes will not be
acceptable for the award of an honours classification for the BSc (Hons) Computing.
You are required to demonstrate that you have defined and performed your own tasks
and not simply read around and summarised a subject using standard literature.

Testing Ideas for Projects

So, having come up with one or two ideas, how can you measure your understanding
of the project? The ‘so what’ test [Dawson, 2000] can be a useful starting point. Once
you have decided on what seems to be a good idea for a project, ask yourself a
number of questions:

• Is the topic meaningful?


• If you complete the project successfully, will it be of value to anybody?
• What contribution will it make?

These kinds of questions help you to determine that your intended project has value in
its completion. If its worth can be demonstrated, then you will be motivated to
complete it successfully. Having established that the project is worth carrying out,
how well do you understand it? Initially, try explaining it in relatively straightforward
terms to your supervisor. If you are unable to explain it clearly, or unable to answer
questions put to you by your supervisor, then you do not yet fully understand what the
project will entail.

COMP1161 and COMP1169 15 PNM/2002

You might also like