I wrote a book with Manning Publications called Tiny Python Projects. The coding exercises was created over the last couple of years teaching beginning Python skills at the university level. I found that giving my students tests and having them write code to satisfy the tests took all the guesswork out of assignments. It gave the students a clear guide to what was expected, and failing tests include the feedback needed to correct their programs. I think that test-driven development is often saved as some sort of advanced topic or it is expected that people will learn when they move to industry. I think it’s better to teach it right at the beginning to novice programmers so they will internalize the ideas of testing and will therefore write better code. I hope this book teaches that.