I am now (after Tue, 13 Jun 2023, 3pm) an Associate Professor at NUS School of Computing and this page contains my tips for surviving PhD journey (2004-2010).
This page is revisited for AY24/25 NUS PhD cohort and is the full version of the short 20 minutes summary talk that I present at RISE (Resources, Inspiration, Support, and Empowerment) 2024, on Monday, 26 August 2024 at NUS Shaw Alumni Foundation House.
Most of the original content that I had written ~15 years ago are still true today, and any sentence that has been updated to the present (2024) form is highlighted with this style.
Last Updated: Thursday, 07. August 2008 (but take note of anything in this style, the 2024 modern update of this document)
For comments, suggestions, reporting typo/grammatical errors: please email stevenhalim at gmail.com
It is good to learn from your own experience, but sometimes it is better to learn from other people's experience/mistakes.
During my PhD candidature so far (August 2004-now completed on Thursday, 30 September 2010),
I have learned quite a number of stuffs about PhD life.
This document is created to summarize those information.
Though this document is already quite long, it is still not exhaustive and I do not plan to make it exhaustive anyway.
This document is here so that I can re-read and remember what I have learned in the past (and it is true, when re-reading the same document in 2024, I relearned some stuffs that I had forgotten over the years).
This document may also benefit other people, especially the new graduate students who come behind me.
Assuming that the readers of this webpage is another PhD student, I will use "you"/"your" to address the readers from now onwards.
For the start, I share what is a PhD student's life according to my experience: the good, bad, course works, PhD Qualifying Exam, PhD Thesis Proposal, PhD Thesis itself, PhD Defence, etc.
You will be going through most, if not all of these.
Then, I will share one of the most important skill that you need to have as a PhD student: "How to write a better scientific documents?".
I am not the best paper writer in the world, perhaps not even average... (but hey, I wrote a textbook), but some of the tips written here may be useful for you.
During your life as PhD student (and beyond), you need to give several presentations, be it formal or informal, local audiences (e.g. to colleagues, advisor(s), examiner(s), etc) or international audiences (e.g. in a scientific conference, etc).
A good presentation skill will help you a lot in surviving these presentations.
And it is true, I am now giving lectures to hundreds of students 1-4 times a week in routine basis, and it seems that I survived.
A long list of tips and tricks to prepare a better presentation may be helpful in these situations.
Your works (papers/thesis) will be peer-reviewed.
Not many people in this globe will be able to understand your work and thus evaluate it correctly.
Therefore, those papers or thesis will be very likely end up in the hands of a few experts,
and they (because of their expertise), may/may not like your work, may/may not buy or agree with your idea.
How to address the reviewer's comments if your paper is accepted under a condition that you need to major revise certain parts of it?
Or how to defend your paper if the reviewers criticize it (during the rebuttal phase of the review system)?
Or if you admit the weakness, how to admit it 'politely'?.
In the other hand, you may one day be asked to review other people's work, e.g. as the program committee of a conference or journal, etc (so far I have some chances to evaluate others' works).
And by 2024, I have done countless evaluations of works done by others.
Nevertheless, if you need to review other's work, you can look at some advices that I have summarized below.
Along the way, you will go up in ranks and get a chance to supervise your sub-ordinate (e.g. High School/Junior College student or Honors Final Year student or later in the future, when you are already a faculty member, you may even need to supervise new Master/PhD students).
How to deal with them?
I have some experiences here and shared them with you below.
You may also travel around the world to present your research work in scientific conferences (I do International travel a lot, but it turns out mostly for programming competitions, not research conferences).
Several tips about this issue can be found in a section titled: How to Prepare for an (International) Scientific Conference?.
At the end of your candidature, you will face what we called: PhD viva or PhD Thesis Defense.
According to various sources, this important piece of PhD life is actually just for 'formality'.
The decision of whether you are qualified as PhD mainly depends on the evaluation of your thesis, or in another word, your graduation 'was already' pre-determined by your performance prior to your PhD viva.
Nevertheless, poor performance in PhD viva may make your evaluators doubt your capability, so it is better not to mess it.
My own PhD viva is currently still about 1 year ahead, but I think it is always okay to plan early was done on my 28th birthday, Mon, 24 May 2010 (yeah, an interesting day).
I summarize that below.
PhD student usually takes teaching duties too.
To perform better during those tutorial classes, I listed down several lessons that I have learned as a Teaching Assistant (TA) in NUS below.
And this previously part-time job is now my full time job :).
Disclaimer: This document is not complete yet as I have not finished my PhD candidature yet.
However, I will gradually update the content of this document as I learn more and more things as a PhD student :).
This document is now deemed complete and is only updated at some parts to reflect the situation in 2024.
The Advantages of Taking Graduate Studies:
- Graduate studies period is a defining period in your life.
Some (not all :p) called it their best part in life as during this period they learn to contribute something important to the body of science during their candidature.
The skill that they obtained will be beneficial for their life as researchers in the future.
- You can attend conferences and usually partially supported (financially) by your school (or from your advisor research grant) (Funding situation is a bit different now given (much) more PhD students compared to my 2004-2010 era).
Attending conference is a chance for (
cheap traveling to nice places) building networks with the experts in your field, which opens the chance for collaboration and future (academic) job search.
Collaboration with other researcher around the globe is usually a good thing!
However, always be careful as leaking too much ideas (pro-tip: discuss your *already published* paper(s) instead) can jeopardize your own PhD since if your collaborators can gain benefit from your ideas and develop the ideas first before you, even though the idea is from you.
If your 'collaborators' decide not to acknowledge you as the original inventor of that idea, then you lost an idea, or even a PhD thesis because it is already taken by your 'collaborators'...
- Someday in the future, after you really got your PhD, you can speak with authority regarding your research topics (or even about almost anything else that sounds 'scientific' :p) and people will listen (because of that doctorate title)...
For me, perhaps it will be something like this: "I have studied that human judgment is seldom optimal.
Human is good in judging good stuffs quickly but not in choosing the optimal one".
I have prepared my own personal 'show-off' list (for the benefit of the reader, not just for show-off) in my findings.
- PhD student has the freedom to work virtually 'anytime', independently, anywhere you want.
In my case, this is true as my 'lab' is anywhere with computer and I have my laptop with me almost every time.
This is not like in normal companies where you have very fixed and strict office hours.
In 2024, post COVID-19 pandemic, some companies adopt Work From Home (WFH) style too.
- You may get the chance to become a Teaching Assistant (TA) in your university.
One of the 'best' job for a graduate student.
You are
well paid In 2024, most PhD students under research scholarship has to serve some numbers of TA hours for 'free' first (at least it is true in NUS), your working hour is not that heavy, and you have a chance to interact with students rather than interact with computer ONLY.
Remember that if you want to be a University faculty member in the future, you must excel in both teaching and research duties...
The Disadvantages of Taking Graduate Studies:
- In general, your friend who do not take graduate studies will be richer, more successful (in term of career) than you when you actually graduate...
This is because you are 'late' by 4 or 5 years compared to them.
However, (for
most the successful cases), if you project this salary chart few years ahead, you salary as PhD graduate will (likely) surpass your (normal) friends who are without PhD degree at some point of time (some exception for friends who become a boss, CEO, top manager, etc).
I am A/P from 2023, about ~13 years post PhD (which took me ~6 years), you can do your own research to compare a typical A/P salary in Singapore with other jobs in Singapore with ~20 years of experience. But I am also aware that not all PhD holders reach this stage and thus their salary experiences as PhD holders vary...
- Because PhD working hours is so vague, you may end up working 24/7, especially nearing the deadline of a paper, journal, or your thesis.
- You will encounter series of frustrating period where nothing that you tried seems to work, and even worse if someone else 'scooped' (publish the results faster than) you....
Code of Conduct:
- In research, to cite is okay and encouraged.
However, if you 'forgot' to cite properly (thus indirectly claiming the results as 'yours') or falsifying the experimental data, you can ruin your academic career...
- Being lazy/slacking is the common problem in the uncontrolled PhD life...
Try your best to fight this!
Expected Soft Skills:
- Be able to ask a lot.
You must be able to critically attack your own work (and others' works).
- Be Able to think 'OUT OF THE BOX'!
- Be Able to voice out and defend his/her thesis by showing convincing experimental results, using appropriate definitions, wordings, or classifications, etc...
- Has a good research mentality.
You must be motivated to explore new things and do not give up easily when they encounter failures... "Courage to fail is pathway to innovation =)".
- Has the ability to relate things (that is seemingly unrelated) with their own research topics, some connections may help to answer the previously unanswered questions...
- Be able to find information when needed (e.g., by exploring your University digital library, browsing wikipedia, googling, etc)!
- Read literature review surrounding his/her thesis to be very familiar with the current state-of-the-art knowledge and in the other hand, making sure that he/she does not reinvent the wheel!
PhD student must constantly monitor what is happening around his/her area, especially the newly published works.
- Be able to do multiple tasks at any time.
If you become PhD advisor someday, you will need to juggle between supervising 5-10 projects, teaching duties, administrative stuffs, plus your family (only if you decide to marry someone), etc...
- Think of how daily stuffs that he/she does can be related to his/her main thesis!
Sometimes this can lead to discoveries.
- Create a carefully designed research plan with timings, milestone, research goals/objectives, strategic research vision, etc.
All of these should be properly formulated to avoid wasting time or wandering in the wrong direction.
Frequent contact with your advisor will help to reduce the problems around this issue.
I am now more aware that varying PhD advisors give different amount of 'supervision' time to their PhD students. I can consider myself blessed to have one who cared for my development as PhD student (he is now my colleague :O...)
- Keep producing a lot of ideas.
Few are useful, most of the others will be just failures.
It is worth to note that good ideas exist not because of sudden leap of understanding.
They exist only after conceiving many ideas that do not work before arriving at the one that works.
Therefore, do discuss your ideas with your PhD advisor and/or your collaborators
- Be good in written/spoken English.
Try to read good English magazines/newspapers, e.g. Time, Reader Digest, etc to improve your English language skill, especially grammar/thesaurus/writing skill!
It is useful when you need to write long scientific documents in English.
Also try to speak more English in various settings to improve your language skill.
It is useful for your presentations.
Publications:
- PhD student should write ('a lot of', depending on your Department/University requirements) scientific papers.
Journal paper is considered more important as it is published to wider community than conference papers.
However, journal-quality paper will only be accepted if you already have substantial new research work...
The next in line is a book chapter, and finally, conference papers or even poster papers...
However, there are some highly reputable conferences that are hard to get in, e.g. AAAI, IJCAI, etc in my field.
Thus, acceptance in this high-class conference can be regarded as equivalent with a journal paper.
- In journals, acceptance is the milestone!
When it will be actually published/printed does not really matter...
- PhD student must cleverly organize their paper (e.g., correctly say when to stop) so that they do not end up adding more and more content to the paper without even publishing one at all...
You can always keep improving your paper.
But if you do so, it will never be complete, and the more addition you have into your current paper, the lesser material that you have for the 'next paper'.
- Your older paper is always 'faulty' when you look at it again now (you know where you can improve it now as you know your work best).
This is also the reason when you look at other people's work, you should always try to read their most recent paper (whenever available).
- Other papers that you read does not reflect those failed pilot tests.
What you see is the one that works, so do not be too discouraged if you did a lot of failed experiments.
- Your PhD advisor knows a lot of conferences/journals around the world, while you may be not familiar with those.
Ask him/her to review your paper and he/she can help you decide where you should send your paper.
In the future, your knowledge of relevant conferences/journals will increase and you can do it on your own.
- Paper acceptance is a mix between: your paper's quality, the conference level, who are the ones who review your paper, how you present your work, and of course: luck... Now with much more experience, I can say that the luck factor is indeed there...
- Publication is usually 'incomplete' especially if the researcher has to publish 'something'.
Quality work comes after long research, not only after inventing new ideas then we can publish that thing...
We must test it thoroughly first.
- When your paper is accepted for publication, usually you 'transfer' your copyright to the publisher, so be careful if you upload your own paper to your own website.
For me I upload two links, one link to my paper in the publisher's website, the other is the link to a local copy.
The reader has the choice, it is up to the reader to decide.
Course Works/Graduate Modules:
- I only have one advice: "Grade does not matter..." (source 1, source 2)...
Does that calm you down?
But as an academia in NUS, coursework is still important, we still need to ensure PhD students have sufficient academic background...
How to Get My PhD Research Topic?
- Hopefully you met a PhD advisor that has enough funding...
You will be likely doing a project in line with your advisor's research interest...
- Browse through the literature to see what has been done so far...
- Identify what has NOT been done...
Test whether you can use it as your research topic.
Of course you must ensure that you like the topic beforehand!
- The topic must be 'new' and 'useful'.
- In selecting your PhD thesis topics, try to select topic with 'potentially achievable' result, e.g. trying to prove "P=NP" to obtain a PhD in Computer Science is not a wise idea as you are very unlikely to graduate...
Try 'crazy ideas' later only after you already got your tenure.
For me (already in A/P rank now), it is now probably the time...
- Do not re-invent the wheel, and try to publish something before somebody else does (the term here is :'scooped').
PhD Qualifying Exam:
- Train your presentation skill, you are expected to present your research work so far...
- For the written test that covers a lot of topics, prepare your best and then pray that hopefully the questions are something that you know.
PhD Thesis Proposal:
- Ensure that the topic/problem that you proposed has never (or rarely) been researched before.
- Your initial proposed solution for the problem that you proposed to attack must be quite sound already.
Otherwise the examiners will not be convinced that you can produce something good in the remainder of your PhD candidature...
When can I graduate (note: your spouse is waiting)?
- Your PhD advisor knows this best.
- You know this second best, as your opinion is always overwritten by your advisor's opinion on your progress.
- Your PhD research must already produce something new and substantial results...
- Luck...
- Usually 4-5 years, but some takes more than that...
- You need to ensure you have satisfy all the requirements, e.g. the course works, the number of published papers, etc.
What to do after I graduate?
- If you want to be a faculty member in a reputable University in the future (e.g., NUS - hehe), it is better that after you finish your PhD in your local university, go and take post-doctoral positions somewhere outside your country for 1-2 years.
And then apply to that reputable University.
This is because Universities prefer to recruit PhD graduate that has been exposed in other institutions overseas as it is expected that he/she has gained more experiences/networked with other researchers, or best - he/she has gained some research funding, etc...
For my case, I am on Educator Track, where NUS actually pick many of its own PhD graduates as we know the style of our (mostly Asian) undergraduates best.
- If you do not like to stay in academic field, you can always choose to work in R&D departments in commercial companies that are in line with your PhD expertise.
- Only if you really regret taking PhD, then pick a job that is totally unrelated with your 4-5 years of graduate programme training.
Miscellaneous Things:
- PhD student in other countries are usually 'old' (≥ 30+ years old).
It is just in Singapore (or perhaps in some other countries, I am not sure) where we have a direct PhD programme where you can jump from Bachelor degree to PhD degree, bypassing the Master's degree...
- As we are quite old, usually we do not have the capability to quickly learn new things (outside their research topic), but every PhD is usually very familiar with his/her own research topics...
- To research is to add or extend new knowledge to the overall body of science.
To teach is to pass existing body of scientific knowledge to the next (younger) generation.
I end up doing much more teaching (Educator track) than continuing with my domain research.
- PhD candidature is not just about the end result (the degree that you obtained), but also the process, like this list of experiences that I have written here.
- Throughout PhD process, you will encounter scientific problems which you do not know how to answer at the beginning.
The joy of research is that if you managed to find the answer at the end.
However if you cannot, you can still report the things that fail, so that others can study from what you have done.
- Sometimes, you need to reverse engineer the references.
Think about the ideas that you want to write first, and then find a supporting paper in the literature...
This is not a good way actually.
You should do research first to come up with ideas...
- You can use Google desktop to search your collection of papers!
Just download all the papers that you have read into a folder, then search that folder :).
There is actually no need to have a sophisticated bibliographic software at this moment (e.g., EndNote).
Use the freely available BibTex to summarize your references.
By 2024, there are much better software to organise papers that you have read, will read, want to read, etc, use them.
- Implementation/experimentation either reveal weakness in our theory or to support/confirm the correctness of our model.
There is always gap between the algorithms versus its implementation.
Thus, do not say too much theory until you have proven it!
Before you able to prove it, it is just a 'hypothesis'.
Therefore, do formal proof (for theoretical results) or more experiments (for empirical results)!
- Your PhD thesis will be checked by several external reviewers.
Therefore the standard is high!
- As time progresses and your research advances, you will find out that some of your past ideas are obsolete and you cannot keep them in your thesis.
- Define your research style, for me:
I like to keep working 24/7 (I probably meant 'most of the time'), which means I keep thinking of new ideas at any time as ideas will not come every time.
Once I got some new insights, I will write it down in my research scribbles note and I will explore it again later.
If I am stuck, got no ideas, I will get bored and feel 'guilty' and if that happens, I will do something else such as teaching programming courses, improving my visualization tool, implement this and that, or even do some scientific-related writings to improve my writing skill, etc.
In any case, do not deviate too much from your main research area!
- Try to join seminars!
There are a lot of 'interesting' seminars going on in SoC (but very few are related to my own research).
Attending other PhD students' presentation and give them inputs is also a good thing to do.
Also, many seminars have "FF".
- Read more collections of PhD Comics (phdcomics.com), Foxtrot (foxtrot.com), or Dilbert (dilbert.com).
These comics had helped me a lot in enduring my own PhD years...
- Do frequent backup to your important PhD works...
You do not want to jeopardize your PhD just because your hard disk crash along with all your precious data in it...
In 2024, we mostly use cloud-based storage system, and therefore this kind of past-time incidents rarely happen again in modern days.
- The longer you are in your PhD candidature, you will be more aware of the relevant works around your PhD research topic.
- Typically, your advisor (especially if one has high status in the department) is very busy and thus, their time is precious.
Make sure to use the contact time as optimally as you can.
- PhD is a journey and each individual go through a different journey.
Do not be too sad if you feel that you "underachieve" compared to others.
- Time to admit this, PhD students are prone to getting depressed, especially if encountering series of failures.
Having a good support system helps.
Additional Resources
Actually, there are several books about 'PhD process', 'How to write your dissertation', etc.
I suggest that you read them as they are more complete than what I have here.
I probably need to update this section with newer (closer to 2024) related books...
- 'Getting a PhD: an action plan to help manage your research, your supervisor, and your project' - John A. Finn. Routledge, UK, 2005.
- 'How to get a PhD: a handbook for students and their supervisors' - Estelle M. Phillips and Derek S. Pugh. Open University Press, 2005.
- 'Writing the winning thesis or dissertation: a step-by-step guide' - Allan A. Glatthorn and Randy L. Joyner. Corwin Press, 2nd edition, 2005.
- 'Leaving the Ivory Tower: the causes and consequences of departure from doctoral study' - Barbara E. Lovitts. Rowman and Littlefield Publishers, 2001.
- 'Survival Skills for Scientists' - Federico Rosei and Tudor Johnston. Imperial College Press, 2006.
- PhD Comics
How to Write a Better Scientific Documents?
- The term 'scientific documents' consist of: (thick) scientific books, lengthy PhD Thesis, medium length Master's or HYP Thesis, 10-20 pages journal papers, 5-15 pages conference papers, or technical reports...
- For writing any type of scientific documents, try to start early.
Your PhD candidature is roughly 3-5 years, do not wait until the last 6 months before you first type your first word.
Same advice is applicable to Master's thesis, FYP report, journal and conference paper writing (with different starting time, of course)...
For me, I started writing my first word in my own PhD thesis since my 2nd year of PhD candidature...
- Writing is a chance for discovery and thus it is advisable that not only after discovery then you start the writing phase...
- Try to write down your ideas, organize it, think about possible sub-ideas along the way.
Draw some mind maps of your ideas.
- The style for writing a thesis is different from writing a paper/journal because in thesis, you are expected to write in a complete and clear manner whereas in paper, you need to write as succinctly as possible, and assuming that your reader are well versed in the topics that you are discussing in your paper/journal.
- Use LATEX to help you focus on writing the content instead of fixing the formatting!
I seriously suggest that you should try to learn LATEX!
And the modern tool for this is Overleaf.
- Choice of Words/Sentences (some examples):
- Reduce personal pronoun: 'I', 'we', 'us', 'our', etc...
Rephrase them to a more 'anonymous' sense, use more general pronoun or transform it into passive sentence so that you do not need to write the pronoun (write from 3rd person perspective).
- Also try to avoid 'he/she'... Try to rephrase such sentences...
This gender bias issue (if we use 'he' all the times) is more pronounced these days.
- Try to avoid these: "I think...", "We suggest that..."!! Unprofessional...
- Use familiar terms more frequently!
Avoid 'loose terms'.
If you need to introduce new terms, you need to define it properly!
- Use 'observe' rather than 'see'... or in general, use more 'scientific/formal' words rather than the standard one/personal statements.
- Avoid words that are 'too strong' such as: 'must', 'definitely', as they will be hard to defend, but rather use a softer tone like: 'experiments results shown that', 'the probability of encountering this phenomenon is quite high', etc...
Avoid over-generalization.
The more scientific writings that you have, you will be more sensitive with this issue!
- If you like, change terms 'Conclusion' to 'Summary/Contribution', 'Future Works' to 'The Road Ahead', 'Problems Encountered' to 'Technical Challenges', etc...
- For 'Future Works', you need to write it properly, especially in PhD Thesis.
You must give the reader an impression that you do not "leave too many things unexplored behind".
- General Writing Style
- Remove unnecessary lines that are 'implied' such as: much tuning methods are black box while not many give solution for white box; the sub-sentence in italic are redundant as it is already implied...
- Learn how to rephrase sentences so that it is nicer to be read!
Avoid writing complex sentences (putting too many brackets like this).
Write shorter sentences.
After you rephrase it, make it a little bit more nicer (recursively).
However, this phase should only be done at the refining process and not in drafting process.
Adopt the 'euphemism' style: The same information delivered in a softer tone...
- In the paper, always avoid using 'question mark' (questioning the reader), because your writing is supposed to give answers!
- When you write a paper, think of the big picture too and not only the details.
Think of how you want to portray the information in a clear outline.
Use a proper organizational skill to properly convey your ideas!
- Ask those experts such as your advisor or senior PhD colleagues to cross check your writing style.
Even though most of them may not be well-versed with your work, at least they know how to write a better paper.
If they asked something about your paper, the same question may be asked by your readers too!
- In a short paper, keep your paper focused, do not write too many different things!
Give a central theme, do not tell one story here and another story there...
- Write iteratively, 1st draft, edit, 2nd draft, edit again... and so on until you are satisfied (or until the deadline is coming).
You should do this especially if you think that your writing skill is not good yet or if you are not a good/native English speaker.
If this is the case, you will need to work harder than other people...
- Give summary paragraph at the end of each section/chapter.
- As experts in paper reading will conduct breadth analysis of any paper first, then we must focus our writing to be as good as possible in the following areas: title, abstract, intro, and conclusion!
Followed by a nice layout and proper usage of graphics.
Then, followed by the detailed explanation of the methods itself.
- Remove unnecessary footnotes.
Footnotes are only for side information.
Important information should be merged into the body of the text!
- Do not write too many small sub-sections (not more than 5).
Merge some sub-sections into bigger sub-sections!
- Layout: Some people like table/figure to be placed very near to their reference in the text, but others adopt a consistent style where tables/figures are always placed on top/bottom of every page even though this will make that tables/figures to be 'far' from the place where they are referred in the text.
The rule is: please make your layouts consistent.
In any case, you can always use tool like LATEX to help you to layout your documents...
- There is a way to make your writing more concise.
Impose a page limit.
By doing that, you will be forced to say important things only.
e.g., if you now have 100 pages thesis, how about re-writing it into 90 pages thesis?
Of course, you cannot do this compacting process all the time.
Today, ChatGPT can do this kind of summarizing process too.
- Technical/Scientific Writing Style
- You should learn and always apply technical writing style!
- Good paper is the one that gives solid theory + sound implementation + conduct formal experimentation + gives novelty...
- Make sure whatever you write are defend-able so that the reader cannot counter argue you!
Verify the correctness to every sentence that you say...
- If some concepts are still vague, either do not write it for this paper or rephrase (soften) it!
- Do not attack the whole field (e.g., field of AI) when your intention is to highlight some weak point in it.
You will be 'killed' by other researchers from that field.
- Do not use terms that are already familiar in other field (e.g., 'fuzzy' in fuzzy
logic) if you want that term to refer to another concept in your paper... you
will just confuse your reader.
- If you CLAIM anything or PROPOSE any new thing, make sure you have backup evidence/can prove it, usually by your experiment.
In scientific writing, everything must be qualified, you cannot give too vague claims.
Try to be as objective as you can!
- Present your work according to the guidelines of scientific reasoning!
For example: my work is related to heuristic (no theoretical proof), thus I must follow the guidelines for reporting empirical results using heuristic methods.
- In technical Computer Science papers, it is always better to use pseudo code rather than actual code.
Because in pseudo code, some syntax errors are permissible while in the actual code, any small mistake is dangerous, or actually, embarrassing.
In my Competitive Programming book (CPbook), I prefer actual C++/Python/Java code than pseudo-code though, but the purpose of the CPbook is different as I need to show CPbook readers on how to actually implement certain algorithms efficiently and in as short SLOC as possible.
- Section-by-Section Specific Tips:
- Front Matters: Title, Author Names, Abstract, Keywords
- Follow the format as requested by the conference organizers or journal editors!
- Abstract must be a summary of the whole paper.
Make sure that only by reading the abstract, other researchers know what you are going to tell them via this paper.
When the abstract is bad, the reader will be disinterested to continue reading...
- Some papers have 'Keywords' field.
The rule of thumb: choose keywords that are not part of the text written in the title.
Keywords are going to be used by the search engines for other researchers to locate your paper!
Put your keywords correctly so that other researchers manage to find your work!
Otherwise your paper cannot be found by them, thus not read by them, thus less chance for citation to your paper, and to the extreme..., less chance for the advancement of science...
- Introduction
- Introduction, which is (always) the first chapter 1, consists of only main ideas!
The story telling is done here and thus avoid doing story telling in other sections/chapters.
- At the end of chapter 1, usually put a quick overview of the remaining chapters (optional - this part can go if you need space...).
- Always highlight your strong points in the introduction!
You'll repeat this again later, but do not forget to mention strong points in introduction!
- It is not advisable to present your weak points in introduction, but you should always mention the truth, but perhaps in a section called 'Technical Challenges' somewhere near the end of your paper/thesis...
- Literature Review
- Literature review should always exist in the earlier part of your report. You
must show your reader that you have sufficient background knowledge in this
field of research!
Lack of literature review will make your work easily rejected
if the reviewers aware of the existence of another similar work(s), which will
make your work has less value as you are just reinventing the wheel or you may
even branded as plagiarist...
- As time progresses, more and more works are being published.
Thus, before
actually submitting your document, do literature check again in that area, who
knows that there exist very similar works in your area that are just recently
published. If it does exists, you may want to cancel/revise your submission...
(scooped).
- In the appropriate places in your document, you must clearly distinguish which
are your original work (e.g. newly proposed concepts) and which are other's
(that we only cite their work)!
- The way you write this section will determine your score in the 'scholarly'
attribute during paper review...
- Avoid too many self-citation to your previous works.
It does not seem professional...
- Methodology/Main Idea
- Here, you need to elaborate you methodology to solve the problem as clear as possible.
This will contribute to the 'technical soundness' part of the paper review...
- Since this is usually a new concept that you propose, make sure you verify your
wording carefully as to not make silly mistakes, not over claim, the methodology
is sound + correct, etc.
- Experimental Results
- The chapter about 'experimental results' should be the 'easiest' to write...
If you found it difficult, something is 'wrong' with your explanation of the methodology (see the previous section).
- In this section, reader will expect to see tables and/or charts and/or figures, and NO MORE story about your methods (that should be done in previous sections/chapters).
By inspecting this experimental results section, your reader wants to verify that what you say in previous sections is 'provable' or 'quantify-able' in the experiments...
- Your observation cannot be directly debated, but your deduction from such observation will be closely scrutinized, so better write reasonably here, do not over-assume, do not over-claim, etc.
Do not reason too far beyond what are explained by the experimental data!
- Reviewers will want the authors to ensure that their experiments are replicable or reusable by the public reader!
Try to make your test data/tools available in the Internet (if possible).
- Do not lie with the data, other researchers may not be able or have time to
replicate your work to ensure its correctness.
However, if they do and find out that you results are bogus, your reputation will be badly damaged.
- Back Matters: Conclusions, Future Works, Bibliography
- In the future works section, you may or may not want to give your fresh ideas there.
There is a reason: other researchers with sufficient background can read your ideas and come up with the solutions (which you have yet to solve)...
If that happens, you lost one idea...
However, for the sake of advancement of (Computer) Science, it is still advisable to write your untested ideas in future works for others to try (and cite your works)...
- For references/bibliography, you must always give the full and complete references!
Do not remove page numbers from the reference list just to save few words but you can actually abbreviate the usually long conference name.
- For things that we cannot do/finish for now, write a draft plan in the future works...
- It is our job to make a writing that will convince the reader/reviewer.
It is never the reader/reviewer job to struggle to understand our paper or to correct its mistakes.
- Every time you submit a paper to a peer reviewed publications, you will get the reviews.
Even if your paper is rejected, you still have important comments that you can use to improve the quality of your paper.
Do a major improvement of your paper based on the reviewers comments to produce your camera-ready version of the paper.
- Follow the formatting guidelines carefully.
Every publication has their own style and page limit.
Never exceed the page limit.
You can do so by dropping some 'not-so-important' materials if necessary.
- Every publication usually has strict deadline.
Try not to exceed this deadline.
If possible, plan early.
If not, be ready to work 24 hours per day nearing the deadline.
- Last but very important and very common advice: practice and more practices!!!
How to Create a Better Presentation?
Your presentation style portrays who you are:
"A successful person who can control the presentation, know what to do yet humble, display interest and knowledge..."
or
"An unsuccessful person who seems does not know what to do and still seeking direction..."
So, here are some tips to help you create a better presentation:
Slide Design:
- Use calming background (e.g., white/light blue).
- Use a clear and consistent design, do not clutter the screen.
- Use color coding to: Emphasis or Highlight a certain keyword.
This can capture user's attention.
However, do not overuse this feature!
If everything are highlighted, there is nothing else stands out.
- Use bold slide title (short phrase on top of your slides...
It gives a strong/aggressive feeling/a sense of confidence...
- In the title slide, write your title in Bold.
Put author names and affiliations clearly.
Do not forget to write acknowledgement if any.
You may want to put your university/company logo in this title slide.
You may also want to put a smaller logo on the corner of each slide - by updating the master slide.
- Improve your skill of choosing mixture of color: good color for presentation: dark blue, brown, deep red.
For your information, there are several web sites about 'colors', which colors are good for presentations, for web pages, the color mixture issues, etc...
- Give hyper-link to connect related slides together, e.g., you want to relate experimental results slide to a slide 10 pages further back that explains your experimental methodology.
- A picture/chart/diagram is always worth a thousand words, use picture if you can in lieu of many words.
KISS: Keep It Short and Simple:
- Make your slides short and sweet, cut it short.
Do not put too many texts on the slide...
- If there are materials that you know going to be hard to explain but not really significant to the main flow of your presentation, CUT IT OFF!
You need to have a smooth flow!
- If you really need to have complex wordy slides, try to go faster there or highlight key points only!
Audience has tendency to get frustrated when they see a complex slide...
Whenever possible, avoid designing a complex slide!
- Reduce number of words in your slides, talk more!
If you cannot remember everything, put the points in the slides in such a way that they represents keywords to help triggering your brain on what to say for that slide!
Control the Timing of Your Presentation:
- It is always good to be able to end your presentation within the allocated time limit.
Your audience will appreciate you by not overrun your presentation too much nor by ending the presentation too early from the allocated time.
You can control your presentation timing (as you are the one speaking) by using the tricks below...
- Give few 'break slides' to time yourself, and to tell story/re-summarize.
This is the time for reader to digest your presentation.
Use this after something heavy...
However, do not overuse them, as they break the flow of your presentation.
Several break slides in appropriate places are good and you can use this to 'slow down' your presentation if you are a bit too fast...
- For formal presentation, do not overuse animations...
Not only that it is informal, but because mainly it will slow you down your presentation thus youmay run out of time especially in a big conference when time is very limited...
You will need those precious seconds to say something rather than to play some fancy animations on the screen!
Only use animations if you sure that helps the presentation.
- Break slides can be used to slow down your presentation, but what if you need to speed it up?
For a lengthy presentation, dedicate several slides as 'skip slides' (I need to have this slide but not that important) where you can skip (or just go through) them if you run out of time.
You can use this slide to further explain your audience about your concepts if you still have time...
It is advisable that 5-10% of your slides should have this 'skip-able' property.
Measure the importance of each slides thus you know where to highlight, where to skip...
- Give some 'bonus slides' (good to have, but not necessary, usually placed after the last normal slide in your presentation).
One simple example is: additional experiments from different angle) that you can flash out if you still have time but can be safely skipped without affecting the flow of your presentation if you run out of time...
Design these slides such that they are good to have, but not essential.
Note that 'bonus slides' are conceptually different from 'skip slides'.
- The amount of time a text displayed in the screen should be appropriate.
A common mistake is that the audience tend to skip the last few sentences in a slide because the presenter only present it in a flash and then change it to the next slide...
Language and Speech:
- Since the presentations are mainly in point form, you do not need to give complete sentences all the time.
- Grammar/spelling mistakes during speech are 'ok' (forgive-able), but obvious grammar/spelling mistakes on the slides are 'not ok'...
- But do use formal language/tone for your speech.
- Use speech tone to highlight certain keywords...
- Sometimes, several ideas are better to be 'voiced out' rather than written on the slides (perhaps because it is 'sensitive', etc).
Presentation: Psychological Factor:
- Memorize introduction and make sure you did not say anything WRONG during the introduction.
This is where you should know the material 100% (planted firmly in your head).
This can give a psychological boost to yourself and to your audience (that this presenter is confident).
Of course, it can be both ways, a stuttering start during introduction will make both you and your audience uneasy...
Thus, try your best to give a good introduction!
TL;DR, ability to convey the understandable introduction to wider-audience is very important, perhaps can be more important then explaining your results later, as any interested readers can later re-read your paper in details and in their own time (point 4 below), but only *after* you get their interests...
- You should be confident throughout your presentation!
Just continue your talk if you miss out certain points (do not look confused or quickly say sorry and repeat your sentences).
If you make some small mistakes, just ignore it (your audience may/may not notice it anyway)...
You may want to use cue cards to reduce the number of points that you may probably miss without them.
- If you have a lot of material, just deliver them succinctly.
This can give a psychological effect that you have a lot of things to say but you can deliver it in the given amount of time.
- Actually, the technical part is where you lose people attention...
Your objective during this part is to take the advantage of psychological effect:
Make the audience agree that your problem is indeed difficult, that there are some technical difficulties, but you have the solutions :).
The interested audience can then read your papers/reports if they want to understand your work em>in details...
- As human memory is limited, only few key items are remembered after a lengthy presentation.
Thus, be objective!
Aim to have only 3-4 main points across throughout your presentation.
You can do it by repeating the main points throughout your presentation or saying them again during the conclusion of your presentation.
Q & A: How To Answer Smartly?
- Sometimes, after attending your presentation, your audience may have some comments or questions about your work (during the Q&A session).
Their comments or questions may give you new insights (good, this is what we are looking for), or spoilt your work (bad).
- If you do encounter bad comments, do not be over defensive.
But rather, acknowledge the audience for raising such issues, give some safe statements such as "Let's discuss after the presentation" and do talk to him/her after the presentation.
Do not argue with him/her in front of other audiences, it will not be good for you actually!
Other Presentation Tips and Tricks:
- Give a good flow of presentation!
- Highlight experimental results to support your theory (must).
- Do not use the term 'you', since who is 'you'?
The audience? Say explicitly!
- When you give illustration/story, always relate it back to your presentation/ideas!
- Do not highlight weakness of your work.
But if asked, answer tactfully.
It may be wise to script some of the answer first so that you do not accidentally say stupid answers.
- Use space (to advance slide) and backspace (to return to previous slide) in Microsoft Power Point.
Note that you can also use left-right, up-down, page up-page down, mouse click, etc to change slides, but these buttons are smaller compared to the big space bar and moderate size backspace...
- For even more professional presentation, use wireless presenter mouse with laser pointer, so that you can quickly pinpoint something in your slide professionally.
- Check the equipment that you are going to use for presentation, different version of Microsoft Power Point may give you different output...
To avoid making your presentation looks messy because of missing fonts, etc, try your best to use your own laptop for your presentation!
- Do not make things 'too absolute' since you will have hard time to defend...
Make that your work looks good when compared to other similar works but 'not the best' (unless you are really sure that yours are really better than the others).
- When you present your research work, you have much more knowledge in your work compared to your audience/evaluator.
So no need to worry too much!
- Do not talk too much in the summary and future work slide.
If you do that, you looks like someone who are not confident that the audience actually understand what you have said just now during your presentation.
- Sometimes, use catchy phrases such as "There are more than meet the eyes", "More an art than science", etc...
- A slide without any text (only one big picture/diagrams) is actually dangerous (unless you are good at doing this).
Once you forget the lines, you cannot get any help/cues by reading that slide.
So, unless you really can memorize everything, it is better to put some helper sentences/catchy phrases to keep your presentation going, or use cue cards.
- Usually, what you say during the conclusion/summary of your talk is the launch pad for questions by the audience since basically people cannot really remember all the stuffs that you have just mentioned unless they write some notes along the way.
How to Reply Reviewers' Comments?
- If your paper is likely accepted, do not be too defensive, it may trigger bad response.
- Thanks the reviewers for their efforts.
Now that I am frequently on the other side, I realize that reviewing other's work is a heavy job.
- Always respect the reviewers' comments/opinions.
You will modify your paper according to their suggestions if those are valid points.
- Reply succinctly, no need to be long winded and over-defensive (example).
How to Evaluate Others' Works?
- Look at the originality of the ideas written in the paper.
If you are not well-versed in the area, it may be hard for you to judge the originality.
However, an expert will know whether a proposed idea is original or not.
Always try to do some quick literature searching to see whether other has proposed similar ideas...
- Ask: What is the contribution of this paper?
- Ask: Does the paper's literature review is extensive enough?
- Ask: Is the methods described in the paper are sound according to scientific methods?
- Check: Is their conclusion/derivation/analysis of data is truthful or bogus?
- Always be curious, there is always something behind the scenes.
Read the paper as a skeptic who does not believe that what the paper is going to say, and see whether the paper can convince you at the end...
- Write the evaluation report in a constructive positive tone, regardless whether you have judged the paper to be accepted or rejected.
This is a scientific way of conduct.
- Do not do this...
How to Supervise/Mentor Others?
- You are to guide and not to do your subordinate's work...
- Maintain frequent contact with your subordinate!
Keep yourself up-to-date with your sub-ordinate's progress.
- Give frequent feedbacks to your sub-ordinate.
- Supervisor should not always praising his/her students works.
The students will then be over confident and stop working.
By being skeptical of his/her student's work, the supervisor can pinpoint future improvements for the student.
This way, the students will think more and (hopefully) produce better results...
- The supervisor should always put the target one step away from the students, this ensure that the student always has something to pursue throughout his/her candidature.
How to Prepare for an (International) Scientific Conference?
The assumption here is that most annual conferences are International and usually the location is rotated around the globe between iterations.
Therefore, a PhD student is likely encountering their first International trip for conference sometime during their candidature.
Before:
- Plan the trip, prepare budget, etc.
You may want to extend your stay in the foreign country for few days for sightseeing.
- Book your flights/trains/etc.
For convenience, book online and use e-ticket.
If you have frequent flyer account, use that!
- Chase funding...
Meanwhile, you will need to pay all your expenses by yourself first...
Usually you can only claim the funds LATER after you return from the conference.
So, every such expensive trip will be quite damaging to your normal cash flow.
- Prepare visa (if needed) by going through the embassy of the country that you will go to.
You need to bring your passport, some legal documents.
You need to pay a big sum of money to get that visa.
You need to travel to that embassy at least twice (to submit the application, wait for few days, and to get your passport with the visa back).
During:
- Of course, present your research project.
The project that you have been working on in the past few months is now presented in front of experts in just 10-15 minutes...
- Talk/build network with people that you met, especially the key people in your research area.
Bring your name card!
Also bring your latest CV, sometimes this can also double as academic job search too...
- Ask questions politely if you are unclear about somebody's presentation.
After:
- Write down your experience.
Here are mine:
- Metaheuristics International Conference (MIC) 2005, Vienna, Austria (see the 2024 incarnation of this conference)
- User Interface Software and Technology (UIST) 2006, Montreux, Switzerland (see the 2024 incarnation of this conference)
- International Workshop on Engineering Stochastic Local Search Algorithms (SLS) 2007, Brussels, Belgium (see the 2019 incarnation of this conference)
- E-mail those you have met during the conference for further collaborations, if possible.
- Claim for reimbursement, etc.
This going to be a tiring process too...
How to Survive PhD Viva (a.k.a. Thesis Defence)?
- Do not be nervous!
Inside that examination room, you are the person who knows your research topic the best...
- Pre-script some good answer for some generic questions commonly asked by examiners.
- Know who are going to examine you and their background.
How to Teach Better?
- You must find your own teaching style.
This style is usually a mix and match of what you have received from your past tutors/lecturers.
- Constantly learn new pedagogical tools, e.g., teach algorithm using algorithm animation applet...
- Identify the age range of the students that you prefer to teach.
For me, Junior College/polytechnic students are too young and adolescent students quite hard to teach.
Postgraduate students are too old and also hard to teach...
At the moment, I prefer to handle first year to third year undergraduate students...
- For other details, please check my teaching page.
That's all for now, I will add more to this document after I obtain more experiences. That's all for the 2008 document that has been brought up-to-date to the 2024 edition.