Advanced Presentation Techniques for My Final Year Project Students (Part 2: Make the Final Slide a Powerful Conclusion)

Advanced Technique 2: Make the Final Slide a Powerful Conclusion

I always advocate that the final slide should not be called “Thank You” or “Question and Answer”. In fact, these two slides should not appear in the presentation as they do not present any information about the presentation that you are delivering.

If you want to thank the listeners, you can thank them verbally and sincerely.

If you want to invite the audience to ask questions, just say so.

Leave the final slide as a conclusion to leave a lasting impression of what you want to tell them.

~Flex Tio~

If that is the case, what sort of impression will I leave for the assessors if I were a student you might be asking? I will do this:

  1. Reiterate my contributions (aka summarise)
  2. Relate how my contributions impact my project objectives (aka synthesise)
  3. Resist my urge to provide new information (aka sans as in the Latin word “sans” which means without)

1 and 2 helps remind your assessors to give you marks. Help the assessors recall why you deserve that A, or B. It also helps to influence guide them in asking questions that are relevant to your contributions.

That’s one way to prepare for a Question and Answer session.

3 does exactly the opposite. It encourages the assessors not to ask further questions. This is especially so when you seem to have delivered the perfect presentation so far, only to be thwarted by a new piece of (usually controversial) information delivered at the end that does not gel with the rest of your presentation.

In short, we are trying to create a lasting impression that the assessors can remember well long after the assessment is over. We would like them to say “That student is very capable isn’t it? He/She can do this, this, this and that!”


Advanced Presentation Techniques for My Final Year Project Students (Part 1: Purposeful Chunking)

You can be the most intelligent person in the world. If you can’t communicate what’s in your mind, that wisdom is lost. ~Flex Tio~

This is an advice that I gave to my very first final year project student under me, a brilliant programmer, a hater of presentation.

You know what else is true? Great presentation skills can shift you up by a grade. Terrible presentation skills shifts you down by one. Not all chatty people are great at presentation and not all quiet people are bad at it.

Everyone has it in them to turn their presentation into a great one. These techniques which I’m sharing are not the conventional ones that tells you that you need to organise your presentation into an intro, body and conclusion, focus on eye contact, open up your body language and practice. These are techniques based on how an assessor perceives the quality of your work through your presentation. These are actual techniques you can use for work too.

The One Prerequisite

For these techniques to work, there is only one prerequisite. We need to have produced sufficient work in the first place. No amount of presentation techniques can hide a person’s lack of contribution or lack of know how. However, with some, then there’s something to talk about.

Advanced Technique 1: Purposeful Chunking

Consider the following example:

Before Purposeful Chunking

I’ve done four things for my Final Year Project:

  • Designed a T-Shirt for the Library Community event
  • Designed three posters for the Open House
  • Trained students to use Photoshop to edit pictures for visitors to the Open House
  • Produced a 3D animation video for XYZ Company

After Purposeful Chunking

My contributions for my Final Year Project are:

1. Produced Publicity Material and Delivered a Technical Training to Students for Outreach Effort of the Diploma. This includes the following:

  • Designed a T-Shirt for the Library Community event
  • Designed three posters for the Open House
  • Trained students to use Photoshop to edit pictures for visitors to the Open House

2. Produced a 3D animation video for XYZ Company

Essentially, both content are the same. An additional statement is added to the top of the latter to “purposefully chunk” three different tasks together into one single big task. It should clearly explain your work and link to the objectives of your project.

I used the term “purposeful” to describe the chunking because the main aim in the chunking process is to try to relate all the things you are doing to a central theme, thereby adding more meaning to the small contributions.

Limit your presentation to about 2 to 3 chunks. People seldom remember beyond three points in a presentation and your assessors are human after all. It’s a good way to reduce the number of points you have in a presentation without losing any content too.

In summary, use purposeful chunking when you have many different small and seemingly insignificant things that are unrelated to showcase. The benefits are that:

  1. It makes small separate contributions look and sound big.
  2. It makes the contribution look more meaningful and impactful.
  3. It’s easier for the assessors to remember “that major contribution” and helps you to make a better impression.

Caution: Careful not to oversell such that the group of tasks is not able to match up to the expectation of your chunk.



The PROPER Way to Receive Payment from the Customer in FOUR SIMPLE STEPS

Maxwell Road Hawker Centre by Aapo Haapanen
‘Maxwell Road Hawker Centre’ photograph by Aapo Haapanen. It is a different hawker center from the one mentioned in today’s post.

While having lunch at Teck Ghee Hawker Center today, I had an unpleasant experience of dealing with a mistake that a seller made. I was absolutely sure that I paid the seller with a ten-dollar note but he insisted that he received a five-dollar note from me. It was only when my friend stepped in to clarify the situation, did he grudgingly gave me the rest of my change, without even uttering an apology of any sorts.

