How I'm preparing My First Course - Issue #2
Preparation, Structure, Recording
This week was mostly about preparing the material for my upcoming course.
I did two live streams and created the example applications for the course in a collaborative manner. Everything is on GitHub, you'll find the links below.
You can also watch the recordings on my Twitch channel https://www.twitch.tv/akoskm0.
Thanks to everyone who joined.
I can't promise that I'll be streaming a lot - TBH it's really exhausting to code AND talk 3 more hours after an 8h workday.
I did it 3 days straight, learned a ton but also reached my physical/mental limits.
I literally started feeling sick - more about this in the next issue.
Preparation
The structure of the course is born after watching the following video:
There are tons of videos on YouTube on course creation that tell you generic things. I was looking for this video specifically.
The exact steps, how I'm creating the structure of my course if I already have an idea.
What does the course need to include besides what I'm teaching?
I took a ton of notes after this and this is was my main influence.
This course will have 3 main modules with each having a few short - 4-8min long lessons in it. These are the modules & lessons:
Structure
#1 Introduction
What this course is about? Who the target audience is?
Where you are now, where you'll be after completing this course?
What is testing and why you should test?
I'll talk about software testing in general, bring up some real-life examples from my career that thought me: testing is not optional.
Frameworks
This is going to be a short section about the similarities between different testing frameworks.
I want all knowledge you get from this course to be as widely applicable as possible.
This is why it's important to me to explain the differences when working with a different framework other than Jest.
A few words about Jest and why you should use it
I'll be doing this course with Jest. After trying different testing frameworks the past 5 years I picked Jest for its simplicity.
#2 Testing Basics
This section shows you the basic building blocks of probably every testing framework out there:
Setup
Blocks (it, test, describe, etc.)
Matchers
Spies
Stubs
"Lifecycle" functions (before/after Each/All)
This should be the most reusable part of the course.
#3 Testing Apps
This is the part where I'll be writing tests for the 3 different applications we made on the stream:
VanillaJS - https://github.com/akoskm/javascript-testing-basics-vanillajs
Express - https://github.com/akoskm/javascript-testing-basics-express
React - https://github.com/akoskm/javascript-testing-basics-react
Recording
I'll begin recording these pieces next week, starting from section #3 and working my way back to #1.
The reason why I'm recording backward (#3, #2, #1) is that in case I explain something while writing the actual tests that I realize is not in the previous section - I don't have to rerecord the previous section.
I've got this idea from Mike @htmleverything who's my accountability partner in all this, so, thank you, Mike! 🙂
Some questions for you!
I'd like to hear your opinion about the structure of this course.
Is there something that you would love to see there that I didn't include?
How did you learn software testing?
Was it out of necessity or you were simply interested in learning it?
I'm curious about your background in testing, so hit that Reply button and let's have a chat!
That's it for this issue, thank you for following this newsletter!
My primary goal with this newsletter is to give something to YOU.
If you have suggestions about what you would like to see here, simply reply to this email or send me a DM on Twitter.
Happy Friday ❤️
See you in the next issue!
- Akos