9 Tips how to give a technical presentation

Everybody can give a good presentation, if she is willing to invest enough time. Here are tips for giving technical presentations.

This means it’s about cold, hard facts. Most of these talks are bad and boooring. A good presentation is hard work, no trick.

1. Buy a book about rhetoric

It is not enough to read one article to give an interesting presentation. Who wants to be a good speaker has to look into speaking.

You could start with the classical The Quick and Easy Way to Effective Speaking.

2. Content is king

You need content. If you don’t have anything to say, keep quiet. Many presentations are quite unsubstantial and need a flashy presenter. This doesn’t apply to us.

The content must be tailored to the audience. What knowledge can you take for granted? Underestimate the knowledge, but never underestimate the intelligence of your audience!

Fill your presentation! Every minute they listen to you, should be worth it. Every sentence must be important.

You often hear the first n seconds are important. They are not. Nobody will leave the room after 60 seconds, but often i know after 60 seconds, whether the speaker intends to fill or use his time.

3. Slow and clear

We’re talking technical presentations. Not wedding oration, not sales pitch, not advertisement, not political speech. This means to omit the filling stuff and go right to the core. This should be also true for the other occasions, but it’s essential here.

Don’t say the same three times in a row with different phrasing. It is better

to speak


and clearly

one sentence

after another.

Don’t read your content. Not from paper, not from beamer, not from screen. You have practiced enough to know your text by heart, haven’t you?

4. A good presentation has a climax

A good presentation has one -exactly one- climax. Try to summarize your content into one sentence!

Now minimize that sentence! It should have no comma and no “and”. Imagine your audience would memorize only one sentence from your talk – what would that be? You can say this. “If you keep just one thing in mind from my talk, keep this: A good presentation is hard work, no trick.

A good presentation has one -exactly one- climax. Don’t fear repetitions in this case. A good presentation has one -exactly one- climax.

The climax determines the rest of the content. Thus if you have your climax, you have a criteria, where you could shorten your talk.

5. Humor is permitted

Yes, you can joke. A funny picture to lead to another topic is permitted, as long as it isn’t too much and on topic.

Don’t laugh yourself! A speaker better has a wry sense of humor.

6. Slide design

You can find good tips at Presentation Zen. A nice rule of thumb is 6×6, though i favor 1×6.

Especially with a technical topic one is ensnared to use bullet points. It doesn’t help. It doesn’t stick. As the speaker, you will read the list point by point, with some intermediary “and” and “uh”, and bore the audience. Do it like Steve, not like Bill!

Animations? Cease and desist!

7. Darned technology

Beamers video projectors and laptops sometimes don’t get along with each other. Computers break. Shit happens.

Show up early and test the real equipment! Don’t trust this test and always carry an USB stick and your slides in pdf form with you.

Live demos are risky because of this. Sometimes it is worth this risk, sometimes it is not.

If it breaks, it’s your fault. Maybe it isn’t, but from the audiences point of view, it’s only you on stage. That directly leads to the next point:

8. Don’t apologize

Who is on stage doesn’t apologize. At least don’t say more than a quick “sorry”.

It doesn’t matter who or what is at fault. It is the responsibility of the speaker to cope with it. It only hurts your presentation in the end.

If you are quick-witted, you may joke about yourself, but return to the agenda as soon as possible!

9. Practice, practice, practice

You can’t practice enough.

The only exception is that you sound like you have practiced more than enough.

If you haven’t practiced enough , you can’t watch your audience. You can read people, whether they have understood, what you just said, or whether you should repeat that. Eye contact happens automatically. Even the “uh” will disappear.

A good presentation is hard work, no trick.

Published in: on September 12, 2007 at 9:09 am  Comments (25)  

Advice on writing a thesis

There is another Andreas out there and he wrote a nice post on How to write a thesis. He knows, because he just wrote his Master Thesis on the social dynamics of the Ubuntu open source community.

His advice is quite open, like “Be overly pedagogical!” or “Hack the data!”. Enjoy!

Published in: on September 7, 2007 at 8:08 am  Leave a Comment  

How to study computer science

“What school teaches computer science right?”, someone asked on programming.reddit.

My university is one of the best here in Germany according to the CHE rating. We’re officially elite, yet, this doesn’t guarantee a good education. It is possible get a degree and have no clue about programming, math and science at the end.

The question was primarily about the programming languages used, i.e. do the lectures use languages other than Java/C++. The right thing, as implied by the author and the community, would be to teach cool languages like Ruby, Haskell, Erlang and Scheme.

Does the choice of programming language influence the quality of education? No. Learning Java and C++ is a good thing, since most of the software is written with those, but a teacher, who uses Java/C++ for everything, even when it is inappropriate, shows a lack of wisdom for me. Trying to explain Functional Programming with Java is funny at best.

Unfortunatelly it is unlikely that you learn any cool language in any school. As with most things, you have to do that on your own. A university can only give you resources and opportunities. Everybody knows that lectures and pen&paper tests are the worst way to educate.

What you do with your time is your responsibility. Here is my list (mostly scooped from w-g), what you should do or learn:

  1. Programming paradigms – imperative, object-oriented and functional programming. Try to learn a language for every category. Example: C (procedural), Java (object-oriented) and Haskell (functional). If you know every style, you will program much better, especially when you use multi-paradigm languages, like Python, C++ or Scala. Addons are Assembler, Prolog and Forth.
  2. Algorithms and data structures – Complexity theory, optimizations, searching, sorting, cryptography, AI, graphics. Dig deep to the hardware level and learn about instruction sets, caches and architectures. Compilers and operating systems are the high end topics here.
  3. Abstract background knowledge – quite theoretical. Lots of math, formal verification aka model checking, Turing machines, lambda calculus and type theory.
  4. The human side – project management, design patterns, UI design, psychology. You will have to deal with people, who think very different than you. Managers, customers and co-wokers may not be “into computers” like you are.
  5. Practice – with the Open Source movement, you have a wealth of projects, who would like to get a hand or two. You’ll learn to deal with people and foreign source code. You’ll also gain familiarity with some tools like version control, IDEs and wikis.
  6. Creativity – don’t forget to do other things. Music, design, drama or whatever you like. Your brain has two sides and not both are for logic. Creativity and outside the box thinking can be learned and nurtured.
  7. Personality feats – university is a good place to develop yourself. Learn to work with discipline, to stay healthy and fit and to be social! Train good habits and starve the bad ones! Read a lot!

The choice of the university is mostly important for the piece of paper you get at the end. The education you get depends on you.

Published in: on September 3, 2007 at 8:59 am  Comments (25)  

Advice for students

Via Planet Ubuntu i read Aaron Toponces Good Advice For Computer Science Students. Read his article! For reference here is the short version of the list:

  1. Practice the fundamentals (For example solve exercises in The Art of Programming)
  2. Seek challenges (Write 100,000 lines of code)
  3. Practice, practice, practice
  4. Don’t forget about mathematics
  5. Develop a team spirit and to learn how to work well with others
  6. Encourage innovation, and don’t necessarily stick to the authors code in the books
  7. Work strategically (Part time jobs, pick good bosses/environments)

Originally this list seems to come from a Dr. Kai-fu Lee from Google China.

Published in: on May 26, 2007 at 9:55 am  Leave a Comment