I was furious! But no point arguing further with that uncle. I’m there to enjoy lunch with my friend, not to pick a fight.

This is not the first time I met with such a situation. I attribute this to the seller not “being present” when receiving payments from a customer. This could be avoided if they can just take a bit of time to follow these four simple steps, inspired by my parents (they worked as Hawker sellers since I was a baby) and the Japanese customer service I received:

  1. Upon receiving money from the customer, count it first and repeat the amount received to the customer for verification.
  2. When giving change, tell the customer the amount of change you will be giving him.
  3. Present the notes first, tell him the amount of notes you are giving him and ask him to keep the notes first.
  4. Present the coins and tell him the amount of coins you are giving him.

When you do that, you do not have to worry about coins dropping all over the place as you hand the change over to the customer too.

BONUS TIP: If steps 2 to 4 seems a hassle, use a Japanese cash tray to hand the change over to the customer. It is also more hygienic to do so.


Do Your Research First: online retail price tag with a pinch of salt

IMPORTANT NOTE (Read Me First!!!): This is an article that recommends for us to do our own research if we intend to look for a real bargain. This is NOT an article trying to expose some dishonest seller (there is none here in my opinion). I have my reasons to believe that this is not the case. Read on carefully to find out more.


Below is a screen grab made on 14 June 2015 from a seller at Qoo10 at this web address:

Notice that the original retail price stated for the Logitech K480 keyboard was stated at S$79.90.

Qoo10 retailBelow is a screen grab made on 14 June 2015 from the Logitech Singapore website, at

Notice that the retail price for that very same keyboard stated at S$59.00. That is more than 25% cheaper than the original retail price stated above.

Qoo10 retail2Finally, below is a screen grab made on 14 June 2015 from my Facebook on how it’s advertised on Facebook.

Qoo10 retail3

No doubt, the discounted price offered by the seller on Qoo10 was indeed cheaper than what was offered straight from Logitech could offer. It is still a pretty good offer. However, how was that a 50% discount? Does it still sound worth it to you to want to buy it?

Anyway, before anyone starts doubting the integrity of the seller, I want to give the situation a benefit of a doubt:

  • The seller could have really gotten his goods from a source that sells it at $79.90 originally.
  • The person doing the marketing on behalf of Qoo10 or the seller decided that it was a real good idea to quote it as a 50% discount.

I do not think there is anything wrong with the seller, the marketing, the pricing and the advertisement. It just happens to be what it is.

Morale of the story: Do your research first.


A Tip on Writing an Appeal Letter

One of the best things about returning for reservist was that you get to meet people from all walks of life and the stories they tell you.

Well, one of the guys who worked in the HDB shared about how to write an appeal letter that improves your chances in getting your appeal approved. It’s a very simple tip, but like all tips of this nature, easier said then done.

List down justifications that will help us fight for your case.

~A person who works for the HDB~

“I am more than willing to help,” he said. “But don’t just tell me your problems, give me reasons on why the agency should approve so that I can fight the case for you. If not, it’s going to be tough for me to formulate a justification for you as well.” (*Not the exact words he said, but somewhere along this line)

He also quipped with a tongue in cheek that it’s amazing how people can write so well to get their parking summons repealed, but yet when it comes to HDB related matters, well…


Help me to help you. Fair enough. That’s what I always tell my students too.


Why Post-Increment has a higher precedence than Pre-Increment – An Empirical Explanation

This would be my very first technical post. I would like to give special thanks to my buddy, Joshua Na, for exploring this topic with me in details over Skype on a Friday afternoon! It seems that I didn’t get this right all along throughout my ten years of programming, not until now! I would also like to thank Sergey for pointing out a possible fundamental error in the first cut of my article. For now, I supposed this article is considered complete. Please feel free to discuss in the comments below.

The Empirical Approach

This article started off as an empirical approach, where I try out different codes and attempt to explain the output by spotting the pattern, which explains the title of this article. I’m not sure whether I got this right as I didn’t manage to look at the assembly.

Going beyond, there were many comments that flowed in regarding this and I read up a whole lot more, looking at many conflicting school of thoughts on this. I decided I should just try to understand it my own way based on whatever I have. Does it really matter to know the absolute truth? Or perhaps it’s better to know how to apply. 😛

What are pre-increments and post-increments operators?

In case you are not sure what those stuff are, in codes, they are the ++:

int x = 1;

//Pre increment - ++x
int y1 = ++x;

//Post increment - x++
int y2 = x++;

In a pre-increment (line 4), x will be incremented by one before y1 takes the value of (the new) x.

In a post-increment (line 7), y2 is going to take the value of x, after that, x gets incremented by one.

This looks very straight forward. It seems that in pre-increment, the ++ operator is evaluated first before the statement does while in post-increment, the statement gets evaluated first, before the post-increment operator.

