Oops, deleted my comment. Reposting it for context:
In addition to Project Euler, I should point out the USACO training pages—that’s where I learned a lot of basic algorithms, data structures, techniques, though I never did make it past chapter 3, IIRC. (The whole thing has been overhauled in the intervening years and I now can only access the very beginning—apparently it now requires solving each problem in a section to move on rather than just most of them...) Project Euler looks to be more basic? Also note that USACO training pages require using one of C, C++, Java, or Pascal, not any of the languages people are recommending. So in conclusion this may be more useful later rather than now...
Oops, deleted my comment. Reposting it for context:
In addition to Project Euler, I should point out the USACO training pages—that’s where I learned a lot of basic algorithms, data structures, techniques, though I never did make it past chapter 3, IIRC. (The whole thing has been overhauled in the intervening years and I now can only access the very beginning—apparently it now requires solving each problem in a section to move on rather than just most of them...) Project Euler looks to be more basic? Also note that USACO training pages require using one of C, C++, Java, or Pascal, not any of the languages people are recommending. So in conclusion this may be more useful later rather than now...
(Also edited in a reply to your point about programming languages now.)