Computing project types What are computing projects?

8 Chapter 1 n Introduction system to meet a user’s need. While the student project goes some way toward meet- ing the user’s needs, the project includes much more than that and hence may only partly fulfil the user’s need. In contrast, the industrial-based project focuses primarily on solving the user’s problem and little else. Consequently, the industrial project develops a system that is close as possible to meeting the user’s requirements although it is never perfect, whereas the student project does not. n Evaluation. This category encompasses all projects that involve some form of evaluation as their main focus. For example, such a project might involve comparing several approaches to a particular problem; evaluating two or more programming languages applied in different contexts or to different problems; analyzing an implementation process within a particular industry; assessing different user interfaces; analyzing a partic- ular concept; considering alternative and new technological approaches to a problem; ap- praising development methodologies to a problem; and so on. Projects in this category may well include case studies as a vehicle for evaluating the issue under consideration. n Industry-based. An industry-based project involves solving a problem within either an organisation or another university department. Industry-based projects might be any of the other kinds of projects identified in this section. The difference in this case is that you undertake the project for an actual client, which carries with it a number of benefits as well as drawbacks. Section 3.2 discusses in more detail the advantages and disadvantages of choosing an industry-based project. The most important point is that the sponsor does not ‘hijack’ the project – that is, force it into a direction the company wishes it to go, regardless of whether it is suitable for your academic work or your course. You will probably find that an industry-based project employs the action research method, which is discussed in Section 2.4. n Problem solving. A problem-solving project can involve developing a new technique to solve a problem, improving the efficiency of existing approaches or an evaluation of different approaches or theories in different situations. It might also involve applying an existing problem-solving technique or theory to a new area. In these cases, some form of evaluation would be expected: for example, did your new approach work well or did you discover reasons why it was unsuitable for problems of this nature? Why does one approach or theory work better in some situations than in others?

1.2.3 Programming in computing projects

Although you are on a computing course of one kind or another, you may or may not be expected to write a program. As noted earlier, the broad field of computing encompasses many topics, such as information systems, software engineering, knowl- edge engineering, human computer interaction, data communications, networks, computer systems architecture, and much more. Not all of these fields involve pro- gramming; to write a program for its own sake is clearly ill-advised. Sometimes programming is the main emphasis of your project, for example, if you are on a software engineering course. At other times, you may need to write a program as a ‘vehicle’ for testing and demonstrating one thing or another, for instance, to test out some ideas, demonstrate a technique or algorithm, or evaluate some human computer interaction concepts. Whatever the case, as a computing student you will naturally be expected to produce code that is of acceptable quality. Although you may not be expected to produce a fully 1.3 Degree requirements 9 documented piece of software with test plans, designs, and evaluation, any code that you do produce should be satisfactory for your aims. Your supervisor should be able to advise you on the breadth and depth of any software you produce as part of your project, so make sure you liaise with him or her closely. Chapter 6 provides some useful material on the ap- proaches you can use to develop software systems; Chapter 8 includes ways of document- ing software; and Chapter 9 explains how you can demonstrate your program effectively. •

1.3 Degree requirements

1.3.1 Degree structures

Educational institutions throughout the world have many different degree structures that take students from schoolcollege level education through undergraduate study to doctoral degrees sometimes referred to as higher education. However, not only do countries have different interpretations of undergraduate and postgraduate study for example, would you classify a master’s degree as an undergraduate or postgraduate course?, they also have a number of different titles for degrees that are essentially the same PhD and DPhil, for example. At the ‘undergraduate’ level, some countries have a single tier of higher education leading to the start of doctoral studies; for example, five years of study leading to the award of a master’s degree. Other countries have a two-tier structure in place that leads, first, to a bachelor’s degree after around three, four, or even five years of study and then to a master’s degree after a further one or two years of study. There is also diversity at doctoral level, with some countries recognising an interme- diate doctoral degree one could argue the UK’s MPhil falls into this category, and some countries having ‘higher’ doctorates particularly in Central and Eastern Europe. Although a number of countries have signed up to the Bologna Declaration an initiative intended to harmonise higher education structures in Europe, there is still a long way to go to producing a common degree structure. At the time of writing, 45 countries are involved in the Bologna process. For more information on this process, see Fearn 2008, which provides an interesting discussion on how negotiations are progressing. In order to avoid confusion and to provide some consistency and a common frame- work for this book, we will avoid using the terms undergraduate or postgraduate study except where their meaning is clear or unimportant. Where necessary, a differentiation will be made between taught degrees such as bachelor’s and master’s degrees – BScs and MScs for example – which are predominantly based around taught courses that include some project element – and research degrees such as MPhils and PhDs, which are pri- marily research-based projects that lead to some contribution to knowledge. In this case, although an MPhil and an MSc are both master’s courses, an MPhil is viewed at a higher level than an MSc because it involves a much more substantial project component, which is, after all, the focus of this book see Figure 1.2. In this book, the MPhil is understood to mean a research degree normally completed after about two years of study. In this model, students can enter higher education to study for a bachelor’s degree or a master’s degree. Before undertaking a research degree, they must have completed a taught degree to a required standard or equivalent prior learning. This sequence of higher education is shown in Figure 1.4. 10 Chapter 1 n Introduction

1.3.2 Degree requirements for projects

As this book is aimed at students on both taught degrees and research de- grees, it is worth spending a little time looking at the differences between the projects undertaken at these different levels. These are general guide- lines – your own department and university and country can offer specific guidance on what is and what is not appropriate for your own level of study. A project undertaken as part of a taught course bachelor’s or master’s degree does not need to make great breakthroughs in science. It might involve the development of some software, it could be an extended case study, or it might be research-based. However, generally speaking, you would not be expected to produce work at a level that could be published in an academic journal or presented at an international conference. This is not the case for research degrees, however. An MPhil should produce work that could be published perhaps with some reworking, whereas students pursuing a PhD will probably be expected to have published some of their work before completing the fi- nal thesis and, in some European countries, this is compulsory. At the research degree level, Chinneck 1999 contrasts master’s in this case, research-based postgraduate study with PhD-level work in the following way: ‘The contribution of knowledge of a Master’s thesis can be in the nature of an incremental improvement in an area of knowl- edge, or the application of known techniques in a new area. The PhD must be a sub- stantial and innovative contribution to knowledge’. The University of Derby 1999 notes the following abilities a student is expected to demonstrate at research degree level: n an ability to work independently with minimum supervision; n an ability to draw on existing knowledge and identify additional knowledge needed for your study; n an ability to critically evaluate advanced literature journal papers; n ‘an ability to conceive original ideas’; n an ability to plan your work effectively; n an ability to select and use appropriate hardware, software, tools, methods and techniques; n an ability to present your work effectively in written and oral forms; n an ability to critically evaluate your own work and justify all aspects of it; n an ability to identify areas of further research in your chosen area. Abilities marked with an asterisk are those that should be evident in taught degree projects as well. What sets research degree work apart is, mainly, an ability to Figure 1.4 Higher education