The problem comes, when you try to refer to the Order of Precedence Table like this one:

Order of Precedence Table
Order of Precedence Table from


Does Order of Precedence have anything to do with Order of Evaluation?

In many of the lectures that I sit through in the university, I remembered there seems to be such a table on order of precedence of operators shown to us when we talked about order of evaluation. Hence, if we were to follow the charts like the one above, and this is pretty much the same for Java, C++, C#, the post-increment is ranked higher than the pre-increment. This means that the post-increment is supposed to be evaluated first. To me, this doesn’t make any sense. In fact, I thought that the post-increment should be ranked all the way at the bottom as the increment only takes place after the statement is completed!

If you look through Stack Overflow and programming forums, you might find that quite a number of them will tell you that operator precedence has nothing to do with the order of evaluation. Well, that could be a reason for this strange phenomenon then. But that would have meant that those professors taught us the wrong stuff! What’s going on here?

Anyway, does the order of precedence have anything to do with the order of evaluation?

I would like to refer to some materials from two articles:

Order of precedence for operators defines how expressions are built from their source code representations.


Quoting from the example found in, the operator precedence will be able to tell us that f1() + f2() + f3() will be parsed as (f1() + f2()) + f3() due to the left-right associativity of the + operator. Note, this still does not explain which of the functions, f1, or f2 or f3, will get evaluated first.

The above example, or at least that’s how I like to interpret, says that operator precedence has no relationship with the order of evaluation.

The precedence and associativity of C operators affect the grouping and evaluation of operands in expressions. An operator’s precedence is meaningful only if other operators with higher or lower precedence are present. Expressions with higher-precedence operators are evaluated first.

From Precedence and Order of Evaluation, MSDN

The article from MSDN seems to suggest otherwise.

The Experiments

MSDN states that operator precedence is meaningful only if other operators with higher or lower precedence are present. This is perfectly understandable or otherwise, there will be nothing to compare with. Hence, for my experiments, I decided to put pre-increment and post-increment operators in an expression where the variable is used again in a single expression, something like this one:

i = ++i + i++;

I understand that from, said statements like the one above are considered undefined behaviours.

Nevertheless, I did try it, and the experiments produced deterministic results. In the next few paragraphs below, I would like to share my findings with you:

Experiment Group 1

Consider the following codes:

int x = 1;
int y = x++ + x;

The value of y is 3. The post-increment does not happen at the end of the statement (or at least that was how I thought I was taught in uni). What is happening here is this:

  1. x++ gets evaluated.
  2. The x in x++ (ie. the first x) retains the value of 1.
  3. The increment will take effect for the second x, making the value of the second x, 2.
  4. Hence, y = 1 + 2 = 3

The example above shows that x++ does not wait till the evaluation of the statement before the increment takes place. In fact, it probably got evaluated first, which is in coherence to the operator precedence table. All the post-increment operator was saying is that the original x attached to the post-increment operator will not be incremented.

I experimented with expressions that contain both x++ and ++x, and it seems that x++ will get computed first before ++x as per the chart.

Experiment Group 2

Consider the following codes:

int x = 1;
int y = x + x++;

Now that we know that the post-increment operator will get evaluated first, I expected that the value of y would be 3, going by the very same steps I listed above.

Actually, the answer is no! The value of this y is 2.

Let’s consider another set of codes:

int x = 1;
int y = x + x++ + x;

In the above codes, the value of y is 4. How does that happen? This is my theory:

  1. x++ gets evaluated.
  2. The x in x++ (ie. the second x) retains the value of 1.
  3. The increment will take effect for all x that exist to the right of x++, making the value of the third x, 2. The first x however, because it is on the left side of the equation, will not be incremented.
  4. Hence, y = 1 + 1 + 2 = 4

I tried out with many more examples, using all four pre and post increments and decrements operators. The results seems consistent with my thinking.

As to exactly why this is so, I’m not sure. It might have been something to do with the memory stack or the way codes are compiled that it seems impossible to apply the increments towards the left. Anyway, this is definitely cleaner if there are a lot of increments and decrements that are found within the same statement.

Results of the Experimentation

I think I will refuse to give an actual answer on whether operator precedence equates to evaluation precedence. I probably can’t answer that based on the conflict material that the Internet had to present.



BIG DISCLAIMER FIRST: The next statement would be a personal opinion on how I understand and how I would like to see this whole situation as. I would like to interpret these findings as a yes, the operator precedence does affect evaluation precedence. Even if not directly, then indirectly somehow.


