Introduction to Computing Projects

Embed Size (px)

Citation preview

  • 8/8/2019 Introduction to Computing Projects

    1/15

    School of Computing & Mathematical Sciences

    Introduction to Final-Year, Undergraduate Projects inComputing 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. Its 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

  • 8/8/2019 Introduction to Computing Projects

    2/15

    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 ascholarlypiece 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 (seebelow).

    It is the only major individualpiece 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.

    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 orone-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

    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.

  • 8/8/2019 Introduction to Computing Projects

    3/15

    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 students overall markis 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

    students 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 students 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 toapportion 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.

    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 whatsomething 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

    Remember, although the project represents one-quarter of the finalyear, 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!

  • 8/8/2019 Introduction to Computing Projects

    4/15

    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, fromfeasibility 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 contextsor to different problems

    an evaluation of a software or systems development process within a particularindustry 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 suchas 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 withproblem-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

  • 8/8/2019 Introduction to Computing Projects

    5/15

    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 undergraduatecomputing 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 exemptionfrom 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 andmaintainability';

    '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 Computingand 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. anaverage of 6 hours per week for 30 weeks!

    is carried out individually without asignificantcontribution 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

  • 8/8/2019 Introduction to Computing Projects

    6/15

    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 projectmeets all the requirements for the project course (COMP1161 or COMP1169).

    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 academicproject, one that is submitted as an assessed piece ofwork 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 yourproject 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.

    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 academicrequirements of your project.

    COMP1161 and COMP1169 6 PNM/2002

    An academic project is different to a development project carried foran 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.

    Do not undertake an evaluative or problem-solving project unless

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

  • 8/8/2019 Introduction to Computing Projects

    7/15

    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 anoriginal 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-yearundergraduate projects. The benefits of this include:

    supervision by knowledgeable academics in the field who have already carried outsubstantial investigation, literature searches and reviews;

    project requirements already identified and already formulated (either wholly orpartly);

    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, independentwork;

    COMP1161 and COMP1169 7 PNM/2002

  • 8/8/2019 Introduction to Computing Projects

    8/15

    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 ofstudy 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 howyou, 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 athird-generation programming language such as Java, C++, C or Pascal;

    a program written as a vehicle for testing and demonstrating ideas that you havedeveloped 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 usingMicrosoft 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 enabledistributed 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 usingsoftware packages. By far the most common student project today consists of a

    COMP1161 and COMP1169 8 PNM/2002

  • 8/8/2019 Introduction to Computing Projects

    9/15

    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 toassess).

    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 tomanage 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

  • 8/8/2019 Introduction to Computing Projects

    10/15

    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.

    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 youthroughout 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

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

    report.

  • 8/8/2019 Introduction to Computing Projects

    11/15

    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 projectdevelopment.

    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:

    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 solutionswhere possible. This will require you to make a list of candidate sources of

    COMP1161 and COMP1169 11 PNM/2002

    Arrange to meet regularly with your supervisor.

    Ensure that each meeting has an agenda of topics to be

    discussed.

    Send the agenda to your supervisorbefore the meeting.

    Make notes at the meeting and record the suggestions madeby your supervisor. You may wish to revisit these at a later

    stage.

    Remember your supervisor will not normally be prepared to awardmarks to work in cases where they are unable to state that they have

    had regular discussions with you concerning the work that you havecarried out, and the way in which you have managed your project.

  • 8/8/2019 Introduction to Computing Projects

    12/15

    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 anddocumentation;

    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 SystemsEngineering, 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 aProfessional

    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

  • 8/8/2019 Introduction to Computing Projects

    13/15

    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 fordesign/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 inachieving 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 projectproposal.

    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

  • 8/8/2019 Introduction to Computing Projects

    14/15

    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 dont 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:

    Its 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 literaturethat 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

  • 8/8/2019 Introduction to Computing Projects

    15/15

    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 latterrequirement 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 understandingof 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