So I went ahead and created my first Udemy course on Test Driven Development using Javascript and Jest. I really enjoyed it. I created the Game of Life (see the working example). The course was more like a prototype, or experiment for me - how to create a course. I learned a lot from it; it certainly wasn't 'easy'.
First step is deciding to do a course. Sounds simple? You have to give your intended product a name. You have to put it there, in the future. I have tonnes of ideas and a lot of expertise, but I like TDD and could do 1-2 hours on it. So that was my product. A test driven development course.
Next is breaking the course up into small achievable steps. A huge bugbear of mine is importance. Any subject is broken into a hierarchy of importances. There are usually only a few essential concepts in a subject. These concepts are usually related. More, less essential, concepts are related to the core concepts, and less important - more 'edge' or 'expert' - concepts exist, but chances of experiencing them day-to-day are pretty slim. Therefore, cover the essentials first, cover their interrelation, then any sub or related concepts, then more detailed concepts as and when. Not every concept is equal to all other concepts.
Another thing is to only teach one thing at a time.
Once you have decided on the course, created a syllabus, next it is establishing the area to do the recording. This was a problem. I live in London, but a relatively quiet area. Still, the odd car passing etc made it an unpredictable space. I decided to set up in the spare room at the back of the house. My entire setup is in the living room, so I needed to create a 'mobile' workspace. I needed to order a small desk. I got folding desk from Amazon for around £33. To get decent sound Udemy suggest getting an external microphone, I went for the Blue Yeti, great quality and look and feel are excellent. I also got a small sound shield and a stand.
Next step was to record a test video. If you haven't done a course before, Udemy ask for a sample video to be uploaded so that it meets their quality standards.
I use Ubuntu on a Huawei laptop (great kit). I used Vokoscreen screen capture. A big learning curve was the type of video codec (and audio) to use. My plan was to record on Linux, then use Final Cut Pro which I have on my IMac. This was problemsome to begin with. I had to use trial and error to get the right cross compatable video and audio codec.
Now I had the plan for the course, the kit, the software. Now it is doing it! A hard part was building up to starting. The solution was to just be myself and do it! Just like life, just be yourself. I made a LOT of mistakes, flubs etc. Thing is to not worry about it. You can undo, start again, and edit that bit out.
Videos were done. The next thing, which I find missing in life, is comradery. A single viewpoint is not ideal. So getting people to review and code review is essential. Also learning to take suggestions and critiques is a big thing. At the end of the day, this is QA, this is how you develop great products: continuous feedback. A couple of friends did this for me, and the feedback was quality.
Once you are happy you have to submit your course to Udemy. I did this and waited, and waited. Then a week later I realised my course had been published 5 days earlier! I didn't get any notifications.
All in all, this has been a great exercise for me to do. So in summary, here is the course creation algorithm:
Course creation algorithm
- Decide you will create a course
- Decided the subject of the course
- List essential concepts
- List less important concepts
- Organise a syllabus based on 3 and 4
- Establish a quiet place to record
- Procure equipment (hardware and software)
- Record, commit code
- tell them what you are going to teach them
- teach them
- tell them what you taught them
- Share and get feedback
- Redo 8 or create new videos, or update code, or both
- Publish
What would I do differently?
One thing I forgot to do is implement this concept in teaching:
- tell them what you are going to teach them
- teach them
- tell them what you taught them
I also need to make the videos more slick. Some videos ended abruptly. I should have frozen the last frame and faded out.
I'm a visual person, so one thing I felt totally lacking is diagrams. I'm looking into using Blender for this (quite a learning curve).
Next time I'll record an intro video too.
Feedback
One thing I find lacking on Udemy is course feedback. The star ratings vary widely, my lowest 2 stars to highest 5 (out of 5). Currently 4.04 overall at the moment. People do not leave feedback on how to improve.