Plan your thesis (possibly, talking with potential supervisors):
- Determine the type of thesis (i.e. the kind of work you'd like to carry out)
- project (tesi di progetto)
- research (tesi di ricerca)
- report (tesi compilativa) -- i.e., no project, no research, but a mere reportage/elaboration of existing material
- Determine your subject:
- project idea (for project-oriented theses)
- scientific/research question (for research-oriented theses)
- subject (for report-oriented theses)
- Try to devise a plan, e.g.,
- in terms of mandatory goals and optional goals
The suggestion is to carry out an iterative, incremental, agile approach. In each cycle (approx. 1 or 2 weeks):
- Work on your project/research (an increment)
- Report your increment and discuss it / next steps with your supervisor -- then back to (1)
- See next section
Suggestion: keep the raw material about your work under version control in a repository (e.g., on GitHub)
- Use distinct repositories
- notes (e.g., on background, on literature reviews)
- experimental activities (e.g., to learn a new framework or library)
- the main development project or the research project artifacts
- the thesis document (ideally, in LaTeX)
- You may also consider to use an app to keep track of tasks and progress (e.g., Trello)
- Share those with your supervisor. When reporting progress to your supervisor, provide a link to a proper page/artifact describing the increment.
Typical steps
- Before writing the thesis document, you need your thesis content: it means, you need to have a rather stable software for a software project thesis, experimental/scientific results for a scientific thesis, a conceptual framework for a etc.
Once you have enough material to actually start writing your thesis
- Define the high-level structure (i.e., the Sections) of the thesis
- You may optionally start writing the background content, as it may serve to make it explicit and fully understand it in order to develop the contribution
- Complete the main content (contribution, experiments)
- If technical developments and experiments are needed, wait to have them done: this part of the thesis is a documentation of what you have achieved (i.e., the final system, the experimental results etc.).
- Write Title, Introduction, Conclusion, and Abstract
Once you have written significant increments of your dissertation, consider asking feedback to your supervisor. Send your supervisor a PDF (possibly, a diff wrt the previous PDF you shared -- e.g., using tools like Draftable).
A good structure is as per the project exam report of the OOP course at UNIBO Cesena Campus: https://github.com/APICe-at-DISI/OOP-report-template
- Introduction
- Background
- Here you may want to provide some background on tools / processes you considered or adopted
- Analysis
- High-level goals
- Constraints
- Functional and non-functional requirements
- Requirements analysis
- Problem analysis
- Domain model
- Design
- Architecture
- Detailed design
- Implementation
- Implementation highlights
- Evaluation
- Testing
- Experimental evaluation / demos -- the idea here is to provide evidence, possibly using quantitative metrics (but, sometimes, even qualitative metrics could be ok)
- Conclusion and Future Work
- Bibliography/references
Important: in your dissertation, you should also provide a link to the main project's artifacts (ideally from a permanent repository like Zenodo which well integrates with GitHub).
Various structures could work. For instance:
- Introduction
- Methods and Materials
- Results
- Discussion
- Conclusion and Future Work
- Bibliography/references
Or also:
- Introduction
- Motivation, Background, and Related Work
- Contribution
- Evaluation
- Conclusion and Future Work
- Bibliography/references
Note: you may also detail the section titles to match the actual content, e.g.,
- Introduction
- Background and Motivation: CAS Programming
- ScaFi: a DSL for CAS Programming
- Case study: Programming Swarms
- Related Work on CAS Engineering
- Conclusion and Future Work
- Bibliography/references
Notice that sometimes, section "Related Work" might also fit at the end of your manuscript.
- Abstract
- Very brief (e.g. 250-300 words)
- Abstract should briefly point out: Context, Problem/Objectives, Methods/Contribution, Results, Conclusions
- Introduction
- Introduction should set: Context, Scope, Significance (Motivation), Goals/High-level Questions, Methodology (briefly), Organisation of the paper (chapters and what they include)
- Conclusion
- Conclusion chapter should point out: (1) Briefly recall problem, starting point and methods adopted, (2) Briefly report Findings, (3) Briefly discuss benefits/limitations, (4) Discuss Future Work
-
DON'T reuse material without citing the source
-
DON'T write personal stuff in your dissertation (even in the Conclusion)
- Your thesis is a technical document
- No reader would care about whether e.g. you got limited results because you had little time to work on your project, or because of your limited background on something.
-
DON'T write using informal language
- E.g., avoid contractions like
don't
,We're
, ...
- E.g., avoid contractions like
-
DO check whether you have the rights to reuse material from some source/author
-
DO consider consulting a writing style guide
- Q: When to start writing?
- As soon as you have stable results to report.
- You may start early writing the background.
- Wait for results to be stable to write the bulk of your thesis (as the actual implementation is usually the most costly and time-consuming part of the job).
- Write introduction/abstract/conclusion at last.
- Q: What tool to actually write the thesis?
- Use LaTeX
- Q: How to check for typos and grammatical issues?
- NOTE: it is not a responsibility of the (co-)supervisor to find or fix these
- Consider using tools like LanguageTool for spell and grammar checking
- Clone or (better) fork this repository
- Open
thesis.tex
with a LaTeX editor (e.g.,Kyle
orTeXMaker
) - Compile
thesis.tex
withbibtex
andpdflatex
to produce the PDF of your thesis - Start writing your thesis, and commit/push often
See these video lectures by Ciatto.
What is a thesis and what to expect about it (see also this]
- IN GENERAL: "A thesis identifies a question on a topic that relates to your degree program, which you then have to answer with a sensible argument, using credible research and findings."
- Kinds of thesis in Engineering Degrees
- Project thesis: the thesis documents an engineering project
- Research thesis: a coherent and cohesive narrative describing a body of scholarly activity that adds to knowledge
- WHAT IS A THESIS FOR YOU: A thesis is a good chance to exhibit your technical skills (competence in the matter of study) and soft skills (e.g., autonomy, proactiveness, creativity) on a problem that you like and want to address in a field/area you want to explore
- The student is responsible for
- the content of the thesis and its final quality
- ensuring bureaucratic stuff is carried out by the deadlines
- The (co-)supervisor is responsible for
- providing guidance and support
- Note: your thesis is yours.
- Your supervisor can help you with that, but he/she is not a proofreader. So, your thesis is not something that "has to be checked/corrected" by someone.
- However, ask for advice, especially for the most important issues (e.g., goals, dissertation structure), early.
- How often should I contact my thesis (co-)supervisor, for what, and how?
- As often as agreed with the (co-)supervisor.
- A typical frequency is once every one or two weeks, or as often as there are significant increments.
- You should contact your (co-)supervisor for "important" stuff and "strategic" decisions, rather than implementation details.
- If you have minor questions and doubts, wait enough time to have a batch of these, and pose all the questions, numbered, in a single e-mail.
- As often as agreed with the (co-)supervisor.
- What if I have a blocking situation that prevents progress?
- If it is a technical issue, spend some time exploring for solutions. If you can't find a solution, contact your (co-)supervisor, with a detailed mail explaining the problem, your tentative solutions, etc.
See also the thesis template by Ciatto.
Infos on structuring phd theses:
- http://www0.cs.ucl.ac.uk/staff/c.clack/phd.html
- http://people.kmi.open.ac.uk/stefan/thesis-writing.pdf
-
- Introduction 2) Motivation 3) RW 4) Experiments 5) Conclusions
-