A lot of course authors, especially when they are creating their first course, is too afraid of too many things. They may be thinking:
These insecurities and questions are understandable but they are the wrong thoughts. Let me address each of these questions as well as a few other questions.
My answer: It doesn't matter. A good course is not a course that covers everything about that topic. A good course is a course that saves students a lot of time. For example, if you learned that topic a few months ago or have known a topic for a few years, ask yourself "how long, in hours, did it take me to learn what I know about this topic?". Reflect and come up with an answer and write that down. Then ask yourself, "how long, in hours, do you think you can help someone to get to where you are right now, in terms of knowing what you know about that topic?" Compare the two answers. If there are dramatic differences to these two answers, you know you can create a course that can help the students learn.
For example, when I created the first Ruby on Rails course, I was not an expert yet. I had learned Ruby on Rails for about a year but didn't think I was an expert on the topic, yet. However, I knew what took me a year to learn, I could probably help my students learn these concepts in a few weeks. My drive for making the course was to help my students save time, especially as I have spent countless hours going through lots of tutorials and documentations and where I felt like I was wasting so much time.
When I created the first Node.js course, it's a similar scenario. I spent over a year trying to learn Node.js, and was blown away by how crappy the documentations were! In fact, only material I found were alphabetical list of every function available in Node.js and none of the documentations I could find talked about why Node.js was used, why it was so different from other languages, and why it's so hot back then. It took me more than a year trying to learn Node.js and I spent hundreds, maybe even thousands of hours, struggling to learn and gather valuable knowledge. After a year, I was so frustrated that it took me that much time to learn just what I have learned. I was driven to create a course where no one would waste the enormous amount of time like I did and I vowed to try to create a course where students can learn what I learned in a matter of days. After all, no one should really spend that amount of time going through needless documentation right?
There is also another benefit when the course is created by someone relatively new to that technology vs someone who has been doing that technology for years. Often, an expert loses the beginner's mind and they can't relate any longer to someone who didn't know that technology, a beginner. This results in a course that's often too complex and too hard to understand for the students. It leads to a poor course where most students wouldn't have a good experience and where they would leave more confused when they first began the course. It may give impression to the students that the teacher is really smart (or should be smart as they didn't really understand what the teacher was trying to teach) but it did not prove to be an effective course, as again effective course, are courses where students digest the materials quickly and where they can really internalize key concepts quickly/easily.
This is not the right question to think about. Above question is fear driven where a lot of times, you're thinking about your own securities and whether people will listen. You may feel like you need to know everything about that topic before being able to teach that topic. That's not right either.
As for almost everything in life, for any given technical topic, for example any programming language, library, or framework, or anything else, 90% of the materials are useless, meaning you will never really use them for anything! There are usually 10% of the content where it's the fundamental building blocks for that technology. If you have prior work experience, you'll know this is true as most of what you've read in a documentation, you would have never really used but where you keep coming back to specific part in the documentation where you keep using over and over.
What a good course needs to do is to cover the fundamentals, the key areas where the students must really know. It should not teach everything about that topic, especially areas that are "nice to knows" but not a "must to knows". Plus, know that if you were to create a course with EVERYTHING, how would that be different from the official documentation for that technology anyway? Isn't your goal to provide a more effective learning path for students to reach mastery rather than the path one would have taken if they were to go through the official documentation, where every single concept is presented in detail, regardless of whether that concept is really critical or not?
Again, you should NOT cover everything about that topic. You should focus relentless on the fundamentals and teach those fundamentals first. Then, later when you have the time and your course was proven to be effective in teaching the fundamentals, then you can introduce advanced concepts (if needed). Do not overwhelm yourself thinking that you have to teach everything. That's not right.
I understand. I too worry about this when I teach a new topic, especially ones that I haven't learned yet. Everyone has some fears about teaching new technologies. Whenever you have this thought, think back on what the goal of the courses are. The goal is to help students save time. For example, what you could learn in say 150 hours, if you could help students learn in 10 hours, your course is 10 times more effective than what's out there. If you could teach what you learned only 10%. faster than how you've learned them, then, either your course was not effective or whatever course you took to learn the new topic, was already really good and maybe there is no need for a course you're creating. Generally, for me, as a rule of thumb, I try to create a course that's at least 10 times effective, meaning what would have taken me say 1,000 hours to learn (and filter through all the crap), I would like students to learn in about 100 hours.
Now, when you're really focused on the students and their learnings, you will find that your fear about how they will perceive you, becomes less important and you're more focused on genuinely helping them. A lot of students will find value in your genuineness and appreciate what you have put together. You will always have some students who will complain and tell you how come you're not teaching A, B, and C. When those moments happen, take a deep breath, learn about A, B, and C (if you don't know these already), and evaluate whether those are really must to knows or whether those are nice to knows. If they are nice to knows but still important nice to knows, you can always add these concepts as reference for students to study, AFTER, they have mastered the fundamentals. If A,B, and C, are fundamentals that you wish you knew earlier, you should thank the students for pointing them out to you, incorporate them into your course, and let your students know how you've added A, B, and C, and then thank these students for giving your valuable feedback. Both students who pointed out these areas will feel appreciated and your other students who are currently taking the course will appreciate that your course is being updated to benefit them. Operate under the mindset of care instead of fear. Things will work out if you're working under this mindset.Next