首页 > > 详细

辅导CO7201讲解C/C++

CO7201 MSc Individual Project
Study Guide 2019/20
Convenor: Dr John Drake (CA7201, CB7201, CC7201)
Department of Informatics
University of Leicester
April 7, 2020
Foreword from the MSc Director
The project is, for many students, the highlight of their MSc Course. So far much has been taught
through courses with associated exams; in that sense it is probably been similar to your undergraduate
studies (though hopefully a little bit harder and more challenging!). At the stage of reading this, you are
embarking on the challenge of a large-scale full-time project, possibly for the first time in your career.
Projects start with the selection of an appropriate topic, this requires thinking about what you would
enjoy doing and discussion with members of staff. There are no right or wrong projects; neither are there
harder or easier projects. It is important that you find something that you will enjoy doing; of course this
ties in with the skills and techniques that you learnt during the taught part of your MSc programme. We
endeavour to publish project topics very early, so that you have plenty of time to talk to staff members
and think about this before having to commit to a choice.
The bulk of the project occupies 3 months of full-time work cumulating in a written final report, and
possibly some software or research results. We know that 3 months seem a long time when you set out to
start on a project, especially with no predefined idea as to how you will spend this time. Rest assured that
this will be quite a busy time for you; we can only encourage you not to leave things for later, thinking
that the deadline is quite far away - you will find that time flies. You will see that we encourage you to
be careful in planning your project and we have given you some intermediate milestones to achieve.
We hope that you will find this study guide a useful resource at all stages in the project - it is meant to
be more than just rules and regulations: it is a guide to help you get the most out of the project, covering
aspects ranging from what a project is all the way through to what individual pieces of work should be
contained. Study it carefully at the onset of the project, and come back to it whenever you need some
advice.
We hope that this last building block towards your MSc Degree will be an enjoyable experience.
1
Contents
1 Module’s Aims, Learning Outcomes and Useful Resources 3
2 Project Phases 4
2.1 Characterisation of Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Project Workload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Project Organization 7
3.1 Administration and Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 The Role of the Student . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 The Role of the Supervisor and Second Marker . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Progression checking and Submissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Important Dates and Deliverables 9
4.1 Project Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Supervisor Meetings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Preliminary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Interim Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.5 Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6 Final-report Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.7 Final Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.8 Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Format and Structure of Documents 14
6 Plagiarism 15
7 Feedback 16
8 Late Submission of Deliverables 16
9 Mitigating Circumstances 17
10 Notification of Illness 17
2
1 Module’s Aims, Learning Outcomes and Useful Resources
The aim of this module is to demonstrate a student’s ability to undertake a substantial investigation of
a technical problem and its domain, by evaluating tools and methods, and by developing a professional
information technology project; also, it intends to give students the opportunity to
• show individual creativity and originality;
• manage their own time and their progress towards completion of the project;
• analyse information from a critical point of view;
• apply, where appropriate, and go beyond, where necessary, the knowledge and skills taught through-
out the course;
• investigate/solve new and/or intellectually demanding problems (from specification through imple-
mentation and critical evaluation of results);
• conduct and sustain a complex argument in a coherent and lucid fashion.
Among other transferable skills, students will improve the following skills: solving practical and abstract
problems, communication, writing, editing, searching/gathering/evaluating information, developing eval-
uation strategies and managing time.
The main learning outcomes of this module are to initiate, plan, manage and deliver a substantial
information technology project. Upon successful completion of the project, students should be able to:
• select suitable methods and tools for analysing a substantial problem and for developing a computer-
based solution for it, within known constraints;
• access, retrieve and organize information relevant to the problem under study by making use of
resources such as the internet and textbooks, but also of scholarly articles published in journals and
conferences;
• prepare a project plan, follow it and conduct regular reviews of the plan and update it;
• present a properly referenced, well-structured final report, in a format suitable for professional
dissemination;
• communicate effectively in a presentation environment;
• perform a critical reflection of the achievements in the project after its completion.
The following book describes the main elements that are involved in the development of an information
technology project. It provides resources to develop the aforementioned skills:
Christian W. Dawson. Projects in Computing and Information Systems: a Student’s Guide.
Addison-Wesley. 2nd edition. 2009.
The resources referenced through this study guide and relevant for the project are collected below.
1. Calendar: https://campus.cs.le.ac.uk/teaching/resources/CO7201/#calendar
2. SVN Local Pages: https://campus.cs.le.ac.uk/labsupport/VCS/VCS
3. MSc Course handbook: https://campus.cs.le.ac.uk/ForStudents/handbooks19/MScStudentHandbook2019-20.
pdf
4. Information about plagiarism: https://campus.cs.le.ac.uk/ForStudents/plagiarism/
5. Student Learning Centre: http://www2.le.ac.uk/offices/careers/ld
3
6. Enhancing writing: http://www2.le.ac.uk/offices/careers/ld/resources/writing/index
7. Presentation skills: http://www2.le.ac.uk/offices/careers/ld/resources/presentation/index
8. Logos of the University of Leicester: http://www.le.ac.uk/corporateid/new/logos/
Important: The University of Leicester does not allow such logos to be modified (cut, resized,
reshaped, change colour etc.). Therefore, if you want to include logos in any of your documents
(presentations or deliverables), do not modify them.
2 Project Phases
To fulfill the requirements of the MSc degree, an individual project must be undertaken full-time by the
students who passed the taught component of the MSc programme. Please refer to the MSc handbook
for further details of progression rules.
The project is taken full-time for a period of 12 weeks (Summer) or 13 weeks (Autumn and Spring).
Students who finish the taught part of the MSc programme are expected to undertake her/his project.
Students will be taking the project in one of the following three periods according to their own individual
circumstances:
• from October to January – for students who are returning from an industrial placement too late
for a June start.
• from June to September – for students who started the previous year in October or coming back
from an industrial placement.
• from February to May – for students who started the previous year in January or coming back from
an industrial placement.
Students who have to resit several of their taught modules may be told to take the project in a period
that matches the schedule of their resits.
Projects are carried out under the supervision of a member of the academic staff.
The project consists of the following phases:
• Announcement of topics: A list of possible topics will be made available before the start of
the project. For each topic, the information will include a provisional title, a short description, the
name of the supervisor and a list of MSc programmes for which the topic is suitable. The student
has to take a topic in the field of her/his chosen MSc course. Before selecting a topic from the list,
a student should discuss its details with the corresponding supervisor.
Students can propose their own topics and seek a suitable member of staff to supervise them,
provided that the MSc project convenor approves the topic. The project must be clearly at post-
graduate level (cf. Section 2.1). The proposal should take a similar format to the topics proposed
by staff.
• Topic registration: As mentioned above, there are two types of topic registration:
– Staff topics: Students may choose up to four projects through the project registration
system. Chosen projects should be ordered by preference, with the student’s first choice
appearing first in the list of selected projects. Only two topics with the same supervisor can
be chosen and at least three different supervisors. We will make every effort to ensure that
you are allocated one of your choices. However, students do get allocated their fourth choice.
Choose wisely!
– Student proposal: A student can propose a project to a supervisor. After an agreement with
a supervisor and the module convenor, the student has to give a signed registration form
to his/her supervisor. In this case, students need to contact a supervisor early before the
registration deadline in order to start the discussion of the project. Students should reach
4
an agreement and submit the signed proposal by the corresponding registration deadline. In
this type of registration students shall not select projects through the registration system.
Choosing a topic implies committing to it so that a choice cannot be changed after the deadline.
Bear in mind that a topic can be allocated to a different supervisor from the one stated in the
proposal.
• Topic allocation: Topics are allocated to students by taking into account students’ preferences
and supervisors’ availability. Students who do not discuss topics with supervisors will have lower
priority in the allocation process of the corresponding topics. Being first or last to talk with a
supervisor does not affect your chances of being allocated that supervisor. Supervisors’ consent to
supervise you does not mean that they actually will.
• Project description: A project description form has to be submitted once topics have been
allocated.
• Official start of the project (week 1): The student then arranges for regular meetings (usually
held on a weekly basis) with her/his supervisor. Weekly meetings take place until the end of the
project.
• Preliminary Report (week 2): The student submits a preliminary report.
• Interim report (week 6): Students submit an interim report.
• Interview (week 7): An interview with the second marker takes place during week 7 and has
to be arranged by the student. The student should explain what has been studied and developed
until that point. During this week, a meeting with the supervisor usually does not take place.
• Final Report Template (week 8/9 (Summer/Autumn and Spring)): Students submit a
template of the final report. The template must include a detailed literature survey relevant to the
project and a detailed outline of the final report.
• Completion (week 12/13): Final report and all project materials are submitted.
• Viva (week 13/14): Students give an oral presentation, show their software and answer ques-
tions.
Each phase is described and assessed as detailed in Section 4. Deadlines are reported on the Google
calendar (1).
2.1 Characterisation of Projects
This section specifies the requirements that an MSc project must have. Although a project does not need
to yield substantially original results (e.g., design of a new algorithm, or state and prove new theorems), it
is expected to contain some element of original work (e.g., study a known algorithm under more restrictive
hypothesis, specify a new validation technique, perform a comparison among techniques or tools). The
project may include the development of a substantial computer-based system, but may also be purely
theoretical.
A project must include practical and/or theoretical results obtained by the student and cannot be mainly
a review of literature. For example, converting an application available in C++ to Java or replicating an
existing network simulation experiment are unacceptable topics for a project.
Projects have been categorised into three main types, software development projects, technical
projects and theoretical projects. Please keep in mind that these classes are not disjoint. Namely, it
is possible that a project lies in the intersection of two types or all of them. The following descriptors
are meant to guide the characterisation of the projects.
I. Software development projects. These are projects where the main contribution is developing a
significant software system. Typically, the project requires the student to use her/his creativity
5
in modelling/developing a non-trivial software system. Although a software product is the main
result of projects of this type, the development process (software development tools/techniques,
appropriate methodologies/architectures) is relevant.
Typical challenges are that: technologies used are novel or just emerging (just being new to the
student is not enough!); novel development methodologies are employed; or technologies are used
in an innovative way.
II. Technical projects. These are projects with an experimental flavour where the main contribution
is the use/extension of existing techniques or tools for studying/analysing a substantial problem.
These projects may also involve software development. However, their main focus is on the use of
existing tools/techniques. Typical challenges of these projects are the complexity of the problem to
study. For instance, studying the correctness of the authentication protocol Kerberos by formalising
it and its properties in FDR (a CSP model checker). This project is challenging because it requires
understanding how to model protocols with process algebras for verification purposes.
III. Theoretical projects. Their main contribution is of theoretical nature, e.g., extending a formal
modelling language, enhancing an existing algorithm and proving its time and space complexity,
etc. Such projects need not include any software development. However, they require an accurate
and abstract understanding on how software is designed so that strong mathematical skills are
recommended. Challenges in projects of this type usually involve the interpretation of a software-
related problem as a mathematical, abstract problem and the application of suitable mathematical
theories and tools to solve them. For example, developing a more efficient network routing algorithm
or a modelling language that allows to model new classes of software using an algebraic approach.
The following examples gives a description for each class of project:
I. Course Information Manager
The department runs a number of modules, each convened by a member of staff. Throughout the
year, certain tasks have to be conducted for managing courses. Such tasks include the generation
of study guides, module forms and websites, as well as providing material on websites as the course
progresses. Each of these tasks might be small, but they do take a considerable amount of time.
The project requires the student to develop a system that automates these tasks so that staff can
manage them more efficiently. This project will make use of service oriented computing to obtain
a high degree of loose coupling and extensibility.
II. Model-based Testing of Service Oriented Middleware
Usually, services-oriented middlewares are informally specified through textual descriptions. This
leads to incomplete/ambiguous semantics that often lead to inconsistent implementations.
In this project UML and graph transformation techniques are combined for modelling middleware
platforms starting from their informal description. Moreover, the project requires the student to
develop concepts for testing implementations of these platforms against their executable specifica-
tion. As a typical use case, a core part of the BPEL4WS execution engine should be modelled with
graph transformations. Such a model will then be used to test an existing Java implementation of
this standard.
III. Task Allocation Problem
A task is an activity that an agent can perform in a finite amount of time. Given a list of tasks
and a list of agents such that each agent is able to undertake each task in a finite amount of time
(different agents perform the same task within different times), the problem is to find an optimal
allocation of tasks to agents so that the completion of all the tasks is performed in the minimum
amount of time.
In this project an algorithmic solution for a task allocation problem will be developed. The specific
allocation problem will be identified with the student. There are certainly various ways of tackling
these problems: classic exhaustive search based on heuristics, or probabilistic approach.
6
2.2 Project Workload
Working on the project is like doing a challenging full-time job for 3 months. 450 hours of self study are
allocated to this module since it carries 60 credits. This corresponds to the amount of effort that has to
be put in four taught modules, including private study and preparation for exams. Students should put
the right amount of effort in the project from the beginning to ensure they will be able to achieve its
objectives. If a student sees that (s)he is failing to spend the amount of hours needed, the student should
take an action to bring her/his project back on track.
Students must reside in Leicester or within easy commuting distance of the city for the development of
the project. Students are required to attend lectures and practicals as specified in the module timetable
(Google calendar) or as communicated by the MSc project convenor.
In case of any mitigating circumstances, the normal departmental procedures should be followed and the
appropriate form must be submitted. Further information about illness and mitigating circumstances is
in Sections 9 and 10.
Requests for absences of more than one week must be explicitly approved by the MSc Director, and
will only be granted if the Department is in agreement with the proposal, and if the student concerned
takes full responsibility for the completion of outstanding academic work. This procedure also applies if
the absence is required for religious reasons, but as students are required to notify the Registry at the
beginning of each academic year if there are likely to be religious reasons for any absence during that year,
academic departments and administrative offices are expected to utilise this information pro-actively, so
that any specific religious needs can be anticipated and, where practicable, met.
3 Project Organization
This section describes how the project is organized/run and how students, project supervisors and the
module convenor communicate. Progress monitoring mechanisms are described as well.
3.1 Administration and Communication
This study guide is the main reference for the project. Students will also receive information about the
project module in other ways:
• The convenor may send emails on logistics (e.g., where/when lectures take place) and deadlines.
• Deadlines and dates are reported on the Google calendar (1)
• Supervisors give guidance and solve specific questions about the project during meetings.
3.2 The Role of the Student
The project is required to be entirely the students’ own work, and it is their responsibility to ensure its
quality.
Students are responsible for:
• Reading and understanding the study guide.
• Checking University email on a regular basis.
• Engaging with the project in a pro-active and reflective way, planning tasks on a regular basis and
discussing ideas, queries and plans with the supervisor.
• Attending meetings on a regular basis.
• Meeting deadlines (consult the Google calendar and take note of the deadlines).

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!