Major and Minor Projects (MMP) Preparing for your Major or Minor Projects

Major and Minor Projects (MMP) Preparing for your Major or Minor Projects Neil Taylor Department of Computer Science Aberystwyth University Version ...
Author: Patrick Charles
1 downloads 0 Views 118KB Size
Major and Minor Projects (MMP) Preparing for your Major or Minor Projects

Neil Taylor Department of Computer Science Aberystwyth University

Version 1.0 • 15th September 2016

Document Version 1.0

Page 1 of 12

Contents Introduction

3

About the Projects

4

Learning outcomes

4

Selecting Projects

5

How do I select a project?

5

What do you mean by “a project that is suitable for your degree scheme”?

5

I am on degree scheme X, but want to do a project in Y. Can I do this?

5

I really want to work with supervisor X. Can I do this?

5

When can I select my project?

5

Do I have to suggest my own project?

6

I have an idea for a project. Can I work on this?

6

When do we get confirmation of our project topics and supervisors?

6

Someone said that we can't do web projects. Is that true?

7

Industrial Year Students

8

Can my project be related to my Industrial Placement?

8

Can I discuss my idea with a supervisor before term?

8

Can I use some of my work from my placement?

8

It would be easier for me to start the work, whilst still here with my colleagues. Can I start early? 8 Can I work on a project that is shared with another student?

8

General Information

9

Who owns the Intellectual Property Rights (IPR)?

9

How much code am I expected to write?

9

What programming language(s) can I use?

9

Technical Challenge

10

Project Size

10

Technical Issues

10

Any questions?

12

Document History

12

Document Version 1.0

Page 2 of 12

Introduction The Major / Minor project is a substantial individual piece of work that you complete under the direction of a supervisor. It involves self discipline, organisation and initiative. The module gives you the opportunity to bring together the practical skills and theoretical understanding that you have acquired, demonstrate your ability to manage the work in a professional manner and show your technical skills. This document introduces some aspects of the project and answers some common questions. More will be explained at the start of Semester 1 in Induction Week. This document is aimed at those who will be taking one of the Major/Minor Project modules in the coming year. Specifically, this information is for students taking the following modules:

• CS39440 - Major Project • CC39440 - Prosiect Hir • CS39620 - Minor Project • CC39620 - Prosiect Byr I normally refer to these modules as MMP. It is a convenient way to talk about the modules without using the titles and module codes.

Note: This information is not for students taking CS39930, Web-Based Major Project. Edel Sherratt will talk to students taking CS39930 to talk about that module. There is a session in Induction Week on CS39930.

Document Version 1.0

Page 3 of 12

About the Projects Projects fall into one of two broad categories: (i) Engineering focused projects, which have a problem to solve and proceed to specify requirements, design, implement and test solutions. (ii) Research focused projects, which identify one or more research questions and design experiments to test those questions. The majority of projects will fall into category (i), even if you are working on something related to the research area of a member of staff. We will explain this further in Induction Week.

Learning outcomes On successful completion of your module, you should be able to:

• produce a substantial piece of technical work, under the direction of a supervisor, but demonstrating self-discipline, organisation and initiative;

• demonstrate familiarity with the academic and industry literature on your chosen topic; • demonstrate the application of theoretical concepts in the technical work; • demonstrate an ability to gain expertise in your chosen topic of study, largely through selfdirected study;

• critically appraise your work, evaluating all aspects of your approach. At the start of the project, we will discuss the Assessment Criteria that will be used to assess your work against these learning outcomes.

Document Version 1.0

Page 4 of 12

Selecting Projects The project selection process is designed to allow an even distribution of students across the supervisors available for this year. The process should match you to a project that is suitable for your degree scheme and your interests. This section covers some common questions. The Induction Week session will cover some of these issues and provide you the opportunity to ask questions.

How do I select a project? A list of project topics will be made available from members of staff in the department. Any member of staff can suggest projects, even if they will not be the actual supervisor. Some of the topics will be specific and there will be a particular aim for the project. Other suggestions will be more open and there is scope to define a project by discussing the topic with the member of staff. For some topics, there may be scope to have more than one project based on the suggested topic. You will read about the topics and have the opportunity to attend sessions where staff can say more about the different topics. Mid-way through Semester 1 you will be expected to choose three possible topics. You will rank these in order of preference. We then try to allocate you one of these projects.

