Not sure if mentioned in the thread, but:
I tend to make a distinction between learning a programming language and learning programming in general. I believe learning how to approach problems with a programmer mindset will take you further than simply learning to code, although through a bit more difficult/longer path.
In this sense, I'd actually suggest that you start looking into algorithms, and how the solution to problems are thought out. Even if you don't go through the mathematical analysis of them, you will benefit greatly to see how the approach 'identify the problem -> divide into manageable chunks -> solve each chunk' is applied in many domains. Programming languages are simply tools, and you should at one point be able to choose one based on what you want to tackle, not the other way around.
A series of steps from the top of my mind, which might be outdated, you could do is (there is actually a lot in between each step to help you to learn in depth, but I suppose college you help with this also):
1) Program a simple calculator
2) Program a hanged man (I guess that's the name in English, at least) text game
3) Program 2 cars crossing an intersection (again, text, but think car speed, waiting, and so on. Requirements can be what you want, as long as it is 'Real time')
-- You can try some other similar programs/problems to get comfortable with the concepts ---
4) Learn some sorting algorithms
5) Binary search trees and then B* trees (search, insert, delete)
7) Matrix multiplication
8.) Average Blur of an Image (or any other kernel based operator, but this one is simple enough)
9) Simple collision detection
9.1) Collision with space partitioning for optimization
This list is by no means exhaustive, but should give you a good idea on how to go about. I also suggest I implement (or re-implement) them in a couple of languages to get a feeling for what they do well or not.
In terms of book you could use, if I recall correctly, I used Deitel & Deitel How to Program (for the coding stuff) and Cormen's Introduction to Algorithms (for the maddening algorithms part, save this for waaaaayyyy later).
Hope this helps