As a Business Advisor, I used to spend a good chunk of my time teaching various courses (and speaking at conferences in Europe and the US).
I no longer have the time to speak regularly, which is why I’ve shifted to my blog, LinkedIn, Quora, and other virtual venues serving a broader group of people who can benefit from my content.
Preparing for Technical Courses
Since I used to give regular classes on some topics, I had to polish my materials on a regular basis by doing research, testing, and exploration (to keep them up to date).
Whenever a new inquiry comes in, here’s what my preparation process looks like.
There is a variety of new technologies to be covered and I have to prepare materials from scratch for them after receiving a company request.
What comes next are:
- Meetings with the client, various managers, and members of the target auditory (trainees)
- Precisely calculating the number of hours needed
- A breakdown per topic or the main chapters of a training course
- Assessing the group’s level of knowledge in the field (gauging complexity and introduction to the area of study)
- Accounting for the ratio between theory and exercises needed (unless it is a seminar-based course with no labs)
Forming the Right Training Group
Targeting and gathering the right training group is crucial.
While testing the waters, I do send some quiz-based forms which cover subjective evaluations from the trainees as well as technical questions helping me to figure out their level. I take an average of these results and their own personal marks (subjective assessment of theirs).
Forming a group of the same level is important for the pace of the course which should neither be too quick nor too slow.
Normally, for a training we need to do a research of the technology even if we’re well acquainted with it.
It helps kicking off with some history at first (project creators, release date, where did inspiration come from), related technologies (comparison tables), current release and newest features. I have to create an agenda of topics and topic contents as well – just as books do. Then I need to design a structured material, put some code samples, graphics (diagrams), create demos and exercises for the people if needed. So we have extensive slides, demos on-site and exercises for the labs or at home.
An Action Plan for Building Training Slides
I usually follow the same pattern creating a course content. I do create skeletons of presentations and estimate very roughly in a matter of time. Then I follow this flow. Here it is.
- Check previous training course folders. Since I’ve trained a number of training classes already, there is a chance that I can reuse some presentations or at least slides (graphics, code samples, comparisons, stats) for the current training as well. I could also mix 3 presentations and create a pretty neat and useful one here.
- Check out Slideshare. We’re creating slides. Then why not we check for other slides from authors and see if we could learn anything new or gain inspiration about demos and labs.
- Google for other similar training courses. Since I’ve already built my skeleton and my timing, it’d be great to compare it to several other training classes out there. This could be _very_ subjective as it depends on the level of understanding of the group, the type of the training (lectures, samples, Q&A, labs, other) but still, some synchronization could be done based on similar training programs.
- Search for tutorials and FAQ. Straightforward, browse online for tutorials and FAQ sections that could help adding some piece of information or example in the slides.
- Google with filetype:ppt. An extra slideshare search addition for other presentations all over the world. I managed to find a Chinese presentation once that was not readable for me, but 2 of the graphics were very helpful.
- Check for libraries and demos. Sites such as Java2s and other resources are so-called ‘code repositories’. Same goes for GitHub and sourceforge and more, so you could find great sample projects or code snippets, well documented there.
- Check on YouTube. I used to not search for video tuts for several years, but the latest trends show that many techs are covered as video tutorials and samples on YouTube which is great. So use it as an extra resource.
- Google for standard search phrases for the technology X such as: X examples, X demos, X code samples, X library. It helps.
- DZone/Reddit search. Social bookmarking sites and directories could be related to the tech you need to cover. Try them as well.
- Amazon. Similar to the training courses, check for books (to purchase if needed) or see the agenda and topics covered – you might have missed something important in your scope.
- #yourtechhere. Twitter has too many people so they could talk about what you need. The chance to read spam is high, but you could find rare facts there.
- StackOverflow/Nabble – super interesting Q&A questions for the most frequent issues with the tech could help for the support panel. You can even find the authors of the product you write about.
- Podcasts. Still not that popular, but you could download some audio material to your player and listen to it as a study book. Some universities even have open courses.
- Cheatsheets. I love them all. They have structured content with graphics or tables for the most important phases on every popular (and not so popular) technology. I even tend to give them to students while doing some exams to help a bit and use their reading memory.
Gathering all of those techniques together ends up with a comprehensive set of slides and a collection of exercises.
Using the approximation of time for the course (or the predefined budget) can help you define the scope of work and the flow of each separate presentation.
What are the main techniques you employ while preparing to deliver a course?