"Think Like a Computer Scientist", right after an introductory course where I learned to program (only to discover that for-loops were done by myself when I was a teen and didn't even know about it, writing macros to level up skills in Ultima Online RPG.)
Best of luck! Sounds like a pretty good idea, actually - I just grabbed the .pdf for the manuscript of the Python version of the book from http://greenteapress.com/thinkpython/thinkpython.html and sent it off to my Kindle for a rainy day.
I am trying to learn; currently reading how to think like a computer scientist on Green Tea Press.
Most language books and language tutorials are NOT written for beginning programmers. They assume you get concepts like flow control (branching, looping, etc), functions, recursion, and data structures. Even if they cover (e.g) "what is branching" it is almost always from viewpoint of "here are the specifics of my language". Basically, they assume a certain level of programming knowledge. Advice like "just do a project" is good, but again, it is geared towards people with a certain level of understanding. However, it also works for novices, albeit more painfully. A lot of what you say about…
The book I would propose for newbies is "How to think like a computer scientist" by Jeffrey Elkner, Peter Wentworth, Allen B. Downey and Chris Meyers. Last release is from 2012 and uses Python 3 and it is freely available under GNU Free Documentation License. Link: http://howtothink.readthedocs.io/en/latest/
I'm not a big fan of the O'Reilly books on Python, but if you prefer the style of Learning Python, you can't really go wrong. Most of the basic Python tutorials teach more or less the same material, so you won't miss too much by choosing one tutorial over the other. I personally recommend How To Think Like A Computer Scientist (http://openbookproject.net/thinkCSpy/). It doesn't cover everything in 2.5, but I think most of the stuff in 2.5 you're better off just reading the release notes after you have a basic grasp on the pre-2.5 stuff. You're going to be reading a lot of code to master the…
When I started, I read "How to Think Like A Computer Scientist: Learning With Python" Since then the revised edition has had a draft out, " How to Think Like a (Python) Programmer". This series is really good at getting the basics down clearly and quickly (I read through it in under a week). After that, Dive into Python fleshed things out more for me. http://www.greenteapress.com/thinkpython/
I really liked How to think Like A Computer Scientist http://openbookproject.net/thinkCSpy/index.xhtml A friendly way into programming in general and uses Python. Also, there are ways to connect R and Python.
It's also possible that it was the scenario others have mentioned -- there's a very wide range of incoming abilities in intro cs classes, from complete newbies to high school students who could out-program half of the HN crew. (Seriously - I had one working for me for the summer before he started as a freshman at Berkeley who was the equal of many Google engineers when it comes to C++. Yes, quite unusual, but there's at least one such person.) As a consequence, it can be easy to lose 20+% of the class, and when they get lost early in intro classes, they stay lost, because the concepts…