Embedded

View Original

Teaching an Online Class!

I am getting ready to teach a 10-week embedded systems course at Classpert. There will be video lectures with quizzes, homework and reading, synchronous classes with discussions, and a critiqued portfolio-worthy final project.

The course is centered around my book, Making Embedded Systems. We’ll go through the book chapter by chapter. The video lectures expand on what’s in the book, going through much larger examples than fit in the book as well going through code and datasheets. My goal is to make it seem like we were sitting at a desk where I’m showing you in more detail what I meant in the book or expanding on how the ideas are used in real work.

The reading will be one chapter a week, kind of like a book club with other interested (and interesting) people. The Discord server will let you talk to the mentors and other students. There will be exercises to reinforce the video lectures as well as providing discussion points for the synchronous classes. 

The classes will be held Saturday morning Pacific Time, at least for the first cohort. We’ll definitely have another cohort starting early 2022 and I’m hoping they run quarterly (with different class times). The course is 10 weeks long (with time off for holidays). You should expect to spend 5-8 hours a week. Some of that will be in these live classes where we talk about the homework, projects, interviewing, and whatever questions come up after the lecture.

The final project will be something on a Cortex-M platform. I’m recommending an STM Discovery board but we’ll support mbed boards as well. And we’ll allow anything with a Cortex-M (but you’ll be on your own with compilers and hardware). You’ll turn in a report, a video, and code (so if you are using a work project, you’ll need to make it ok to share sans NDA). This is supposed to take you about 15 hours to do but if you don’t keep up with the homework exercises, it will take longer. There are some requirements (a button with interrupt, state machine, a few peripherals) but the application is left open to your imagination. We do have some ideas if you want them but I’d rather you implement your ideas than mine.

Like my book, the course is for people who want to do embedded software professionally. I expect you’ll know C or C++, maybe from your job as a software engineer or maybe because you’ve picked it up as an electrical engineer. Now that you’ve eagerly taken on the role of embedded software engineer (or somehow ended up with this project because you didn’t object quickly enough), how do you make it a good system? How do you make the software robust? Is there a way to write less code and get the same thing done? 

I’m excited and nervous. It is coming up really fast. I look at the mountain of work, sigh, and keep climbing. I really want this to be good. I want people who take the course to feel confident in their skills and excited about embedded systems. 

While we filled up the waitlist really fast, not all of those folks have signed up for the first cohort. There are still seats available!

P.S. They let me name the cohorts. I wanted something where I could tell what cohort (first, second, third and so on) as well as something that goes with some of the ocean themes (check out my class logo, isn’t it wonderful?!?). The order is rainbow (Roy G Biv), the first cohort is Red Jellies, second is Orange Stars. The third is not Yellowfin Tuna. Sorry. It was tempting but no.