Doing a CSE Thesis
(viewing version)
Doing a CSE Thesis
(A collection of ideas to make it more effective)
Convenor: John Shepherd, jas@cse.unsw.edu.au
Rationale
In the past,
- CSE 4th-year theses have been introduced primarily by a set
of requirements
- I've spent hours giving each of my students, individually,
advice about doing their thesis
Doing a thesis has enough general principles that
- regardless of the topic of the thesis
- I've been saying much the same thing to each student
There's a clear need for more info about how to do a thesis.
Goals of Lectures
The goals of this small series of lectures:
- describe the general process of research/development
- discuss the specific requirements for a CSE thesis
- show how to go about achieving these effectively
At the end, you should be able to
- understand precisely what's required of you
- produce a better result (project, report and seminar)
- use your time more effectively
Topics
In these lectures, we'll talk about:
- goals/requirements of 4th-year thesis
- the process of doing research/development
- getting started on a project
- writing the literature review
- preparing/delivering the seminar
- evaluating your work
- writing the final report (thesis)
- relationship with supervisor
Goals/Requirements of Thesis
Aims of the 4th-year thesis:
- give you exposure to research/industry topics
- give you experience in tackling a sizeable project
- allow you to "put together" what you've learned
Requirements:
- seminar (project overview + plan) (S1, week 12) (5%)
- report (literature review + plan) (S1, week 12) (5%)
- thesis (project + evaluation) (S2, week 14) (90%)
Why a Thesis is not an Assignment
A thesis is significantly different from an assignment:
- it is, typically, open-ended
- there is not a obvious single "correct" answer
- you have more say in the direction the work takes
- it has a much longer time-frame
- you need more self-discipline to get things done
- you have more responsibility to plan your progress
If you're still in "assignment mode", break the task into
small assignment-size steps and treat each one as an assignment
(but, alas, no late penalty).
Different Types of Theses
Theses have been classified into:
RES |
|
carry out a small focussed piece of research
|
DEV |
|
build a piece of software or hardware
|
R&D |
|
combination of the above two
|
COR |
|
smaller scope, for pass-level students
(can be any of the above three styles)
|
Expectations for each type are slightly different (see later)
What is Research?
Activity that advances the store of human knowledge, e.g.
- explaining a previously unexplained phenomenon
- developing techniques to do things better
- proposing a new viewpoint on a cultural system
- proving a theorem
Scientific/engineering research follows the "scientific method":
- Observe ... Hypothesize ... Test ... (repeat)
... What is Research?
Example: astronomer discovering rotating star pairs
Observation:
- individual stars that appear to pulsate/change
(changing brightness, different spectra at different times, ...)
Hypothesis:
- such "stars" are actually rotating pairs (intuition)
Test:
- examine stars using different instruments
(e.g. very powerful optical observation to reveal individual stars)
ICT Research
Writing a piece of software, no matter how complex, isn't
generally regarded as research in itself.
However, it would be considered research if
- it uses a new method/algorithm/data structure
(the new method must be demonstrably better than earlier approaches)
- it solves a problem not previously solved by computer
(will typically involve development of new methods, anyway)
... ICT Research
Example: devising a new database indexing method
Observation:
- queries of type Y are not efficient with existing methods
Hypothesis:
- my new method (X-trees) will handle Y queries better
Test:
- analyse computational complexity of X-trees for Y queries
- build an X-trees indexing library, test on a variety of data
... ICT Research
Evaluation of ICT research:
- solves existing problem more effectively than before
- solves a wider range of problems than before (generalises)
Demonstrations of effectiveness follow two tracks ...
Theoretical, e.g.
- analyse complexity, prove upper/lower bounds, ...
Experimental, e.g.
- build prototype; measure performance on range of data
What is Development?
Construction of artefacts/processes based on research results.
Implicit notion that new constructions are better than existing.
There is still a research component:
- you must demonstrate effectiveness
- you must analyse and describe limitations
ICT Development
Aim: build a system to meet a demand or solve a problem.
May involve developing software, hardware, or a combination.
The goal is clearly to build the system, but you must also:
- follow a (software) engineering methodology (and document it)
- provide a demonstration that the system works effectively
- note any remaining problems and limitations
... ICT Development
Characteristics of effectiveness are problem-dependent, e.g.
- time and space, for most ICT projects
- bandwidth utilisation, for networks
- usability, if there's a user interface
- accuracy (precision/recall), for web search engines
Must use appropriate evaluation instrument for project.
Must be honest about effectiveness (even negative results are useful).
Doing Research
The process is an elaboration of "observe/hypothesis/test":
- understand the broad topic area
- establish an evaluation framework
- look at what others have done and evaluate
- find an area of "weakness" in existing work
- devise a solution
- evaluate the effectiveness of the solution
Hint: document all parts of this process as they are done.
Reporting Research
Reporting follows, more or less, the steps in the process:
Introduction |
| sell the topic, summarise aims |
Background |
| set the context, review literature |
Own Work |
| what have you done, exactly |
Evaluation |
| convince us that it's good |
Conlusion |
| summarise achievments (and failures) |
... Reporting Research
Introduction:
- outline the topic area, significance, originality, ...
- give overall aims of your work, summarise contribution
Background:
- describe the problem you are trying to solve in detail
- establish evaluation framework (how to recognise a good solution)
- describe and evaluate what others have done already
... Reporting Research
Own Work:
- describe your proposed method/approach in detail
Evaluation: (experimental)
- describe evaluation process (what are you measuring, how, why)
- report and discuss results of evaluation
Conclusion:
- summarise what you achieved
- and what you didn't achieve ... and suggest how to fix it
Doing Development
Has similarities to research ... but like "observe/build/test":
- understand/refine the requirements
- establish an evaluation framework
- look at what others have done and evaluate
- look at what methods are available, and choose
- devise a solution (implement system)
- evaluate the effectiveness of the solution
Hint: document all parts of this process as they are done.
Reporting Development
Reporting follows, more or less, the steps in the process:
Introduction |
| sell the topic, summarise aims |
Background |
| set context, evaluate approaches |
Own Work |
| what have you done, exactly |
Evaluation |
| convince us that it's good |
Conlusion |
| summarise achievments (and failures) |
... Reporting Development
Introduction:
- outline the topic area, significance, benefits ...
- give overall aims of the project
Background:
- describe the problem you are trying to solve in detail
- establish evaluation framework (how to recognise a good solution)
- describe and evaluate what others have done already
(?)
- evaluate possible implementation methods/approaches
... Reporting Development
Own Work:
- describe implementation process (SE) and final product
- if it has a user interface, give a tour of this
Evaluation:
- describe evaluation process (what are you measuring, how, why)
- report and discuss results of evaluation
Conclusion:
- summarise what you achieved
- and what you didn't achieve ... and suggest how to fix it
Getting Started
What you should be doing as soon as you have a topic:
- thinking about the topic ... understand all aspects, etc.
- finding out what others have done before (Google)
- considering what's need to evaluate your work
(don't bother considering evaluation-by-bluff ... it doesn't work)
- making notes on everything that you look at/think about
- set up a thesis web site? (for holding the notes)
- meeting your supervisor and find out what they expect
- establishing a consistent Thesis working pattern
Do all of this before week 6 and assignments get heavy.
Produced: 5 Mar 2004