What do you mean by “a project that is suitable for your degree scheme”? If you are on a scheme other than the BSc in Computer Science or one of the BEng/MEng in Software Engineering, then your project should include a substantial element that relates to your specific degree scheme. For example, if you are on the BSc in Computer Vision, Graphics and Games, then your project should tackle a problem in this area and it should represent a significant portion of the work. It would not be acceptable to tackle some general data manipulation and then generate a bar chart as output. The term significant isn't precisely defined, but it would be unusual for this to be less than 50% of the overall project.

I am on degree scheme X, but want to do a project in Y. Can I do this? It depends. See the previous question. We would need to consider if your preferred project has sufficient relevance to your degree scheme. For example, if you are on an AI and Robotics scheme and you want to write something game-oriented, we would look at the type of game and how you are planning to incorporate issues from AI and Robotics.

I really want to work with supervisor X. Can I do this? The selection process is designed to spread the load of students across the available supervisors. Therefore, the rule is that you can only select one topic from the list suggested by a supervisor. You should focus on choosing topics that you find interesting. Whilst it is very likely that the person suggesting the project topic will supervise that topic, in order to make best use of the staff on the module, you might be allocated to work with a different member of staff on the same project topic. See information about the Project Confirmation, below.

When can I select my project? The selection process will start early in the first semester. We will have a meeting during Induction Week to review the process. You will have a few weeks to look at the project suggestions from supervisors.

Document Version 1.0

Page 5 of 12

Do I have to suggest my own project? No. Whilst you can suggest your own project, see the next question, it is typical that you will choose from ones of the projects suggested by supervisors when the list is available. Some of the project suggestions from supervisors can be quite general and they provide scope to define a project that meets your interests in a particular area.

I have an idea for a project. Can I work on this? It is possible for you to propose a project topic as one of your three selections. To do that, you will need to write a proposal and be expected to talk to have this reviewed to determine the suitability of the project. Your proposal will then be considered as part of the selection process once all projects have been submitted. Please note that even if we indicate that your proposed project is suitable in size and scope for the module, this does not guarantee that we will allocate it as your project topic, or that any particular staff member will supervise it. If your project idea is based on your experience in the Industrial Year, please see the IY section in this document.

When do we get confirmation of our project topics and supervisors? Once the project selections have been submitted, the Module Coordinator and supervisors will review them. During the confirmation stage, we are looking to match all of you with suitable projects and supervisors for those projects. It should be possible to match most of you with one of your three project selections. The aim is to complete this matching process before the Christmas vacation. Specific dates will be announced at the start of term. There is a limit to the number of projects that each staff member can take on. In the first instance, the staff member who suggested the project would be the likely supervisor. If a particular supervisor is over-subscribed, we will either (i) see if it is possible for another member of staff to supervise the project, or (ii) look at one of your other project selections. If there is a clash where several people have indicated a preference for one project, then we will need to make a choice about who will work on that topic. If it is sensible to divide the project up, we may discuss that with you. Otherwise, our decision will be influenced by factors including, but not limited to: (i) the suitability to your degree scheme, (ii) your interest in the project when you spoke to the staff member, (iii) whether you were motivated to select the project early or late in the process and, possibly, (iv) considering the suitability of the work for you based on your results on other modules. We may need to discuss any overlap in project selections with you before we reach the final allocation.

Document Version 1.0

Page 6 of 12

Someone said that we can't do web projects. Is that true? No. You can do web based projects. We can talk about that in the Induction Week session. People ask about the difficulty of projects, and we have said on occasion that this needs to be more than a collection of static web pages, for example. What we are trying to indicate that you need to make sure that you are tackling something substantial, no matter what area you are interested in. With any type of project, there is the risk that the project is not much more complex than we would see in the first or second year. If that is the case, how are you showing that this is the culmination of your study on your degree? More information about the “technical challenge" is available later in this document.

