I put this on for background noise during chores, but I found myself totally distracted. At 15:38 there’s one of the best explanations I’ve seen of the difference between imperative and declarative programming. Then there’s an explanation of the CodeWorld environment that starts with drawing pictures like I expected, but grows step-by-step into animated, then interactive, then networked interactive (!) games. And all of it with a great attention to the user experience of tinkering, error messages, etc.