This online book is what inspired me to develop Pythonroom (pythonroom.com) - I wanted shorter curriculum that my younger students could more easily digest, and a cleaner interface for running code with the in-browser implementation of Python. In case someone is interested, our introductory book is freely available at https://pythonroom.com/book/learn.
This was my first book on learning how to program (the original edition) and I couldn't recommend a better resource for beginners. I tried for a long time to learn how actual programming worked instead of just wiring together HTML (before CSS was even a thing) and this really helped.
It taught me how /programming/ worked as told through Python, instead of how Python worked. Even for new engineers looking to learn JavaScript or something else first, I highly recommend starting here, because with this as your foundation, you're set.
I have found this resource to be extremely useful in going over data structures and algorithms to prepare for interviews. Although the author doesn't always conform to the standard implementations of certain data structures and often is overly verbose in his code, it is a pretty robust treatment of the basics
Brilliant! This will be a huge help to aspiring programmers. The PDF link i used to send to people and now i can point them to this. Oh and i might spend a few hours doing some of it myself - old dog learning new tricks.
The click target for the arrows to go forward/back is much too small. Need to add some padding so they're a good size. They could probably be positioned better too, maybe centered vertically with the top frame with the written content.
The "Codelens" feature for step-by-step program execution only works for the pre-programmed examples. If you want the same visualization for your own programs you can use pythontutor.com
I used to this site for the Intro to CS course I taught. Coupled with slides and assignments, my students were perfectly capable of handling most of the work I threw at them. I'm actually looking at how its user interface is laid out to see if we can help build better course UIs (since they can be atrocious).