How to Create a Course Outline

January 21, 2021

You’re ready to create a course for your product. What’s the first step?

Just like writing software, creating a course starts with making a plan. Below is our process.

Step 1: Questions

  1. What is the end goal? What should a student know/accomplish when they’ve finished the course?
  2. What assumptions do we make? How will we help people who aren’t at that point yet?
  3. Where can users get stuck? What are likely drop off points?

Step 2: Write the Titles

Given the known starting point and the end point walk through step-by-step how you’ll get there.

Each step should teach 1 thing.

egghead.io suggests to their instructors to think about titles starting with “How do I…”

If you preface each title with that you’ll be likely to stick to the teach one topic at a time philosophy.

Step 3: Write the Code/Take the Actions

This is such a critical step. When we’re close to a product/tool we think we can break things down into a step-by-step approach but unless we actually go through our outline we’re likely to skip a critical step.

So spend the time and go through it step by step. You very likely will realize that one or more of your lessons is actually teaching multiple things.

Break them up into shorter lessons that teach one thing at a time.

Additionally, if you end up doing a video course, these code examples/actions will make recording the videos so much easier as you always have a reference point to come back to.

Example: Deep Links with React Navigation

Here’s an example of this process from React Native School on configuring React Navigation to handle deep links.

  1. What is the end goal? A user should be able to open their app via a deep link or universal link on iOS or Android using React Navigation.
  2. What assumptions do we make? They’re already familiar with the basics of React Native and React Navigation. They’re notified in the first lesson of what the requirements are and where to get up to the level of knowledge to proceed. Given their existing knowledge, they’re given a starting project so we can focus on the topic at hand vs. setting up a new project (respecting their time).
  3. Where can users get stuck? Changing API versions could cause issues/confusion so we need to make sure we keep the project up to date and/or ensure you have the versions clearly designated. They could also get confused/overwhelmed when working in the different languages of the native projects.

Next, the titles.

  1. Introduction - What will they learn?
  2. Project Setup & Overview - How to get the demo project running.
  3. Configure Deep Linking on iOS - Setup the native iOS project to accept deep links.
  4. Configure Deep Linking on Android - Setup the native Android project to accept deep links.
  5. Configure React Navigation to Accept Deep Links - Connect React Navigation with the existing native deep linking infrastructure.
  6. Using Parameters with Deep Links - How to access unique parameters from a deep link.
  7. Get Data when Using Deep Links - Using the parameters in a deep link how do we get data?
  8. Universal Links on Android - Configure the Android project to also use Universal links with our existing setup
  9. Universal Links on iOS - Configure the iOS project to also use Universal links with our existing setup
  10. Wrapping Up - Further resources/next steps.

Each lesson teaches one thing - it makes tracking progress easy and makes this course a good reference. Don’t worry about a lesson being too short. If a lesson stretches to 10 minutes it’s a good hint that it is likely too long.

Tip: You should never have to write “and” when writing a summary of a lesson.