And based on the results of my experimentations, it also appears that pre-increments and post-increments have very deterministic rules as well, at least on the two systems that I am using:

  1. Post-increments will be evaluated first. The variable with the post-increment operator will retain its value. The same variable found to the right in the very same expression will be incremented as well.
  2. Pre-increments will be evaluated next. The variable with the pre-increment operator will be incremented. The same variable found to the right in the very same expression will be incremented as well.
  3. When multiple post-increments or pre-increments are found in the same equation, evaluation will take place from the left to the right.
  4. And yes, there is probably nothing wrong with the Order of Precedence table. It just is what it is.

Final Words

I hope you find this article useful. If you have any feedback or any other views on how it should work, please leave me a comment. I would love to hear more from you. 🙂

However, especially for those who are more confused after reading all these, perhaps a better solution is for us to stop writing complicated codes. I’m sure we can achieve the same computation across several statements rather than mixing variables undergoing increments with the same variables in a single expression. Pretty sure it will not make any difference to the performance of the application. Let’s keep it simple shall we?


How I Select and Make New Year Resolutions

It is another new year. Another time for me to start anew. I’ve only completed about 65% to 75% of my previous year’s resolutions but hey, at least some things get done and I have no qualms about completing those. And I intend to make it even better this time round.

Making new year resolutions is a habit which I had started about five to seven years ago. Time is limited and I wanted to do everything, learn everything and experience everything if I could but that is not possible. Then there’s also procrastination. Hence, I placed a lot of importance on the selection of the resolutions itself. I turn to Steven R. Covey’s The 7 Habits of Highly Effective People for inspiration.


7t hHabit

I’ve taken the above diagram from the 7th Habit: Sharpen the Saw from Covey’s book.  In a nutshell, Covey advocates that doing task from all these four areas will help to preserve and enhance the greatest asset we have, which is us!

In Habit 2: Begin with the End in Mind, Covey advocates that we should each have a mission statement and this will be used as our guiding principles in all things that we do.

My New Year Resolution Framework

I took Habit 2 and Habit 7, reinterpreted things a bit and came up with this:

New Year Resolution Framework

How do you use this? Well, the idea is to make a set of resolutions from all five categories, namely Financial, Physical, Mental, Social/Emotional and Spiritual. A plan needs to be made for each resolution.  Each resolution needs to be a SMART goal. Finally, share your resolutions with a few people you can trust.

Wait wait… Why go through all that trouble?

Here is where I hope to share some of my thoughts with you. If you can share your views on this, I would really appreciate it too.

The Five Categories

The five categories is a reinterpretation from Covey’s 7th Habit framework.

Spiritual: As Covey aptly puts it in his book, this is highly related to Habit 2. To me spiritual are actions that fulfills your life goals. For instance, if your goal was to set up a business, the main task of setting up the business will fall under the spiritual category. This is different from Covey’s interpretation where spiritual has to do more with self-reflection and meditation. I felt that it could include active pursuits that drives your mission and vision.

Mental: I interpret this as the knowledge required to fund your life dreams. However, not everything in mental supports solely your life goals. It should contain aspects to broaden one’s experience. This is just my way to inject something that can spark creativity and innovation in pursuing my life goals.

Social/Emotional: I must admit that I am still a bit fuzzy about this category but my resolutions in this category comprise actions that are highly people related or community service related. Family and friends always owns a permanent spot in my yearly resolutions. I also have a resolution about expanding my network of people who are willing to exchange views on my dreams with me in here. No man is an island and I don’t own all the knowledge in the world. Many of my success thus far, I owe it to people whom I have met and given me precious advice along the way.

Financial: This is an additional category I’ve added. I found that money is needed to fund for many of the activities that I need to undertake. I probably need some money to go for a course, to buy a book. It is always a nice thought to treat my family and friends to a nice meal one time or another, creating the environment to spend great times together better. Money can buy you happiness. It depends on how to spend it.

Physical: I’ll need all the energy I can get to accomplish my resolutions and here, I make resolutions that helps me improve both my physical and emotional well-being to improve my concentration. For my interpretation, meditation is relocated to this category.

Share with People You Trust

Accomplishing new year resolutions alone is a lonely affair (Captain Obvious strikes again haha). By sharing new year resolutions, I thought it does two things:

Firstly, for accountability, for someone to hold you accountable to what you have promised yourself can be a very powerful factor to push yourself.

Finally, if you are able to meet like-minded people, finding synergy in working out your resolutions together is a simpler task than working it out alone. After all, there are no rules saying that you can’t “copy” responsibly from someone else in life? That’s called collaboration.


Before I end off, I just want to drop a note of thanks to my friends, Kevin, Lences and Ivan for hearing me out that leads to this article. Especially to Kevin who spent three hours with me together working on his resolutions and mine. The gang from LusiGroup! Without them, there won’t be this weblog for me to incubate my ideas. I brought it to a hiatus for the longest time some time ago but I guess that is a story for another time.

Please share your thoughts with me. If you like it or hate it you can tell me too. I believe the comment box is found below~