How to Give a Tutorial Kenneth J. Goldman Washington University in St. Louis Based on a similar talk by Patrick Winston of M.I.T.
Always Start with a Promise (motivating the audience to listen) In this tutorial, you will learn how to Plan a tutorial Prepare a tutorial Practice a tutorial Present a tutorial
Make the Promise Catchy (so you can refer back to it easily) The Goal of this Tutorial: Learn the “Four P’s” of giving tutorials Plan Prepare Practice Present
Use Diagrams Wherever Possible (they’re more informative and memorable) The Goal of this Tutorial: Learn the “Four P’s” of giving tutorials PLAN PREPAREPRACTICEPRESENT
Plan the Tutorial Research the topic Become an expert Know your audience Make a list of key ideas Sequence them to “tell a story” PLAN
Allocate the Slides Allow 2 minutes per slide For example, 30min = 15 slides Title slide (1) “Promise” and Outline (1) Background (2) The Model/Abstraction (1) The API (2) Examples (5) Discussion of Problems/Issues (2) Conclusion (1) PREPARE
Prepare the Slides Begin with your “promise” Show an outline Play with an “open hand” Explain necessary background Tell a story Know the point of each slide Communicate the point of each slide Include only what you’ll talk about Review your promise at the end
Use Short Bullet Items changes andIt is not necessary to write everything you’re going to say on the slide. In fact, it’s distracting because the audience reads the slide instead of listening to you. The visuals become cluttered, and people miss the main point. You also want to keep the font large enough so people can read it, and avoid spurious formatting changes and distracting effects.
Text is Dull There is a client and a server. The server has a ServerSocket. The client connects to the server. Then the server gets a new socket with which to communicate to the client. The ServerSocket remains for other clients to connect to. Are you drawing pictures in the air?
Draw on the Slide! (speak the text) client server connect ServerSocket
Draw on the Slide! (speak the text) client server ServerSocket Sockets
Avoid lots of code boolean isAudienceLost() { if ((linesOfCode <= 5) || (text.font == courier)) return !point.isClear(); else if (numDiagrams > linesOfCode/3) return false; return true; }
Practice the Talk Find friends to critique you. Videotape yourself. Time the talk! PRACTICE
Present the Tutorial: Beginning Be nervous! See the room in advance. Memorize the first sentence. Speak slowly. Make your promise clear. Don’t start with a joke. Arrange to be in a bright right-sized room. People sleep in dark rooms. PRESENT
Present the Tutorial: The Middle Keep your main points in mind. Move around. Point to things. Wave your hands a lot. Talk about everything on the slide. Don’t read the slides to the audience. Go to the chalkboard occasionally.
Present the Tutorial: Taking Questions Do you want interruptions? Questions at the end? Make your plans clear. Ask for questions at critical junctures. Draw diagrams on the chalkboard. “I don’t know” is a reasonable answer. Defer long or tangential discussions. Thank obstructionists for “interesting points to think about” and continue.
Present the Tutorial: Ending End on time! Review your promise. Ask for questions. Don’t thank the audience. PLAN PREPAREPRACTICEPRESENT