DR. SURLY’S SCHOOL FOR MAD SCIENTISTS
Dr. Surly's School for Mad Scientists is a curriculum to promote good embedded software practices and techniques. The series uses real-world examples, free open source tools, and humor to guide you through unit testing, interaction testing, and many other embedded software topics. So you too can take over the world.
COURSE 1: Unit Testing & Other Embedded Software Catalysts — AVAILABLE NOW!
COURSE 2: Interaction Testing, Mocking, & Embedded Software — AVAILABLE SOON!
Developing An Actual Embedded Software Project From Scratch in C.
(In fact, this entire course is one large real-world project)
Mocks and Stubs and how they accelerate Testing.
The course's build environment is now available for preview.
Testing Those Hard-To-Reach Places.
ENROLL & code real tests today
The first course requires about 8 hours to complete. You will spend the majority of this time coding. The course materials include 3 hours of video in lectures and screencasts oriented around real world projects. You also get a variety of supplemental materials to support you beyond the main lectures.
We made a few lectures of the first course available for free preview to give you a good sampling of the material.
YOU ARE SMART & Capable
You are a developer of embedded and systems software. That’s especially challenging work.
You may or may not have heard of Test Driven Development (TDD).
But you do care about quality code. You care about meeting deadlines. You care about improving your skills and becoming even better at what you do.
WE CAN HELP YOU GET EVEN BETTER
We’ve been on a quest to improve embedded software for a long time. We’ve spent years working with TDD. We’re creators and contributors to open source testing tools. We’ve taught others at conferences, through blogs and books, and through onsite training and coaching.
Now we’re sharing what we know through this online course.
THIS SERIES is the Real Deal
You will code on your first day and develop real-world projects as you progress. No toy examples!
We’ve released the first course, including dozens of lectures, high-quality projects, plus a whole bunch of supplemental guides addressing issues outside the main lectures. We teach you the basics of unit testing. We introduce you to Unity, an open source testing framework for C. We show you how to test embedded and system software despite their unique challenges. And we organize everything around working with actual test code as quickly as possible.
We are now working on Course 2. This next course will get you started with a large-scale, end-to-end full project using all the techniques of good state-based testing from Course 1 and build upon these, training you in interaction-based unit testing with mocking. In the end, you will have built a well tested, useful, real-world application (on real hardware if you purchase it).
Prepare to take over the world…