Better Technical & Code Presentations

Ideas for a presentation for maximum understanding and a lasting impression.

I recently made a couple of presentations about C++, my favourite language, the one that I have a deep-ish understanding of. Obviously, they were all about code being about programming. You can watch them on YouTube here.

Personally, I feel the following tips are the better ones to stick to:

  1. Use different fonts for code and natural language.
  2. Code must be syntax highlighted. It is not just plain text. Show it the way everyone is used to look at it. Keywords, control statements, types, variables, comments, etc. should have their own distinct colours.
  3. Use a consistent font for the code. There should be a theme that the audience quickly recognises and follows subconsciously to recognise parts of your slides containing code and other natural language points. Personally, I prefer ‘Courier New’ for code. It is okay to lift code from elsewhere but it is your responsibility to make consistent.
  4. Code font must at least be a certain font size or larger. One should not have to look around on the slide to spot the code that you are talking about. Also, this is a good way to find out if you are putting out too much code on a slide.
  5. Use animation to bring out code gradually to make your point. If all the code becomes visible at once, the audience will be distracted with code hunt. This needs a lot of thought and planning to go behind the talk. But you got to do what you got to do. Let the constructs appear one by one enabling you to make the point.
  6. Use shapes like rectangles, circles, underlining to focus attention to the part of code in discussion. Use arrows to show how code could evolve/change/move from one place to another as you build upon your concept or point.
  7. Name your constructs well. Guess what, if good naming aids code understanding in codebases, don’t you think understanding is the whole point of the presentation? Do not use with f, foo, bar, T unless you are presenting something so generic that you cannot give a proper name.
  8. Make your point with realistic examples. Often, concepts are well understood but application in real-life scenarios is a problem. The presentation should show also how concepts can be applied. This helps drive him the point.
  9. When building upon a concept over multiple slides, duplicate slides rather than make new ones. This is the most consistent way to ensure everything stays exactly where it was on the previous slide and helps the audience notice exactly what you are changing.
  10. If it helps, put out line numbers on code. Alternatively, you could highlight certain lines of code with an attention focussing comment.
  11. During the talk, use a digital pointer laser pointer to point out particular parts of the code. Often, the mouse pointer disappears and the audience doesn’t know where to look. Use the laser pointer, don’t penalise your audience if they temporarily were distracted.
  12. Plan for the digital audience even if you are presenting in person. Many presenters point out at some code lines during the presentation on the projection or by mouse. This does not get captured in video recordings (not properly, if at all), and is a loss for the quality of your presentation when videos are made available online. Do what you can to use digital pointers or digital pens or highlighters to have all aspects of the presentation captured for eternity.
  13. Use a different colour scheme to highlight the key errors/pitfalls/aspects. Break the monotony for important points. e.g. have a highlighted background to show key errors or show program output.
  14. Highlight conclusions with a different font size and colour that makes them stand out. They are the reason you are presenting!
  15. Have bullet points with minimum words and skip the grammar when making points in natural language. The last thing you want is for the audience to read the slides totally miss what you are presenting. They can only do one of two things – read or listen – as both are language processing activities and only one can happen at a time.
  16. Present data in easy to ingest forms graphs, pie charts, infographics, etc. Use tables sparingly as one does not see the point highlighted. We are not good at number churning!
  17. Use images to highlight points. Word clouds are also images – use them to your benefit. Some general ideas would be to show the before & after, the final application, a screenshot of an error, even a gif. If you can, add a humorous one. Use the cliches to come up with an image assisting your point.
  18. Choose a calm, non-distracting background.
  19. Include a list of references and other reading on the topic. You may not present this slide in the talk but it is a good reference for the audience for later.
  20. When it comes to presentations, less is more! Do not cram a lot on the slides, stay sparse, highlight the point. You can cover any detail in the talk.