Document Version 1.0

Page 7 of 12

Industrial Year Students You might have one or more possible project ideas based on your Industrial Work Experience placement. Some of you have said that you have ideas and want to start talking with your managers about this, particularly whilst you are still at the company. This section provides some guidance on this. Note: Some of these questions would have been more useful to those on IYs earlier in the year. However, here are some common questions that I received.

Can my project be related to my Industrial Placement? Yes, that is possible subject to what has been said about the project selection process.

Can I discuss my idea with a supervisor before term? If you have an idea and want to talk about whether it is suitable and issues related to the company you are working for, please contact Neil Taylor as a first step ([email protected], 01970 621528, @digidol). This would be to help scope your discussion with your managers, but this is still subject to the selection process which will start at the beginning of term. A key thing to remember, and to make your managers aware of, is that the project runs from late January to around early May 2017. Therefore, there won't be deliverables from the project until that time. Also, there can sometimes be a tension between wanting something that a company can use, versus having something that meets the requirements for an academic project. This has worked out fine for other projects, and we find that companies are practical and generally understand these issues. However, it is always good to discuss this with the company.

Can I use some of my work from my placement? Possibly, but it might depend on what it is and how you plan to use it. We have usually found a way to make this work. We will be interested in how your project will take that work as a basis and then develop it in some way that is relevant for this module. If you have a specific example, please contact Neil Taylor.

It would be easier for me to start the work, whilst still here with my colleagues. Can I start early? Sorry, but no. If there is something you want to explore whilst you are still in your Industrial Year position, then why not work on it anyway? This might form a useful background piece of work for a project. We don't guarantee the project that you will work on, but we will be trying to match you to one of your three selections. The motivation is simply this - we are judging you on the work you undertake during January to May, i.e. Semester 2. That is the same as all other modules - the assessment is based on work done during the module.

Can I work on a project that is shared with another student? Generally these are separate projects. We have had a recent example where two students worked on a related topic, but both tackled a distinct area, e.g. an iOS application and a server backend. This is the exception rather than the rule. If you have a suggestion, then talk to us and we will explore the possibilities.

Document Version 1.0

Page 8 of 12

General Information This section covers more general topics related to the module.

Who owns the Intellectual Property Rights (IPR)? We have a statement on IPR for the work you produce on this module. This relates to the University’s general statement on IPR for undergraduate work. We will discuss this in the Induction Session.

How much code am I expected to write? Each project should have a substantial technical element, but some problems will require more lines of code than others. Some projects might be really hard to solve, but result in a smaller amount of code. Other projects may need a lot of code for the given topic. There is no specific guide, other than there should be a relevant amount of well engineered code to tackle the given problem.

What programming language(s) can I use? We don't have any rules about which languages you can use for the project. In fact, an early part of the project would normally assess possible languages and then select one that is suitable for the problem that you are working on.

Document Version 1.0

Page 9 of 12

Technical Challenge Each year, we get questions about what is a good size for a project - particularly for those of you who are considering suggesting a project topic. Sometimes those suggestions are a good fit, others might be very ambitious and there are others where we will discuss increasing the challenging. This section provides some guidance about what is an appropriate level of technical challenge for the project; this applies to all projects that are suggested by staff and students.

Project Size When thinking about a project idea, consider what might fit in a project where you will spend most of your time each week during Semester 2, from late January to early May. For those of you taking the 40 credit version, you will typically be taking CS38220 (Professional Issues) at the same time. There will be 3 hours of lectures a week for that module. You would also expect the usual extra reading and project work for that module. The rest of your time is expected to be spent on this project. It will be different if you are taking the 20 credit version. Proposals at this stage are looking to identify the main topics, but not all of the detail. Part of the project will be to determine the scope and adapt the expectations based on progress on the project. You can think about a working week of approximately 36.5 to 40 hours of effort. Use that as a guide to start, but we can talk more about that during term. As mentioned above, some project suggestions are too ambitious and aim to tackle a large topic. That might be interesting and a good fit, but in addition to the question of size we can discuss if the whole idea is the interesting part. Sometimes, there will be part of a project suggestion where there is a more interesting topic to look at for the purposes of this module. We might encourage you to cut out parts of the project so that you focus on the more interesting computation aspects. Choosing a project is typically a discussion - and shaping your own ideas will also involve a discussion.

