If you want a fundamentals-first perspective, I definitely suggest reading SICP. I think the Python course may have gone in a slightly different direction (I never looked at it) but I can’t think of how you could get more fundamentals-first than the book.
Afterward, I suggest out of your list Concepts, Techniques, and Models of Computer Programming. That answers your question of “where do I go to learn about each of the different paradigms.”
This is more background than you will strictly need to be a useful data scientist, but if you find it fun and satisfying to learn, then it will only be helpful.
If you want a fundamentals-first perspective, I definitely suggest reading SICP. I think the Python course may have gone in a slightly different direction (I never looked at it) but I can’t think of how you could get more fundamentals-first than the book.
Afterward, I suggest out of your list Concepts, Techniques, and Models of Computer Programming. That answers your question of “where do I go to learn about each of the different paradigms.”
This is more background than you will strictly need to be a useful data scientist, but if you find it fun and satisfying to learn, then it will only be helpful.