Title: Developing a product based MSc Dissertation
1Developing a product based MSc Dissertation
2Outline
- Why create a product
- What a product based dissertation requires
- Examples of products
- Scheduling product development
- Development hints
3Why create a product
- Depends what you want out of this stage in your
MSc - Opportunity to develop software development
skills - Analysis
- Design
- Implementation
- Gives a specific focus to your dissertation
- Something to put on your CV
4What a product based dissertation requires
- Rationale
- An explanation of why the product is worth
developing - Development
- A discussion of alternative possibilities and the
decisions made in specifying, designing and
(perhaps) implementing the software - Evaluation
- A critical evaluation of the product
- How well it meets the rationale
- See Tonys presentation
5Example of a product
6Pascal Trainer Demo
- Demo
- It might look nice but
- is it suitable is for an MSc dissertation?
- Questions to be asked
- Does simulation improve learning and teaching?
- Has someone else produced something like this
already?
7Pascal Trainer Research Questions
- Can a simulator improve student learning of
programming? - Can this simulator improve student learning of
programming?
8Answering the research questionRationale
- Literature review of use of simulators in
teaching and learning programming - Find out what kind of approaches have been tried
before and how successful they were. - Identify reasons for success and failure
- Identify where improvements could be made
9Answering the research questionDevelopment
- After deciding what your product should do now
you decide how it is going to do it - Identify and document alternative strategies
- HCI issues what should it look and feel like
and why - Development environment issues (e.g. Visual Basic
or Java or Visual C). Which one and why.
10Answering the research questionDevelopment
- Document issues arising during development where
alternatives had to be assessed and decisions had
to be made - E.g. use of data structures
- E.g. use of algorithms
- You need to justify decisions using academically
credible literature
11Answering the research questionEvaluation
- Once the product is developed you can now apply
the techniques discussed by Tony in his
presentation to find out if it does meet the
goals set in the rationale. - H0 this product does not improve the situation
- H1 this product does improve the situation
12Development issues
- You do not have much time
- You may be over ambitious and so you may end up
with - design only
- design plus partial implementation
- You may try to do something in an area you know
nothing about - You may try to use languages and software tools
you are not familiar with
13Development guidance
- Choose something you are already interested in
- Use tools and languages you are familiar with
unless - .. a prime aim of your dissertation is to learn
a new language or API (e.g. OpenGL)
14Development guidanceDivide and conquer
- Partition product development into components
- E.g
- the graphical interface
- data entry
- data output
- processing
15Development guidanceDivide and conquer
- Accept that no matter how many hours you put in,
it will never be finished - Identify the order in which you should tackle the
components
16Development guidanceDivide and conquer
- Put the component which is key to your product
(often the novel and perhaps hardest part) first
in the list. If you cannot get that to work then
the rest is a waste of time. - Start in the middle and fight your way out.
17Development guidance
Fancy input
Processing
Fancy output
- If the processing is the important part of your
product, use temporary input and output while you
get that processing right.
18Development guidance
File input
Processing
File output
- For the input, use a text file that is read at
run-time by your developing program - For the output, have your developing program
generate a text file containing the results of
processing
19Development guidance
File input
Processing
Expected file output
File output
Compare
- Create by hand the file you expect your program
to produce - Compare this with what your developing program
produces
20Development guidance
File input
Processing
Expected file output
File output
Compare
- You are developing a test suite
- Using file I/O forces you to think carefully
about the structure of your program
21What part of your product you need to submit
- The design
- The crucial, innovative part of your source code
in an appendix - CD containing your product in an installation
(see Inno web site (http//www.jrsoftware.org/isin
fo.php) for free installer software to help you
build an installation).
22Remember
- The key to your dissertation is the research
question - The product is merely a vehicle for a research
question
23Other examples of products
- Educational
- Three bit
- Time map
- Builder
- Industrial
- TrcrView
What is the research question in each case?
24Research questions
- Three bit
- Can a simulation really enable non-technical
student to understand the inner workings of a
computer system? - Time map
- Can software improve the learning and teaching of
historical developments? - Can software improve the understanding of events
such as battles and campaigns?
25Research questions
- Builder
- Can 3D modelling be done successfully without
considerable amount of expertise. - TrcrView
- Can visualisation improve the understanding of
time series?
26(No Transcript)