Technical Issues This section will consider projects for games and internet applications; these are for illustration and we could equally say similar things about other project suggestions. It is not uncommon to receive a games proposal such as "A 2D game, similar to X", where X is a game from 10 to 20 years ago. There are other variants of this statement, but the core of the proposal is a game with sprites, rectangle based collision detection, some levels read in from a file and probably some sound. For internet applications, an example proposal is "A internet site to show product information". There would typically be some server side code, e.g. PHP, that generates HTML for each page. Data is stored in a small number of tables in a SQL database. Such projects are less exciting for a major project. The 2D games may be fun to play and the internet sites are a starting point, but we need to keep an eye on the technical challenge for the project. It isn't uncommon for us to think that the proposed 2D game or internet application is something that is already well described in books and on websites; if you wanted to learn how to undertake such work, you could just buy the book or read the site and work through it. So, whatever project you are interested in, we will ask what makes it interesting and novel. We will ask what is computationally interesting about the idea with respect to your degree scheme. To help provide some guidance about how you can enhance projects, here are some suggestions for games and internet projects. Whatever your project, think about questions suitable for the topics you are considering.

Document Version 1.0

Page 10 of 12

For games projects, you might consider:

• The use of alternative sensors to drive some or all of the game. Including touch, accelerometers, compass, kinect or the camera.

• Peer-to-peer multi-player apps that communicate over wifi/bluetooth on mobile devices.

How do you keep the game play synchronized? Are there performance issues? If so, what are they and how do you overcome these?

• Can it be a game that uses augmented reality as part of the gameplay? Is it a case of the player in the real world against monsters in the digital world?

• Rather than having configured levels loaded from config files, could the game automatically

generate levels - maybe taking into account the location of the player or some other input relevant to the game?

• What role could cloud technologies play if you were having a larger scale game with many players? How would you test this without having lots of people available?

• Is there a business aspect, e.g. related to a business, where the game is one aspect but you also need tools to help manage the game?

• You may also take on work in a language this is relatively new to you, e.g. C++ or C#. For internet-oriented projects, you might consider:

• How can you separate the display of data from the code the controls the data? How do you

process user accounts? At the least, you might use a template engine such as Smarty on a PHP project, or for more advanced use you may use a framework such as CakePHP (or one of the many others available). The same would apply for systems developed in other languages.

• How will the data be structured and stored? In most cases this may mean using a

database, e.g. MySQL, but other choices are available. Think about these choices and evaluate the relevance of them to your project.

• Is there any relevance for data interaction between your application and other data

providers? Alternatively, could your application provide data to others? At a basic level, this may mean the use of RSS feeds, but maybe technologies such as SOAP and REST web services are also relevant.

• Is it appropriate to experiment with more recent technologies such as Javascript

applications where the majority of the application is managed in the client rather than on the server? Are there Javascript libraries to evaluate on the project before selecting something appropriate for the task?

• Will you make use of AJAX when building your application and interacting with the server? • Is there any relevance of cloud technologies for your project? If so, how can these be used?

• Are there technologies you could learn, e.g. a new programming language or platform, as part of the work?

These lists aren't definitive and we don't expect you to have the answers now. The lists are prompts for you to consider other aspects that will enhance an idea and the fit for your degree scheme. When we open up the project selection process, speak to us to bounce some ideas around.

Document Version 1.0

Page 11 of 12

No matter what your scheme is, also think creatively about the project suggestions from supervisors. For example, there are web-oriented applications that link to bio-informatics work; such applications will allow you to explore items such as the semantic-web and web services, or vision projects that need a web front-end to manipulate data.

Any questions? If you have questions, the Induction Session is a good place to ask them. Of course, you are welcome to contact Neil to discuss your questions.

Document History Version

Modified by

1.0 Neil Taylor

Document Version 1.0

Date

Comment

15th September 2016

Initial version. Based on information from previous years.

Page 12 of 12

Suggest Documents