- the Python courses got me up-to-speed on the basics of that language: https://ocw.mit.edu/courses/6-0001-introduction-to-computer-... and https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-pr...
- Structure and Interpretation of Computer Programs served as a disciplined review of a book which I wasn't patient enough to do the exercises of when I first read it: https://ocw.mit.edu/courses/6-001-structure-and-interpretati...
- Mathematics for Computer Science helped make up for my spotty math: https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-...
I've also found the recent book:
https://www.goodreads.com/book/show/39996759-a-philosophy-of...
very helpful (first reading I did one chapter at a time, re-writing my current project applying the principles of that chapter) --- interesting video overview at:
https://www.youtube.com/watch?v=bmSAYlu0NcY
If one is fortunate, there are videos on specific subjects/algorithms which one needs, e.g.,